forked from vju42/ucaas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprofilephonenumber.js
91 lines (77 loc) · 4.27 KB
/
profilephonenumber.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// ==UserScript==
// @copyright Copyright IBM Corp. 2017
//
// @name profilephonenumber
// @version 0.1
// @description Enable Phone Number to be a TEL: Link
//
// @namespace http://ibm.com
//
// @author Volker Juergensen
//
// @include *://apps.collabservintegration.com/homepage/*
//
// @exclude
//
// @run-at document-end
//
// ==/UserScript==
if (typeof (dojo) != "undefined") {
require(["dojo/domReady!"], function () {
try {
// utility function to let us wait for a specific element of the page to load...
var waitFor = function (callback, elXpath, elXpathRoot, maxInter, waitTime) {
if (!elXpathRoot) var elXpathRoot = dojo.body();
if (!maxInter) var maxInter = 10000; // number of intervals before expiring
if (!waitTime) var waitTime = 1; // 1000=1 second
if (!elXpath) return;
var waitInter = 0; // current interval
var intId = setInterval(function () {
if (++waitInter < maxInter && !dojo.query(elXpath, elXpathRoot).length) return;
clearInterval(intId);
if (waitInter >= maxInter) {
console.log("**** WAITFOR [" + elXpath + "] WATCH EXPIRED!!! interval " + waitInter + " (max:" + maxInter + ")");
} else {
console.log("**** WAITFOR [" + elXpath + "] WATCH TRIPPED AT interval " + waitInter + " (max:" + maxInter + ")");
callback();
}
}, waitTime);
};
// here we use waitFor to wait on the .lotusStreamTopLoading div.loaderMain.lotusHidden element
// before we proceed to customize the page...
waitFor(function () {
// wait until the "loading..." node has been hidden
// here we go - number just below big name
// dojo.query("span.shareSome-title")[0].textContent="Willkommen beim UCaaS PoC! ";
var mydiv = document.getElementById("businessCardDetails").children[0];
var number = document.getElementById("businessCardDetails").children[0].textContent;
var aTag = document.createElement('a');
aTag.setAttribute('href', "TEL://"+number);
var imgTag = document.createElement('img');
imgTag.setAttribute('src', '/files/customizer/icons/call.jpg?repoName=ucaas');
// mydiv.appendChild(aTag2);
aTag.innerHTML = "Anrufen";
mydiv.appendChild(aTag);
// Numbers in "ContactInfo"
// The following spans look as this:
// Original: <span data-phone-type=\"telephone\"> +4932212297325</span>
// Target: <span data-phone-type=\"telephone\"> +4932212297325</span>
// office
var mySpan = "";
mySpan = document.getElementById("_contactInfo_profileDetails_widget_container").children[0].children[0].children[0].children[1].children[1].children[0].children[0].innerHTML;
number = mySpan.innerHTML;
myNumberLink = "AHLLO1"; //"<span data-phone-type=\"telephone\"><a href='TEL://"+number+"'>Anrufen<A></span>";
alert(myNumberLink);
document.getElementById("_contactInfo_profileDetails_widget_container").children[0].children[0].children[0].children[1].children[1].children[0].children[0].appendChild(aTag); // =myNumberLink;
//mobile
mySpan = document.getElementById("_contactInfo_profileDetails_widget_container").children[0].children[0].children[0].children[2].children[1].children[0].children[0].innerHTML;
number = mySpan.innerHTML;
myNumberLink = "HALLO2"; //"<span data-phone-type=\"telephone\"><a href='TEL://"+number+"'>Anrufen<A></span>";
document.getElementById("_contactInfo_profileDetails_widget_container").children[0].children[0].children[0].children[1].children[1].children[0].children[0].innerHTML=myNumberLink;
},
".lotusStreamTopLoading div.loaderMain.lotusHidden");
} catch (e) {
alert("Exception occurred in UCaaS ProfilePhoneNumbers: " + e);
}
});
}