@onetype/framework 2.0.43 → 2.0.44
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/addons/core/assets/back/items/html/css.js +1 -1
- package/addons/core/assets/back/items/html/js.js +1 -1
- package/addons/core/commands/core/addon.js +1 -3
- package/addons/render/directives/front/functions/process/match.js +6 -1
- package/addons/render/directives/front/items/self/2000-base.js +45 -0
- package/addons/render/directives/front/items/self/{node.js → 750-node.js} +1 -1
- package/addons/render/html/load.js +0 -1
- package/addons/render/pages/core/addon.js +16 -1
- package/addons/render/pages/front/events/click.js +1 -1
- package/lib/browser.js +16 -1
- package/lib/src/mixins/base.js +14 -0
- package/lib/src/mixins/route.js +2 -11
- package/lib/src/onetype.js +3 -1
- package/package.json +1 -1
- package/addons/render/html/items/seo/theme-color.js +0 -12
- /package/addons/render/{directives/front/items/self → elements/front/items/directives}/element.js +0 -0
|
@@ -23,9 +23,7 @@ const commands = onetype.Addon('commands', (addon) =>
|
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return base + '/' + value.replace(/^\/+/, '').replace(/\/+/g, '/').toLowerCase();
|
|
26
|
+
return onetype.Base() + '/' + value.replace(/^\/+/, '').replace(/\/+/g, '/').toLowerCase();
|
|
29
27
|
});
|
|
30
28
|
});
|
|
31
29
|
|
|
@@ -34,9 +34,14 @@ directives.Fn('process.match', function(d, node)
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
+
if(matches.total === 0 && d.trigger !== 'node')
|
|
38
|
+
{
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
if(d.strict)
|
|
38
43
|
{
|
|
39
|
-
return matches.count === matches.total
|
|
44
|
+
return matches.count === matches.total;
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
return matches.count > 0;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
directives.ItemAdd({
|
|
2
|
+
id: 'ot-base',
|
|
3
|
+
trigger: 'after',
|
|
4
|
+
order: 2000,
|
|
5
|
+
code: function(data, item, compile, node)
|
|
6
|
+
{
|
|
7
|
+
const base = onetype.Base();
|
|
8
|
+
|
|
9
|
+
if(!base)
|
|
10
|
+
{
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const walk = (parent) =>
|
|
15
|
+
{
|
|
16
|
+
for(let i = 0; i < parent.childNodes.length; i++)
|
|
17
|
+
{
|
|
18
|
+
const child = parent.childNodes[i];
|
|
19
|
+
|
|
20
|
+
if(child.nodeType !== 1)
|
|
21
|
+
{
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if(child.tagName === 'A')
|
|
26
|
+
{
|
|
27
|
+
const href = child.getAttribute('href');
|
|
28
|
+
|
|
29
|
+
if(href && href.startsWith('/') && !child.__base)
|
|
30
|
+
{
|
|
31
|
+
child.setAttribute('href', base + href);
|
|
32
|
+
child.__base = base;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if(child.childNodes.length)
|
|
37
|
+
{
|
|
38
|
+
walk(child);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
walk(node);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
@@ -3,7 +3,22 @@ import onetype from '#framework/load.js';
|
|
|
3
3
|
const pages = onetype.Addon('pages', (addon) =>
|
|
4
4
|
{
|
|
5
5
|
addon.Field('id', ['string']);
|
|
6
|
-
addon.Field('route', ['string|array'])
|
|
6
|
+
addon.Field('route', ['string|array'], null, (value) =>
|
|
7
|
+
{
|
|
8
|
+
const base = onetype.Base();
|
|
9
|
+
|
|
10
|
+
if(!base)
|
|
11
|
+
{
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if(Array.isArray(value))
|
|
16
|
+
{
|
|
17
|
+
return value.map(route => base + route);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return base + value;
|
|
21
|
+
});
|
|
7
22
|
addon.Field('title', ['string|function']);
|
|
8
23
|
addon.Field('meta', ['object', {}]);
|
|
9
24
|
addon.Field('data', ['function']);
|
package/lib/browser.js
CHANGED
|
@@ -1,2 +1,17 @@
|
|
|
1
1
|
window.onetype = new OneType();
|
|
2
|
-
window.$ot = onetype.$ot;
|
|
2
|
+
window.$ot = onetype.$ot;
|
|
3
|
+
|
|
4
|
+
if(onetype.Base())
|
|
5
|
+
{
|
|
6
|
+
const original = window.fetch;
|
|
7
|
+
|
|
8
|
+
window.fetch = function(url, options)
|
|
9
|
+
{
|
|
10
|
+
if(typeof url === 'string' && url.startsWith('/'))
|
|
11
|
+
{
|
|
12
|
+
url = onetype.Base() + url;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return original.call(this, url, options);
|
|
16
|
+
};
|
|
17
|
+
}
|
package/lib/src/mixins/route.js
CHANGED
|
@@ -162,15 +162,7 @@ const OneTypeRoute =
|
|
|
162
162
|
return '/';
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
let path = window.location.pathname;
|
|
167
|
-
|
|
168
|
-
if(base && path.startsWith(base))
|
|
169
|
-
{
|
|
170
|
-
path = path.slice(base.length) || '/';
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return this.RouteNormalize(path);
|
|
165
|
+
return this.RouteNormalize(window.location.pathname);
|
|
174
166
|
},
|
|
175
167
|
|
|
176
168
|
RouteNavigate(pathname, state = {})
|
|
@@ -180,8 +172,7 @@ const OneTypeRoute =
|
|
|
180
172
|
return;
|
|
181
173
|
}
|
|
182
174
|
|
|
183
|
-
const
|
|
184
|
-
const normalized = this.RouteNormalize(base + pathname);
|
|
175
|
+
const normalized = this.RouteNormalize(pathname);
|
|
185
176
|
|
|
186
177
|
if (window.history && window.history.pushState)
|
|
187
178
|
{
|
package/lib/src/onetype.js
CHANGED
|
@@ -21,6 +21,7 @@ import OneTypeState from './mixins/state.js';
|
|
|
21
21
|
import OneTypeAssets from './mixins/assets.js';
|
|
22
22
|
import OneTypeObserver from './mixins/observer.js';
|
|
23
23
|
import OneTypeMarkdown from './mixins/markdown.js';
|
|
24
|
+
import OneTypeBase from './mixins/base.js';
|
|
24
25
|
|
|
25
26
|
class OneType
|
|
26
27
|
{
|
|
@@ -57,7 +58,7 @@ class OneType
|
|
|
57
58
|
|
|
58
59
|
this.$ot =
|
|
59
60
|
{
|
|
60
|
-
get: (key) => this.StateGet(key),
|
|
61
|
+
get: (key, value = undefined) => this.StateGet(key, undefined),
|
|
61
62
|
set: (key, value) => this.StateSet(key, value)
|
|
62
63
|
};
|
|
63
64
|
|
|
@@ -88,5 +89,6 @@ Object.assign(OneType.prototype, OneTypeState);
|
|
|
88
89
|
Object.assign(OneType.prototype, OneTypeAssets);
|
|
89
90
|
Object.assign(OneType.prototype, OneTypeObserver);
|
|
90
91
|
Object.assign(OneType.prototype, OneTypeMarkdown);
|
|
92
|
+
Object.assign(OneType.prototype, OneTypeBase);
|
|
91
93
|
|
|
92
94
|
export default OneType;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onetype/framework",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.44",
|
|
4
4
|
"description": "OneType Framework — Full-stack isomorphic JavaScript framework built from scratch. One addon abstraction powers databases, servers, commands, pages, directives, queues, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/load.js",
|
/package/addons/render/{directives/front/items/self → elements/front/items/directives}/element.js
RENAMED
|
File without changes
|