dothtml 5.2.6 → 5.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/arg-callback-obj.js +64 -0
- package/lib/arg-callback-obj.js.map +1 -0
- package/lib/built-in-components/nav-link.js +24 -0
- package/lib/built-in-components/nav-link.js.map +1 -0
- package/lib/built-in-components/router.js +282 -0
- package/lib/built-in-components/router.js.map +1 -0
- package/lib/component.js +329 -0
- package/lib/component.js.map +1 -0
- package/lib/dot-util.js +62 -0
- package/lib/dot-util.js.map +1 -0
- package/lib/dot.js +1096 -0
- package/lib/dot.js.map +1 -0
- package/lib/dothtml.js +36 -2
- package/lib/dothtml.js.map +1 -1
- package/lib/err.js +26 -0
- package/lib/err.js.map +1 -0
- package/lib/event-bus.js +37 -0
- package/lib/event-bus.js.map +1 -0
- package/lib/i-dot.js +3 -0
- package/lib/i-dot.js.map +1 -0
- package/lib/node-polyfill.js +14 -0
- package/lib/node-polyfill.js.map +1 -0
- package/lib/observable-array.js +274 -0
- package/lib/observable-array.js.map +1 -0
- package/lib/styling/css-types.ts/css-angle.js +22 -0
- package/lib/styling/css-types.ts/css-angle.js.map +1 -0
- package/lib/styling/css-types.ts/css-color.js +824 -0
- package/lib/styling/css-types.ts/css-color.js.map +1 -0
- package/lib/styling/css-types.ts/css-complex.js +23 -0
- package/lib/styling/css-types.ts/css-complex.js.map +1 -0
- package/lib/styling/css-types.ts/css-data-type.js +9 -0
- package/lib/styling/css-types.ts/css-data-type.js.map +1 -0
- package/lib/styling/css-types.ts/css-filter.js +121 -0
- package/lib/styling/css-types.ts/css-filter.js.map +1 -0
- package/lib/styling/css-types.ts/css-length.js +24 -0
- package/lib/styling/css-types.ts/css-length.js.map +1 -0
- package/lib/styling/css-types.ts/css-number.js +17 -0
- package/lib/styling/css-types.ts/css-number.js.map +1 -0
- package/lib/styling/css-types.ts/css-percentage.js +13 -0
- package/lib/styling/css-types.ts/css-percentage.js.map +1 -0
- package/lib/styling/css-types.ts/css-transform.js +183 -0
- package/lib/styling/css-types.ts/css-transform.js.map +1 -0
- package/lib/styling/css-types.ts/css-unknown.js +17 -0
- package/lib/styling/css-types.ts/css-unknown.js.map +1 -0
- package/lib/styling/css-types.ts/css-url.js +45 -0
- package/lib/styling/css-types.ts/css-url.js.map +1 -0
- package/lib/styling/i-dotcss.js +3 -0
- package/lib/styling/i-dotcss.js.map +1 -0
- package/lib/styling/style-builder.js +815 -0
- package/lib/styling/style-builder.js.map +1 -0
- package/lib/styling/unit-function-tables.js +27 -0
- package/lib/styling/unit-function-tables.js.map +1 -0
- package/package.json +9 -7
- package/readme.md +4 -0
- package/lib/dothtml.js.LICENSE.txt +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConditionalArgCallback = exports.ArrayArgCallback = exports.ContentArgCallback = exports.AttrArgCallback = exports.ArgCallback = void 0;
|
|
4
|
+
class ArgCallback {
|
|
5
|
+
constructor(element, value) {
|
|
6
|
+
this.el = element;
|
|
7
|
+
this.f = value;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.ArgCallback = ArgCallback;
|
|
11
|
+
class AttrArgCallback extends ArgCallback {
|
|
12
|
+
constructor(element, attributeName, value) {
|
|
13
|
+
super(element, value);
|
|
14
|
+
this.attr = attributeName;
|
|
15
|
+
}
|
|
16
|
+
updateContent(dot) {
|
|
17
|
+
this.el.setAttribute(this.attr, this.f());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AttrArgCallback = AttrArgCallback;
|
|
21
|
+
class ContentArgCallback extends ArgCallback {
|
|
22
|
+
constructor(element, content) {
|
|
23
|
+
super(element, content);
|
|
24
|
+
}
|
|
25
|
+
updateContent(dot, propVal) {
|
|
26
|
+
dot(this.el).empty().h(this.f(propVal));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.ContentArgCallback = ContentArgCallback;
|
|
30
|
+
class ArrayArgCallback extends ArgCallback {
|
|
31
|
+
constructor(dotTarget, content) {
|
|
32
|
+
super(null, content);
|
|
33
|
+
this.dotTarget = dotTarget;
|
|
34
|
+
}
|
|
35
|
+
updateContent() { }
|
|
36
|
+
}
|
|
37
|
+
exports.ArrayArgCallback = ArrayArgCallback;
|
|
38
|
+
class ConditionalArgCallback extends ArgCallback {
|
|
39
|
+
constructor(startNode, endNode, content, condition) {
|
|
40
|
+
super(null, content);
|
|
41
|
+
this.startNode = startNode;
|
|
42
|
+
this.endNode = endNode;
|
|
43
|
+
this.condition = condition;
|
|
44
|
+
this.lastValue = undefined; // This will be set by the calling code - after the object is added to __currentArgCallback.
|
|
45
|
+
}
|
|
46
|
+
updateContent(dot) {
|
|
47
|
+
if (this.lastValue != !!this.condition()) {
|
|
48
|
+
this.lastValue = !this.lastValue;
|
|
49
|
+
if (this.lastValue) {
|
|
50
|
+
dot._appendOrCreateDocument(this.f, this.endNode.parentNode, this.endNode);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
do {
|
|
54
|
+
var e = this.startNode.nextSibling;
|
|
55
|
+
if (e && e != this.endNode) {
|
|
56
|
+
e.parentNode.removeChild(e);
|
|
57
|
+
}
|
|
58
|
+
} while (this.startNode.nextSibling && this.startNode.nextSibling != this.endNode);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.ConditionalArgCallback = ConditionalArgCallback;
|
|
64
|
+
//# sourceMappingURL=arg-callback-obj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-callback-obj.js","sourceRoot":"","sources":["../src/arg-callback-obj.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IAI7B,YAAY,OAAgB,EAAE,KAA8C;QACxE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;CAGJ;AAVD,kCAUC;AAED,MAAa,eAAgB,SAAQ,WAAW;IAE5C,YAAY,OAAgB,EAAE,aAAqB,EAAE,KAA8B;QAC/E,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,GAAG;QACb,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;CACJ;AAVD,0CAUC;AAED,MAAa,kBAAmB,SAAQ,WAAW;IAC/C,YAAY,OAAgB,EAAE,OAAmB;QAC7C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,GAAG,EAAE,OAAe;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;CACJ;AARD,gDAQC;AAED,MAAa,gBAAiB,SAAQ,WAAW;IAE7C,YAAY,SAAS,EAAE,OAAO;QAC1B,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,aAAa,KAAG,CAAC;CACpB;AARD,4CAQC;AAED,MAAa,sBAAuB,SAAQ,WAAW;IAKnD,YAAY,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;QAC9C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,4FAA4F;IAC5H,CAAC;IAED,aAAa,CAAC,GAAG;QACb,IAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC;YACpC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAG,IAAI,CAAC,SAAS,EAAC;gBACd,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9E;iBACI;gBACD,GAAE;oBACE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBACnC,IAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAC;wBACtB,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBAC/B;iBACJ,QAAO,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAC;aACpF;SACJ;IACL,CAAC;CACJ;AA7BD,wDA6BC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NavLink = void 0;
|
|
7
|
+
const component_1 = __importDefault(require("../component"));
|
|
8
|
+
const dot_1 = __importDefault(require("../dot"));
|
|
9
|
+
// TODO: make text and links mutable by making them properties.
|
|
10
|
+
class NavLink extends component_1.default {
|
|
11
|
+
constructor(content, href) {
|
|
12
|
+
super();
|
|
13
|
+
this.content = content;
|
|
14
|
+
this.hRef = href;
|
|
15
|
+
}
|
|
16
|
+
builder() {
|
|
17
|
+
return dot_1.default.a(this.content).hRef(this.hRef).onClick(e => {
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
dot_1.default.navigate(this.hRef);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.NavLink = NavLink;
|
|
24
|
+
//# sourceMappingURL=nav-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-link.js","sourceRoot":"","sources":["../../src/built-in-components/nav-link.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AACrC,iDAAyB;AAGzB,+DAA+D;AAC/D,MAAa,OAAQ,SAAQ,mBAAS;IAGrC,YAAY,OAAmB,EAAE,IAAY;QAC5C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,OAAO;QACN,OAAO,aAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,aAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAfD,0BAeC"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ROUTING:
|
|
3
|
+
// TODO: Put this in the register hook for router.
|
|
4
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
+
};
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const component_1 = __importDefault(require("../component"));
|
|
9
|
+
const dot_1 = __importDefault(require("../dot"));
|
|
10
|
+
const err_1 = __importDefault(require("../err"));
|
|
11
|
+
class DotRouter extends component_1.default {
|
|
12
|
+
// TODO: Test to make sure allRouters get cleared when a nested router gets deleted.
|
|
13
|
+
static { this.allRouters = {}; }
|
|
14
|
+
static { this.routerId = 1; }
|
|
15
|
+
static { this.mayRedirect = false; }
|
|
16
|
+
static _get(url, success, fail) {
|
|
17
|
+
var xhttp = new XMLHttpRequest();
|
|
18
|
+
xhttp.onreadystatechange = function () {
|
|
19
|
+
if (this.readyState == 4) {
|
|
20
|
+
if (this.status == 200) {
|
|
21
|
+
success && success(this);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
fail && fail(this);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
xhttp.open("GET", url, true);
|
|
29
|
+
xhttp.send();
|
|
30
|
+
}
|
|
31
|
+
static { this.routerEventSet = false; }
|
|
32
|
+
static setupPopupFunction() {
|
|
33
|
+
!DotRouter.routerEventSet && (DotRouter.routerEventSet = true) ? window.onpopstate = function (e) {
|
|
34
|
+
if (e.state) {
|
|
35
|
+
dot_1.default.navigate(e.state.path, true);
|
|
36
|
+
document.title = e.state.pageTitle;
|
|
37
|
+
}
|
|
38
|
+
} : 0;
|
|
39
|
+
}
|
|
40
|
+
constructor(params) {
|
|
41
|
+
super();
|
|
42
|
+
this.id = 0;
|
|
43
|
+
this.outlet = null;
|
|
44
|
+
this.navId = 0;
|
|
45
|
+
this.currentRoute = null;
|
|
46
|
+
this.currentParams = null;
|
|
47
|
+
this.routesAndSegments = [];
|
|
48
|
+
this.params = params;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* TODO: convert to interface.
|
|
52
|
+
* @param {Object} params - Parameters.
|
|
53
|
+
* @param {Array.<{path: string, title: string, component: Object}>} params.routes - Array of routes.
|
|
54
|
+
* @param {boolean} params.autoNavigate - Router will automatically navigate when outlet is created.
|
|
55
|
+
* @param {Function} params.onNavigateInit - Occurs before any request is sent, and before the router outlet is emptied.
|
|
56
|
+
* @param {Function} params.onError - Occurs in the event of an HTTP error.
|
|
57
|
+
* @param {Function} params.onResponse - Occurs after a successful HTTP response, but before rendering.
|
|
58
|
+
* @param {Function} params.onComplete - Occurs after an uncancelled route completes without an error.
|
|
59
|
+
*/
|
|
60
|
+
builder() {
|
|
61
|
+
let t = this;
|
|
62
|
+
if (!t.params || !t.params.routes)
|
|
63
|
+
(0, err_1.default)("R");
|
|
64
|
+
;
|
|
65
|
+
t.routesAndSegments = t.params.routes.map(r => {
|
|
66
|
+
if (r.path === null || r.path === undefined)
|
|
67
|
+
(0, err_1.default)("R");
|
|
68
|
+
return { path: r.path, segments: r.path.split("/") };
|
|
69
|
+
});
|
|
70
|
+
//t.navigate = function(p, nh, f){return routerNavigate.call(t, p, nh, f)};
|
|
71
|
+
if (t.params.autoNavigate === undefined)
|
|
72
|
+
t.params.autoNavigate = true;
|
|
73
|
+
var o = dot_1.default.el("dothtml-router");
|
|
74
|
+
t.outlet = o.getLast();
|
|
75
|
+
t.id = DotRouter.routerId++;
|
|
76
|
+
DotRouter.allRouters[t.id] = t;
|
|
77
|
+
// This use to be here, but not sure what the point of it is anymore. It's not used anywhere.
|
|
78
|
+
// t.outlet.dothtmlRouterId = t.id;
|
|
79
|
+
return o;
|
|
80
|
+
}
|
|
81
|
+
registered() {
|
|
82
|
+
}
|
|
83
|
+
ready() {
|
|
84
|
+
// If there is a route left inside the route queue
|
|
85
|
+
DotRouter.setupPopupFunction();
|
|
86
|
+
// TODO: this method is messed up. Params might not be set when replaceState is called.
|
|
87
|
+
if (this.params.autoNavigate) {
|
|
88
|
+
DotRouter.mayRedirect = true;
|
|
89
|
+
var params = this.navigate(window.location.pathname + (window.location.hash || ""), true);
|
|
90
|
+
DotRouter.mayRedirect = false;
|
|
91
|
+
}
|
|
92
|
+
if (history.pushState)
|
|
93
|
+
history.replaceState({ "pageTitle": params.title || document.title, "path": params.path }, "", params.path);
|
|
94
|
+
else
|
|
95
|
+
window.location.hash = params.path;
|
|
96
|
+
}
|
|
97
|
+
deleting() {
|
|
98
|
+
delete DotRouter.allRouters[this.id];
|
|
99
|
+
}
|
|
100
|
+
navigate(path, noHistory = false, force = false) {
|
|
101
|
+
let t = this;
|
|
102
|
+
//console.log("NAVIGATING", path);
|
|
103
|
+
// Step 1: parse the path into a route queue:
|
|
104
|
+
path = path || "";
|
|
105
|
+
if (typeof path != "string")
|
|
106
|
+
path = path + "";
|
|
107
|
+
var hashPath = path;
|
|
108
|
+
if (path.indexOf("#") != -1)
|
|
109
|
+
hashPath = path.split("#")[1];
|
|
110
|
+
var hashParts = path.split("#");
|
|
111
|
+
var allQueues = [];
|
|
112
|
+
// Route navigating.
|
|
113
|
+
var routeQueue = hashParts[0].split("?")[0].split("/");
|
|
114
|
+
routeQueue[0] === "" ? routeQueue.shift() : 0;
|
|
115
|
+
allQueues.push(routeQueue);
|
|
116
|
+
// Hash navigating.
|
|
117
|
+
var tryHashQueue = hashParts.length > 1 ? hashParts[1].split("/") : null;
|
|
118
|
+
tryHashQueue ? ((tryHashQueue[0] === "" ? tryHashQueue.shift() : 0)) : 0;
|
|
119
|
+
tryHashQueue ? ((routeQueue.length > 1 ? allQueues.push(tryHashQueue) : allQueues.unshift(tryHashQueue))) : 0;
|
|
120
|
+
var cancel = false;
|
|
121
|
+
var navParams = {
|
|
122
|
+
cancel: function () {
|
|
123
|
+
cancel = true;
|
|
124
|
+
navParams.wasCancelled = true;
|
|
125
|
+
},
|
|
126
|
+
element: t.outlet,
|
|
127
|
+
httpResponse: null,
|
|
128
|
+
isNew: true,
|
|
129
|
+
params: null,
|
|
130
|
+
path: path,
|
|
131
|
+
title: null,
|
|
132
|
+
wasCancelled: false
|
|
133
|
+
};
|
|
134
|
+
// Step 2: determine the last router that is correctly loaded.
|
|
135
|
+
// var deepestRouter = null;
|
|
136
|
+
var bestRoute = null;
|
|
137
|
+
// Loop through the router stack from start to finish to find the deepest router and the best route to take.
|
|
138
|
+
// for(var i = 0; i < routerOutletStack.length; i++){
|
|
139
|
+
// var candidate = routerOutletStack[i];
|
|
140
|
+
// Find the an available route that matches.
|
|
141
|
+
// bestRoute = null;
|
|
142
|
+
for (var q in allQueues) {
|
|
143
|
+
var Q = allQueues[q];
|
|
144
|
+
var rFound = false;
|
|
145
|
+
for (var r in t.routesAndSegments) {
|
|
146
|
+
rFound = true;
|
|
147
|
+
var nextRoute = t.routesAndSegments[r];
|
|
148
|
+
var prms = {};
|
|
149
|
+
var rs = 0;
|
|
150
|
+
var ps = 0;
|
|
151
|
+
var lastRn = null;
|
|
152
|
+
while (1) {
|
|
153
|
+
var rSn = nextRoute.segments[rs] || null;
|
|
154
|
+
var pSn = Q[ps] || null;
|
|
155
|
+
if (rSn === null && pSn === null)
|
|
156
|
+
break;
|
|
157
|
+
if (rSn === null && pSn !== null || rSn !== null && pSn === null) {
|
|
158
|
+
rFound = false;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
if (rSn === null && lastRn == "*")
|
|
162
|
+
rSn = "*";
|
|
163
|
+
if (rSn == pSn || rSn == "+" || rSn == "*") { // It's the route, or it's a wildcard.
|
|
164
|
+
rs++;
|
|
165
|
+
}
|
|
166
|
+
else if (rSn.length > 2 && rSn.charAt(0) == "{" && rSn.charAt(rSn.length - 1) == "}") { // It's a parameterized route.
|
|
167
|
+
rs++;
|
|
168
|
+
prms[rSn.substring(1, rSn.length - 1)] = pSn;
|
|
169
|
+
}
|
|
170
|
+
else if (lastRn != "*") { // If the route doesn't match but the previous term was a super-wildcard, do nothing. Else, break.
|
|
171
|
+
rFound = false;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
ps++;
|
|
175
|
+
lastRn = rSn;
|
|
176
|
+
}
|
|
177
|
+
if (rFound) {
|
|
178
|
+
bestRoute = nextRoute;
|
|
179
|
+
navParams.params = prms;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (rFound) {
|
|
184
|
+
if (Q == routeQueue) {
|
|
185
|
+
if (!history.pushState && DotRouter.mayRedirect) {
|
|
186
|
+
window.location.hash = path;
|
|
187
|
+
window.location.pathname = "/";
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
;
|
|
193
|
+
if (Q == tryHashQueue) {
|
|
194
|
+
path = hashPath;
|
|
195
|
+
navParams.path = path;
|
|
196
|
+
if (history.pushState) {
|
|
197
|
+
window.location.hash = "";
|
|
198
|
+
history.replaceState({ "pageTitle": document.title, "path": path }, document.title, path);
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
navParams.isNew = !(!force && t.currentRoute == bestRoute && (!t.currentParams || t.currentParams == navParams.params || JSON.stringify(t.currentParams) === JSON.stringify(navParams.params)));
|
|
206
|
+
t.params.onNavigateInit && t.params.onNavigateInit(navParams);
|
|
207
|
+
if (!navParams.isNew || cancel)
|
|
208
|
+
return navParams;
|
|
209
|
+
t.currentRoute = bestRoute;
|
|
210
|
+
t.currentParams = navParams.params;
|
|
211
|
+
var ro = t.outlet;
|
|
212
|
+
(0, dot_1.default)(ro).empty();
|
|
213
|
+
var navId = ++t.navId;
|
|
214
|
+
//if(deepestRouter == null) return this;
|
|
215
|
+
if (routeQueue.length == 0)
|
|
216
|
+
return navParams;
|
|
217
|
+
if (bestRoute == null)
|
|
218
|
+
return navParams;
|
|
219
|
+
navParams.title = bestRoute.title;
|
|
220
|
+
if (typeof bestRoute.component == "string") {
|
|
221
|
+
DotRouter._get(bestRoute.component, function (result) {
|
|
222
|
+
var text = result.responseText;
|
|
223
|
+
navParams.httpResponse = result;
|
|
224
|
+
if (navId != t.navId)
|
|
225
|
+
return navParams;
|
|
226
|
+
t.params.onResponse && t.params.onResponse(navParams);
|
|
227
|
+
if (cancel)
|
|
228
|
+
return navParams;
|
|
229
|
+
if (bestRoute.component.split("?")[0].split("#")[0].toLowerCase().indexOf(".js") == bestRoute.component.length - 3) {
|
|
230
|
+
try {
|
|
231
|
+
text = Function("var exports=null,module={},route=arguments[0];" + text + "\r\nreturn module.exports || exports;")(navParams);
|
|
232
|
+
}
|
|
233
|
+
catch (e) {
|
|
234
|
+
//e.fileName = bestRoute.component;
|
|
235
|
+
console.error(e);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
(0, dot_1.default)(ro).h(text);
|
|
239
|
+
t.params.onComplete && t.params.onComplete(navParams);
|
|
240
|
+
}, function (result) {
|
|
241
|
+
navParams.httpResponse = result;
|
|
242
|
+
t.params.onError && t.params.onError(navParams);
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
(0, dot_1.default)(ro).h(bestRoute.component.call(dot_1.default, navParams));
|
|
247
|
+
t.params.onComplete && t.params.onComplete(navParams);
|
|
248
|
+
}
|
|
249
|
+
return navParams;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.default = DotRouter;
|
|
253
|
+
// Extend dot.
|
|
254
|
+
dot_1.default.navigate = function (path, noHistory = false, force = false) {
|
|
255
|
+
DotRouter.setupPopupFunction();
|
|
256
|
+
var K = Object.keys(DotRouter.allRouters);
|
|
257
|
+
var lastNavParams = {};
|
|
258
|
+
var bestTitle = document.title;
|
|
259
|
+
for (var k = 0; k < K.length; k++) {
|
|
260
|
+
var kk = K[k];
|
|
261
|
+
var r = DotRouter.allRouters[kk];
|
|
262
|
+
if (r) {
|
|
263
|
+
var currentNavParams = r.navigate(path, noHistory, force);
|
|
264
|
+
if (currentNavParams.isNew && !currentNavParams.wasCancelled) {
|
|
265
|
+
lastNavParams = currentNavParams;
|
|
266
|
+
bestTitle = lastNavParams.title || bestTitle;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
try {
|
|
271
|
+
if (lastNavParams && !noHistory) {
|
|
272
|
+
//if(history.replaceState) history.replaceState({"pageTitle":title, "path": path}, title, path);
|
|
273
|
+
if (history.pushState)
|
|
274
|
+
history.pushState({ "pageTitle": bestTitle, "path": lastNavParams.path }, bestTitle, lastNavParams.path);
|
|
275
|
+
else
|
|
276
|
+
window.location.hash = lastNavParams.path;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
catch (e) { }
|
|
280
|
+
return this;
|
|
281
|
+
};
|
|
282
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/built-in-components/router.ts"],"names":[],"mappings":"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"}
|