@@ -3,10 +3,12 @@
3 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Bootstrapping bits for the global.fossil object. Must be
4 4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
loaded after style.c:style_emit_script_tag() has initialized
5 5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
that object.
6 6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
7 7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const F = global.fossil;
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
8 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
9 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Returns the current time in something approximating
10 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ISO-8601 format.
11 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
12 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const timestring = function f(){
@@ -25,11 +27,11 @@
25 27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** removed from the object. Pass it a falsy value to clear the target
26 28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** element.
27 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
28 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Returns this object.
29 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- global.fossil.message = function f(msg){
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.message = function f(msg){
31 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const args = Array.prototype.slice.call(arguments,0);
32 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const tgt = f.targetElement;
33 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
args.unshift(timestring(),'UTC:');
34 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(tgt){
35 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tgt.classList.remove('error');
@@ -42,23 +44,23 @@
42 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return this;
43 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
44 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
45 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Set default message.targetElement to #fossil-status-bar, if found.
46 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- global.fossil.message.targetElement =
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.message.targetElement =
48 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
document.querySelector('#fossil-status-bar');
49 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
50 52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** By default fossil.error() sends its first argument to
51 53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** console.error(). If fossil.message.targetElement (yes,
52 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** fossil.message) is set, it adds the 'error' CSS class to
53 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** that element and sets its content as defined for message().
54 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
55 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Returns this object.
56 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- global.fossil.error = function f(msg){
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.error = function f(msg){
58 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const args = Array.prototype.slice.call(arguments,0);
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const tgt = global.fossil.message.targetElement;
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const tgt = F.message.targetElement;
60 62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
args.unshift(timestring(),'UTC:');
61 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(tgt){
62 64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tgt.classList.add('error');
63 65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tgt.innerText = args.join(' ');
64 66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -78,11 +80,11 @@
78 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
to that array and tgtArray is returned. The above object would be
79 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
appended as ['a','=','1','&','b','=','2']. This form is used for
80 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
building up parameter lists before join('')ing the array to create
81 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
the result string.
82 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- global.fossil.encodeUrlArgs = function(obj,tgtArray){
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.encodeUrlArgs = function(obj,tgtArray){
84 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!obj) return '';
85 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const a = (tgtArray instanceof Array) ? tgtArray : [];
86 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
let k, i = 0;
87 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for( k in obj ){
88 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(i++) a.push('&');
@@ -99,16 +101,45 @@
99 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
leading slash). If urlParams is a string, it must be
100 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
paramters encoded in the form "key=val&key2=val2...", WITHOUT
101 103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
a leading '?'. If it's an object, all of its properties get
102 104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
appended to the URL in that form.
103 105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- global.fossil.repoUrl = function(path,urlParams){
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.repoUrl = function(path,urlParams){
105 107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!urlParams) return this.rootPath+path;
106 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const url=[this.rootPath,path];
107 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url.push('?');
108 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if('string'===typeof urlParams) url.push(urlParams);
109 111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
else if('object'===typeof urlParams){
110 112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
this.encodeUrlArgs(urlParams, url);
111 113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
112 114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return url.join('');
113 115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Returns true if v appears to be a plain object.
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.isObject = function(v){
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return v &&
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (v instanceof Object) &&
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ('[object Object]' === Object.prototype.toString.apply(v) );
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ For each object argument, this function combines their properties,
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ using a last-one-wins policy, and returns a new object with the
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ combined properties. If passed a single object, it effectively
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ shallowly clones that object.
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.mergeLastWins = function(){
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var k, o, i;
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const n = arguments.length, rc={};
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i = 0; i < n; ++i){
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!F.isObject(o = arguments[i])) continue;
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for( k in o ){
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(o.hasOwnProperty(k)) rc[k] = o[k];
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return rc;
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
114 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})(window);
115 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
116 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
A DDED src/fossil.confirmer.js