unpoly-rails 2.7.1 → 3.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +96 -52
- data/assets/unpoly/unpoly-bootstrap3.js +10 -10
- data/assets/unpoly/unpoly-bootstrap3.min.js +1 -1
- data/assets/unpoly/unpoly-bootstrap4.js +10 -10
- data/assets/unpoly/unpoly-bootstrap4.min.js +1 -1
- data/assets/unpoly/unpoly-bootstrap5.js +9 -12
- data/assets/unpoly/unpoly-bootstrap5.min.js +1 -1
- data/assets/unpoly/unpoly-migrate.js +457 -867
- data/assets/unpoly/unpoly-migrate.min.js +1 -1
- data/assets/unpoly/unpoly.es6.js +10323 -0
- data/assets/unpoly/unpoly.es6.min.js +1 -0
- data/assets/unpoly/unpoly.js +3205 -15330
- data/assets/unpoly/unpoly.min.js +1 -1
- data/lib/unpoly/rails/change/cache.rb +14 -2
- data/lib/unpoly/rails/change/field.rb +50 -12
- data/lib/unpoly/rails/change/field_definition.rb +42 -4
- data/lib/unpoly/rails/change.rb +114 -62
- data/lib/unpoly/rails/controller.rb +6 -4
- data/lib/unpoly/rails/engine.rb +1 -1
- data/lib/unpoly/rails/version.rb +1 -1
- metadata +6 -6
- data/assets/unpoly/unpoly.es5.js +0 -24137
- data/assets/unpoly/unpoly.es5.min.js +0 -1
@@ -1,95 +1,114 @@
|
|
1
|
-
/******/ (
|
1
|
+
/******/ (() => { // webpackBootstrap
|
2
2
|
/******/ var __webpack_modules__ = ([
|
3
3
|
/* 0 */,
|
4
4
|
/* 1 */
|
5
|
-
/***/ (
|
5
|
+
/***/ (() => {
|
6
6
|
|
7
|
-
|
8
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
9
|
-
if (ar || !(i in from)) {
|
10
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
11
|
-
ar[i] = from[i];
|
12
|
-
}
|
13
|
-
}
|
14
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
15
|
-
};
|
16
|
-
var u = up.util;
|
17
|
-
/*-
|
18
|
-
@module up.migrate
|
19
|
-
*/
|
7
|
+
const u = up.util;
|
20
8
|
up.migrate = (function () {
|
21
|
-
|
9
|
+
const config = new up.Config(() => ({
|
22
10
|
logLevel: 'warn'
|
23
|
-
})
|
11
|
+
}));
|
24
12
|
function renamedProperty(object, oldKey, newKey) {
|
25
|
-
|
26
|
-
|
27
|
-
get
|
13
|
+
const warning = () => warn('Property { %s } has been renamed to { %s } (found in %o)', oldKey, newKey, object);
|
14
|
+
Object.defineProperty(object, oldKey, {
|
15
|
+
get() {
|
28
16
|
warning();
|
29
17
|
return this[newKey];
|
30
18
|
},
|
31
|
-
set
|
19
|
+
set(newValue) {
|
32
20
|
warning();
|
33
21
|
this[newKey] = newValue;
|
34
22
|
}
|
35
23
|
});
|
36
24
|
}
|
25
|
+
function removedProperty(object, key) {
|
26
|
+
const warning = () => warn('Property { %s } has been removed without replacement (found in %o)', key, object);
|
27
|
+
Object.defineProperty(object, key, {
|
28
|
+
get() {
|
29
|
+
warning();
|
30
|
+
return this[key];
|
31
|
+
},
|
32
|
+
set(newValue) {
|
33
|
+
warning();
|
34
|
+
this[key] = newValue;
|
35
|
+
}
|
36
|
+
});
|
37
|
+
}
|
38
|
+
function renamedAttribute(oldAttr, newAttr, { scope, mapValue } = {}) {
|
39
|
+
let selector = scope || `[${oldAttr}]`;
|
40
|
+
up.macro(selector, { priority: -1000 }, function (element) {
|
41
|
+
if (element.hasAttribute(oldAttr)) {
|
42
|
+
warn('Attribute [%s] has been renamed to [%s] (found in %o)', oldAttr, newAttr, element);
|
43
|
+
let value = element.getAttribute(oldAttr);
|
44
|
+
if (mapValue) {
|
45
|
+
value = mapValue(value);
|
46
|
+
}
|
47
|
+
element.setAttribute(newAttr, value);
|
48
|
+
element.removeAttribute(oldAttr);
|
49
|
+
}
|
50
|
+
});
|
51
|
+
}
|
37
52
|
function fixKey(object, oldKey, newKey) {
|
38
53
|
if (u.isDefined(object[oldKey])) {
|
39
54
|
warn('Property { %s } has been renamed to { %s } (found in %o)', oldKey, newKey, object);
|
40
55
|
u.renameKey(object, oldKey, newKey);
|
41
56
|
}
|
42
57
|
}
|
43
|
-
|
44
|
-
var renamedEvents = {};
|
58
|
+
const renamedEvents = {};
|
45
59
|
function renamedEvent(oldType, newType) {
|
46
60
|
renamedEvents[oldType] = newType;
|
47
61
|
}
|
62
|
+
const removedEvents = {};
|
63
|
+
function removedEvent(type, replacementExpression = null) {
|
64
|
+
removedEvents[type] = replacementExpression;
|
65
|
+
}
|
48
66
|
function fixEventType(eventType) {
|
49
|
-
|
67
|
+
let newEventType = renamedEvents[eventType];
|
50
68
|
if (newEventType) {
|
51
|
-
warn(
|
69
|
+
warn(`Event ${eventType} has been renamed to ${newEventType}`);
|
52
70
|
return newEventType;
|
53
71
|
}
|
72
|
+
else if (eventType in removedEvents) {
|
73
|
+
let message = `Event ${eventType} has been removed`;
|
74
|
+
let replacementExpression = removedEvents[eventType];
|
75
|
+
if (replacementExpression) {
|
76
|
+
message += `. Use ${replacementExpression} instead.`;
|
77
|
+
}
|
78
|
+
warn(message);
|
79
|
+
return eventType;
|
80
|
+
}
|
54
81
|
else {
|
55
82
|
return eventType;
|
56
83
|
}
|
57
84
|
}
|
58
85
|
function fixEventTypes(eventTypes) {
|
59
|
-
// Remove duplicates as e.g. up:history:pushed and up:history:replaced
|
60
|
-
// both map to up:location:changed.
|
61
86
|
return u.uniq(u.map(eventTypes, fixEventType));
|
62
87
|
}
|
63
88
|
function renamedPackage(oldName, newName) {
|
64
89
|
Object.defineProperty(up, oldName, {
|
65
|
-
get
|
66
|
-
warn(
|
90
|
+
get() {
|
91
|
+
warn(`up.${oldName} has been renamed to up.${newName}`);
|
67
92
|
return up[newName];
|
68
93
|
}
|
69
94
|
});
|
70
95
|
}
|
71
|
-
|
72
|
-
function warn(message) {
|
73
|
-
|
74
|
-
var args = [];
|
75
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
76
|
-
args[_i - 1] = arguments[_i];
|
77
|
-
}
|
78
|
-
var formattedMessage = u.sprintf.apply(u, __spreadArray([message], args, false));
|
96
|
+
const warnedMessages = {};
|
97
|
+
function warn(message, ...args) {
|
98
|
+
const formattedMessage = u.sprintf(message, ...args);
|
79
99
|
if (!warnedMessages[formattedMessage]) {
|
80
100
|
warnedMessages[formattedMessage] = true;
|
81
|
-
|
101
|
+
up.log[config.logLevel]('unpoly-migrate', message, ...args);
|
82
102
|
}
|
83
103
|
}
|
84
104
|
function deprecated(deprecatedExpression, replacementExpression) {
|
85
|
-
warn(
|
105
|
+
warn(`${deprecatedExpression} has been deprecated. Use ${replacementExpression} instead.`);
|
86
106
|
}
|
87
|
-
// Returns a resolved promise that prints a warning when #then() is called.
|
88
107
|
function formerlyAsync(label) {
|
89
|
-
|
90
|
-
|
108
|
+
const promise = Promise.resolve();
|
109
|
+
const oldThen = promise.then;
|
91
110
|
promise.then = function () {
|
92
|
-
warn(
|
111
|
+
warn(`${label} no longer returns a promise`);
|
93
112
|
return oldThen.apply(this, arguments);
|
94
113
|
};
|
95
114
|
return promise;
|
@@ -99,290 +118,193 @@ up.migrate = (function () {
|
|
99
118
|
}
|
100
119
|
up.on('up:framework:reset', reset);
|
101
120
|
return {
|
102
|
-
deprecated
|
103
|
-
renamedPackage
|
104
|
-
renamedProperty
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
121
|
+
deprecated,
|
122
|
+
renamedPackage,
|
123
|
+
renamedProperty,
|
124
|
+
removedProperty,
|
125
|
+
renamedAttribute,
|
126
|
+
formerlyAsync,
|
127
|
+
renamedEvent,
|
128
|
+
removedEvent,
|
129
|
+
fixEventTypes,
|
130
|
+
fixKey,
|
131
|
+
warn,
|
110
132
|
loaded: true,
|
111
|
-
config
|
133
|
+
config
|
112
134
|
};
|
113
135
|
})();
|
114
136
|
|
115
137
|
|
116
138
|
/***/ }),
|
117
139
|
/* 2 */
|
118
|
-
/***/ (
|
140
|
+
/***/ (() => {
|
119
141
|
|
120
|
-
|
121
|
-
@module up.util
|
122
|
-
*/
|
123
|
-
/*-
|
124
|
-
Returns a copy of the given object that only contains
|
125
|
-
the given keys.
|
126
|
-
|
127
|
-
@function up.util.only
|
128
|
-
@param {Object} object
|
129
|
-
@param {Array} ...keys
|
130
|
-
@deprecated
|
131
|
-
Use `up.util.pick()` instead.
|
132
|
-
*/
|
133
|
-
up.util.only = function (object) {
|
134
|
-
var keys = [];
|
135
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
136
|
-
keys[_i - 1] = arguments[_i];
|
137
|
-
}
|
142
|
+
up.util.only = function (object, ...keys) {
|
138
143
|
up.migrate.deprecated('up.util.only(object, ...keys)', 'up.util.pick(object, keys)');
|
139
144
|
return up.util.pick(object, keys);
|
140
145
|
};
|
141
|
-
|
142
|
-
Returns a copy of the given object that contains all except
|
143
|
-
the given keys.
|
144
|
-
|
145
|
-
@function up.util.except
|
146
|
-
@param {Object} object
|
147
|
-
@param {Array} ...keys
|
148
|
-
@deprecated
|
149
|
-
Use `up.util.omit(object, keys)` (with an array argument) instead of `up.util.object(...keys)` (with rest arguments).
|
150
|
-
*/
|
151
|
-
up.util.except = function (object) {
|
152
|
-
var keys = [];
|
153
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
154
|
-
keys[_i - 1] = arguments[_i];
|
155
|
-
}
|
146
|
+
up.util.except = function (object, ...keys) {
|
156
147
|
up.migrate.deprecated('up.util.except(object, ...keys)', 'up.util.omit(object, keys)');
|
157
148
|
return up.util.omit(object, keys);
|
158
149
|
};
|
159
|
-
up.util.parseUrl = function () {
|
160
|
-
|
161
|
-
|
162
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
163
|
-
args[_i] = arguments[_i];
|
164
|
-
}
|
165
|
-
up.migrate.warn('up.util.parseUrl() has been renamed to up.util.parseURL()');
|
166
|
-
return (_a = up.util).parseURL.apply(_a, args);
|
150
|
+
up.util.parseUrl = function (...args) {
|
151
|
+
up.migrate.deprecated('up.util.parseUrl()', 'up.util.parseURL()');
|
152
|
+
return up.util.parseURL(...args);
|
167
153
|
};
|
168
|
-
up.util.any = function () {
|
169
|
-
|
170
|
-
|
171
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
172
|
-
args[_i] = arguments[_i];
|
173
|
-
}
|
174
|
-
up.migrate.warn('up.util.any() has been renamed to up.util.some()');
|
175
|
-
return (_a = up.util).some.apply(_a, args);
|
154
|
+
up.util.any = function (...args) {
|
155
|
+
up.migrate.deprecated('up.util.any()', 'up.util.some()');
|
156
|
+
return up.util.some(...args);
|
176
157
|
};
|
177
|
-
up.util.all = function () {
|
178
|
-
|
179
|
-
|
180
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
181
|
-
args[_i] = arguments[_i];
|
182
|
-
}
|
183
|
-
up.migrate.warn('up.util.all() has been renamed to up.util.every()');
|
184
|
-
return (_a = up.util).every.apply(_a, args);
|
158
|
+
up.util.all = function (...args) {
|
159
|
+
up.migrate.deprecated('up.util.all()', 'up.util.every()');
|
160
|
+
return up.util.every(...args);
|
185
161
|
};
|
186
|
-
up.util.detect = function () {
|
187
|
-
|
188
|
-
|
189
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
190
|
-
args[_i] = arguments[_i];
|
191
|
-
}
|
192
|
-
up.migrate.warn('up.util.detect() has been renamed to up.util.find()');
|
193
|
-
return (_a = up.util).find.apply(_a, args);
|
162
|
+
up.util.detect = function (...args) {
|
163
|
+
up.migrate.deprecated('up.util.detect()', 'up.util.find()');
|
164
|
+
return up.util.find(...args);
|
194
165
|
};
|
195
|
-
up.util.select = function () {
|
196
|
-
|
197
|
-
|
198
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
199
|
-
args[_i] = arguments[_i];
|
200
|
-
}
|
201
|
-
up.migrate.warn('up.util.select() has been renamed to up.util.filter()');
|
202
|
-
return (_a = up.util).filter.apply(_a, args);
|
166
|
+
up.util.select = function (...args) {
|
167
|
+
up.migrate.deprecated('up.util.select()', 'up.util.filter()');
|
168
|
+
return up.util.filter(...args);
|
203
169
|
};
|
204
|
-
up.util.setTimer = function () {
|
205
|
-
|
206
|
-
|
207
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
208
|
-
args[_i] = arguments[_i];
|
209
|
-
}
|
210
|
-
up.migrate.warn('up.util.setTimer() has been renamed to up.util.timer()');
|
211
|
-
return (_a = up.util).timer.apply(_a, args);
|
170
|
+
up.util.setTimer = function (...args) {
|
171
|
+
up.migrate.deprecated('up.util.setTimer()', 'up.util.timer()');
|
172
|
+
return up.util.timer(...args);
|
212
173
|
};
|
213
|
-
up.util.escapeHtml = function () {
|
214
|
-
|
215
|
-
|
216
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
217
|
-
args[_i] = arguments[_i];
|
218
|
-
}
|
219
|
-
up.migrate.deprecated('up.util.escapeHtml', 'up.util.escapeHTML');
|
220
|
-
return (_a = up.util).escapeHTML.apply(_a, args);
|
174
|
+
up.util.escapeHtml = function (...args) {
|
175
|
+
up.migrate.deprecated('up.util.escapeHtml()', 'up.util.escapeHTML()');
|
176
|
+
return up.util.escapeHTML(...args);
|
221
177
|
};
|
222
|
-
up.util.selectorForElement = function () {
|
223
|
-
|
224
|
-
|
225
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
226
|
-
args[_i] = arguments[_i];
|
227
|
-
}
|
228
|
-
up.migrate.warn('up.util.selectorForElement() has been renamed to up.fragment.toTarget()');
|
229
|
-
return (_a = up.fragment).toTarget.apply(_a, args);
|
178
|
+
up.util.selectorForElement = function (...args) {
|
179
|
+
up.migrate.deprecated('up.util.selectorForElement()', 'up.fragment.toTarget()');
|
180
|
+
return up.fragment.toTarget(...args);
|
230
181
|
};
|
231
|
-
up.util.nextFrame = function () {
|
232
|
-
|
233
|
-
|
234
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
235
|
-
args[_i] = arguments[_i];
|
236
|
-
}
|
237
|
-
up.migrate.warn('up.util.nextFrame() has been renamed to up.util.task()');
|
238
|
-
return (_a = up.util).task.apply(_a, args);
|
182
|
+
up.util.nextFrame = function (...args) {
|
183
|
+
up.migrate.deprecated('up.util.nextFrame()', 'up.util.task()');
|
184
|
+
return up.util.task(...args);
|
239
185
|
};
|
240
|
-
/*-
|
241
|
-
Calls the given function for the given number of times.
|
242
|
-
|
243
|
-
@function up.util.times
|
244
|
-
@param {number} count
|
245
|
-
@param {Function()} block
|
246
|
-
@deprecated
|
247
|
-
Use a `for` loop instead.
|
248
|
-
*/
|
249
186
|
up.util.times = function (count, block) {
|
250
|
-
|
187
|
+
up.migrate.deprecated('up.util.times()', 'a `for` loop');
|
188
|
+
for (let i = 0; i < count; i++) {
|
251
189
|
block();
|
252
190
|
}
|
253
191
|
};
|
192
|
+
up.util.assign = function (...args) {
|
193
|
+
up.migrate.deprecated('up.util.assign()', 'Object.assign()');
|
194
|
+
return Object.assign(...args);
|
195
|
+
};
|
196
|
+
up.util.values = function (...args) {
|
197
|
+
up.migrate.deprecated('up.util.values()', 'Object.values()');
|
198
|
+
return Object.values(...args);
|
199
|
+
};
|
254
200
|
|
255
201
|
|
256
202
|
/***/ }),
|
257
203
|
/* 3 */
|
258
|
-
/***/ (
|
204
|
+
/***/ (() => {
|
259
205
|
|
260
|
-
up.browser.loadPage = function () {
|
261
|
-
|
262
|
-
|
263
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
264
|
-
args[_i] = arguments[_i];
|
265
|
-
}
|
266
|
-
up.migrate.deprecated('up.browser.loadPage', 'up.network.loadPage');
|
267
|
-
return (_a = up.network).loadPage.apply(_a, args);
|
206
|
+
up.browser.loadPage = function (...args) {
|
207
|
+
up.migrate.deprecated('up.browser.loadPage()', 'up.network.loadPage()');
|
208
|
+
return up.network.loadPage(...args);
|
268
209
|
};
|
269
|
-
up.browser.isSupported = function () {
|
270
|
-
|
271
|
-
|
272
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
273
|
-
args[_i] = arguments[_i];
|
274
|
-
}
|
275
|
-
up.migrate.deprecated('up.browser.isSupported', 'up.framework.isSupported');
|
276
|
-
return (_a = up.framework).isSupported.apply(_a, args);
|
210
|
+
up.browser.isSupported = function (...args) {
|
211
|
+
up.migrate.deprecated('up.browser.isSupported()', 'up.framework.isSupported()');
|
212
|
+
return up.framework.isSupported(...args);
|
277
213
|
};
|
278
214
|
|
279
215
|
|
280
216
|
/***/ }),
|
281
217
|
/* 4 */
|
282
|
-
/***/ (
|
283
|
-
|
284
|
-
/*-
|
285
|
-
@module up.element
|
286
|
-
*/
|
287
|
-
/*-
|
288
|
-
Returns the first descendant element matching the given selector.
|
218
|
+
/***/ (() => {
|
289
219
|
|
290
|
-
|
291
|
-
@param {Element} [parent=document]
|
292
|
-
The parent element whose descendants to search.
|
293
|
-
|
294
|
-
If omitted, all elements in the `document` will be searched.
|
295
|
-
@param {string} selector
|
296
|
-
The CSS selector to match.
|
297
|
-
@return {Element|undefined|null}
|
298
|
-
The first element matching the selector.
|
299
|
-
|
300
|
-
Returns `null` or `undefined` if no element macthes.
|
301
|
-
@deprecated
|
302
|
-
Use `up.element.get()` instead.
|
303
|
-
*/
|
304
|
-
up.element.first = function () {
|
305
|
-
var _a;
|
306
|
-
var args = [];
|
307
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
308
|
-
args[_i] = arguments[_i];
|
309
|
-
}
|
220
|
+
up.element.first = function (...args) {
|
310
221
|
up.migrate.deprecated('up.element.first()', 'up.element.get()');
|
311
|
-
return
|
222
|
+
return up.element.get(...args);
|
312
223
|
};
|
313
|
-
up.element.createFromHtml = function () {
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
224
|
+
up.element.createFromHtml = function (...args) {
|
225
|
+
up.migrate.deprecated('up.element.createFromHtml()', 'up.element.createFromHTML()');
|
226
|
+
return up.element.createFromHTML(...args);
|
227
|
+
};
|
228
|
+
up.element.remove = function (element) {
|
229
|
+
up.migrate.deprecated('up.element.remove()', 'Element#remove()');
|
230
|
+
return element.remove();
|
231
|
+
};
|
232
|
+
up.element.matches = function (element, selector) {
|
233
|
+
up.migrate.deprecated('up.element.matches()', 'Element#matches()');
|
234
|
+
return element.matches(selector);
|
235
|
+
};
|
236
|
+
up.element.closest = function (element, selector) {
|
237
|
+
up.migrate.deprecated('up.element.closest()', 'Element#closest()');
|
238
|
+
return element.closest(selector);
|
239
|
+
};
|
240
|
+
up.element.replace = function (oldElement, newElement) {
|
241
|
+
up.migrate.deprecated('up.element.replace()', 'Element#replaceWith()');
|
242
|
+
return oldElement.replaceWith(newElement);
|
243
|
+
};
|
244
|
+
up.element.all = function (...args) {
|
245
|
+
up.migrate.deprecated('up.element.all()', 'Document#querySelectorAll() or Element#querySelectorAll()');
|
246
|
+
const selector = args.pop();
|
247
|
+
const root = args[0] || document;
|
248
|
+
return root.querySelectorAll(selector);
|
249
|
+
};
|
250
|
+
up.element.toggleClass = function (element, klass, newPresent) {
|
251
|
+
const list = element.classList;
|
252
|
+
if (newPresent == null) {
|
253
|
+
newPresent = !list.contains(klass);
|
254
|
+
}
|
255
|
+
if (newPresent) {
|
256
|
+
return list.add(klass);
|
318
257
|
}
|
319
|
-
|
320
|
-
|
258
|
+
else {
|
259
|
+
return list.remove(klass);
|
260
|
+
}
|
261
|
+
};
|
262
|
+
up.element.toSelector = function (...args) {
|
263
|
+
up.migrate.deprecated('up.element.toSelector()', 'up.fragment.toTarget()');
|
264
|
+
return up.fragment.toTarget(...args);
|
265
|
+
};
|
266
|
+
up.element.isAttached = function (element) {
|
267
|
+
up.migrate.deprecated('up.element.isAttached()', 'element.isConnected');
|
268
|
+
return element.isConnected;
|
269
|
+
};
|
270
|
+
up.element.isDetached = function (element) {
|
271
|
+
up.migrate.deprecated('up.element.isDetached()', '!element.isConnected');
|
272
|
+
return !element.isConnected;
|
321
273
|
};
|
322
274
|
|
323
275
|
|
324
276
|
/***/ }),
|
325
277
|
/* 5 */
|
326
|
-
/***/ (
|
278
|
+
/***/ (() => {
|
327
279
|
|
328
|
-
/*-
|
329
|
-
@module up.event
|
330
|
-
*/
|
331
280
|
up.migrate.renamedPackage('bus', 'event');
|
332
|
-
|
333
|
-
[Emits an event](/up.emit) and returns whether no listener
|
334
|
-
has prevented the default action.
|
335
|
-
|
336
|
-
### Example
|
337
|
-
|
338
|
-
```javascript
|
339
|
-
if (up.event.nobodyPrevents('disk:erase')) {
|
340
|
-
Disk.erase()
|
341
|
-
})
|
342
|
-
```
|
343
|
-
|
344
|
-
@function up.event.nobodyPrevents
|
345
|
-
@param {string} eventType
|
346
|
-
@param {Object} eventProps
|
347
|
-
@return {boolean}
|
348
|
-
whether no listener has prevented the default action
|
349
|
-
@deprecated
|
350
|
-
Use `!up.emit(type).defaultPrevented` instead.
|
351
|
-
*/
|
352
|
-
up.event.nobodyPrevents = function () {
|
353
|
-
var args = [];
|
354
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
355
|
-
args[_i] = arguments[_i];
|
356
|
-
}
|
281
|
+
up.event.nobodyPrevents = function (...args) {
|
357
282
|
up.migrate.deprecated('up.event.nobodyPrevents(type)', '!up.emit(type).defaultPrevented');
|
358
|
-
|
283
|
+
const event = up.emit(...args);
|
359
284
|
return !event.defaultPrevented;
|
360
285
|
};
|
361
286
|
|
362
287
|
|
363
288
|
/***/ }),
|
364
289
|
/* 6 */
|
365
|
-
/***/ (
|
290
|
+
/***/ (() => {
|
366
291
|
|
367
|
-
|
368
|
-
|
292
|
+
const u = up.util;
|
293
|
+
const e = up.element;
|
369
294
|
up.migrate.postCompile = function (elements, compiler) {
|
370
|
-
|
371
|
-
// set [up-keep] on the elements it compiles
|
372
|
-
var keepValue;
|
295
|
+
let keepValue;
|
373
296
|
if (keepValue = compiler.keep) {
|
374
297
|
up.migrate.warn('The { keep: true } option for up.compiler() has been removed. Have the compiler set [up-keep] attribute instead.');
|
375
|
-
|
376
|
-
for (
|
377
|
-
var element = elements_1[_i];
|
298
|
+
const value = u.isString(keepValue) ? keepValue : '';
|
299
|
+
for (let element of elements) {
|
378
300
|
element.setAttribute('up-keep', value);
|
379
301
|
}
|
380
302
|
}
|
381
303
|
};
|
382
304
|
up.migrate.targetMacro = function (queryAttr, fixedResultAttrs, callback) {
|
383
|
-
up.macro(
|
384
|
-
|
385
|
-
|
305
|
+
up.macro(`[${queryAttr}]`, function (link) {
|
306
|
+
let optionalTarget;
|
307
|
+
const resultAttrs = u.copy(fixedResultAttrs);
|
386
308
|
if ((optionalTarget = link.getAttribute(queryAttr))) {
|
387
309
|
resultAttrs['up-target'] = optionalTarget;
|
388
310
|
}
|
@@ -398,200 +320,181 @@ up.migrate.targetMacro = function (queryAttr, fixedResultAttrs, callback) {
|
|
398
320
|
|
399
321
|
/***/ }),
|
400
322
|
/* 7 */
|
401
|
-
/***/ (
|
323
|
+
/***/ (() => {
|
402
324
|
|
403
|
-
/*-
|
404
|
-
@module up.form
|
405
|
-
*/
|
406
325
|
up.migrate.renamedProperty(up.form.config, 'fields', 'fieldSelectors');
|
407
326
|
up.migrate.renamedProperty(up.form.config, 'submitButtons', 'submitButtonSelectors');
|
327
|
+
up.migrate.renamedProperty(up.form.config, 'validateTargets', 'groupSelectors');
|
328
|
+
up.migrate.renamedProperty(up.form.config, 'observeDelay', 'watchInputDelay');
|
329
|
+
up.migrate.migratedFormGroupSelectors = function () {
|
330
|
+
return up.form.config.groupSelectors.map((originalSelector) => {
|
331
|
+
let migratedSelector = originalSelector.replace(/:has\(:origin\)$/, '');
|
332
|
+
if (originalSelector !== migratedSelector) {
|
333
|
+
up.migrate.warn('Selectors in up.form.config.groupSelectors must not contain ":has(:origin)". The suffix is added automatically where required. Found in "%s".', originalSelector);
|
334
|
+
}
|
335
|
+
return migratedSelector;
|
336
|
+
});
|
337
|
+
};
|
338
|
+
up.migrate.renamedAttribute('up-observe', 'up-watch');
|
339
|
+
up.migrate.renamedAttribute('up-fieldset', 'up-form-group');
|
340
|
+
up.migrate.renamedAttribute('up-delay', 'up-watch-delay', { scope: '[up-autosubmit]' });
|
341
|
+
up.migrate.renamedAttribute('up-delay', 'up-watch-delay', { scope: '[up-watch]' });
|
342
|
+
up.migrate.renamedAttribute('up-restore-scroll', 'up-scroll', { mapValue: (value) => (value === 'true' ? 'restore' : 'reset') });
|
343
|
+
up.observe = function (...args) {
|
344
|
+
up.migrate.deprecated('up.observe()', 'up.watch()');
|
345
|
+
if (up.util.isList(args[0]) && args[0].length > 1) {
|
346
|
+
let list = args.shift();
|
347
|
+
up.migrate.warn('Calling up.observe() with a list of multiple elements is no longer supported by up.watch()');
|
348
|
+
let unwatchFns = up.util.map(list, (firstArg) => up.watch(firstArg, ...args));
|
349
|
+
return up.util.sequence(unwatchFns);
|
350
|
+
}
|
351
|
+
return up.watch(...args);
|
352
|
+
};
|
408
353
|
|
409
354
|
|
410
355
|
/***/ }),
|
411
356
|
/* 8 */
|
412
|
-
/***/ (
|
357
|
+
/***/ (() => {
|
413
358
|
|
414
|
-
|
415
|
-
__assign = Object.assign || function(t) {
|
416
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
417
|
-
s = arguments[i];
|
418
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
419
|
-
t[p] = s[p];
|
420
|
-
}
|
421
|
-
return t;
|
422
|
-
};
|
423
|
-
return __assign.apply(this, arguments);
|
424
|
-
};
|
425
|
-
var u = up.util;
|
426
|
-
/*-
|
427
|
-
@module up.fragment
|
428
|
-
*/
|
359
|
+
const u = up.util;
|
429
360
|
up.migrate.renamedPackage('flow', 'fragment');
|
430
361
|
up.migrate.renamedPackage('dom', 'fragment');
|
431
362
|
up.migrate.renamedProperty(up.fragment.config, 'fallbacks', 'mainTargets');
|
432
|
-
up.migrate.handleResponseDocOptions =
|
433
|
-
/*-
|
434
|
-
Replaces elements on the current page with corresponding elements
|
435
|
-
from a new page fetched from the server.
|
436
|
-
|
437
|
-
@function up.replace
|
438
|
-
@param {string|Element|jQuery} target
|
439
|
-
The CSS selector to update. You can also pass a DOM element or jQuery element
|
440
|
-
here, in which case a selector will be inferred from the element's class and ID.
|
441
|
-
@param {string} url
|
442
|
-
The URL to fetch from the server.
|
443
|
-
@param {Object} [options]
|
444
|
-
See `options` for `up.render()`.
|
445
|
-
@return {Promise}
|
446
|
-
A promise that fulfills when the page has been updated.
|
447
|
-
@deprecated
|
448
|
-
Use `up.render()` or `up.navigate()` instead.
|
449
|
-
*/
|
363
|
+
up.migrate.handleResponseDocOptions = docOptions => up.migrate.fixKey(docOptions, 'html', 'document');
|
450
364
|
up.replace = function (target, url, options) {
|
451
365
|
up.migrate.deprecated('up.replace(target, url)', 'up.navigate(target, { url })');
|
452
|
-
return up.navigate(
|
366
|
+
return up.navigate(Object.assign(Object.assign({}, options), { target, url }));
|
453
367
|
};
|
454
|
-
/*-
|
455
|
-
Updates a selector on the current page with the
|
456
|
-
same selector from the given HTML string.
|
457
|
-
|
458
|
-
### Example
|
459
|
-
|
460
|
-
Let's say your current HTML looks like this:
|
461
|
-
|
462
|
-
<div class="one">old one</div>
|
463
|
-
<div class="two">old two</div>
|
464
|
-
|
465
|
-
We now replace the second `<div>`, using an HTML string
|
466
|
-
as the source:
|
467
|
-
|
468
|
-
html = '<div class="one">new one</div>' +
|
469
|
-
'<div class="two">new two</div>'
|
470
|
-
|
471
|
-
up.extract('.two', html)
|
472
|
-
|
473
|
-
Unpoly looks for the selector `.two` in the strings and updates its
|
474
|
-
contents in the current page. The current page now looks like this:
|
475
|
-
|
476
|
-
<div class="one">old one</div>
|
477
|
-
<div class="two">new two</div>
|
478
|
-
|
479
|
-
Note how only `.two` has changed. The update for `.one` was
|
480
|
-
discarded, since it didn't match the selector.
|
481
|
-
|
482
|
-
@function up.extract
|
483
|
-
@param {string|Element|jQuery} target
|
484
|
-
@param {string} html
|
485
|
-
@param {Object} [options]
|
486
|
-
See options for [`up.render()`](/up.render).
|
487
|
-
@return {Promise}
|
488
|
-
A promise that will be fulfilled when the selector was updated.
|
489
|
-
@deprecated
|
490
|
-
Use `up.render()` or `up.navigate()` instead.
|
491
|
-
*/
|
492
368
|
up.extract = function (target, document, options) {
|
493
369
|
up.migrate.deprecated('up.extract(target, document)', 'up.navigate(target, { document })');
|
494
|
-
return up.navigate(
|
370
|
+
return up.navigate(Object.assign(Object.assign({}, options), { target, document }));
|
495
371
|
};
|
496
|
-
|
497
|
-
Returns the first element matching the given selector, but
|
498
|
-
ignores elements that are being [destroyed](/up.destroy) or that are being
|
499
|
-
removed by a [transition](/up.morph).
|
500
|
-
|
501
|
-
Returns `undefined` if no element matches these conditions.
|
502
|
-
|
503
|
-
@function up.fragment.first
|
504
|
-
@param {Element|jQuery} [root=document]
|
505
|
-
The root element for the search. Only the root's children will be matched.
|
506
|
-
|
507
|
-
May be omitted to search through all elements in the `document`.
|
508
|
-
@param {string} selector
|
509
|
-
The selector to match
|
510
|
-
@param {string} [options.layer='current']
|
511
|
-
The the layer in which to find the element.
|
512
|
-
|
513
|
-
@see layer-option
|
514
|
-
@param {string|Element|jQuery} [options.origin]
|
515
|
-
An second element or selector that can be referenced as `:origin` in the first selector:
|
516
|
-
@return {Element|undefined}
|
517
|
-
The first element that is neither a ghost or being destroyed,
|
518
|
-
or `undefined` if no such element was found.
|
519
|
-
@deprecated
|
520
|
-
Use `up.fragment.get()` instead.
|
521
|
-
*/
|
522
|
-
up.fragment.first = function () {
|
523
|
-
var _a;
|
524
|
-
var args = [];
|
525
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
526
|
-
args[_i] = arguments[_i];
|
527
|
-
}
|
372
|
+
up.fragment.first = function (...args) {
|
528
373
|
up.migrate.deprecated('up.fragment.first()', 'up.fragment.get()');
|
529
|
-
return
|
374
|
+
return up.fragment.get(...args);
|
530
375
|
};
|
531
376
|
up.first = up.fragment.first;
|
532
|
-
up.migrate.
|
533
|
-
if (u.isUndefined(options.scroll)) {
|
534
|
-
// Rewrite deprecated { reveal } option (it had multiple variants)
|
535
|
-
if (u.isString(options.reveal)) {
|
536
|
-
up.migrate.deprecated("Option { reveal: '".concat(options.reveal, "' }"), "{ scroll: '".concat(options.reveal, "' }"));
|
537
|
-
options.scroll = options.reveal;
|
538
|
-
}
|
539
|
-
else if (options.reveal === true) {
|
540
|
-
up.migrate.deprecated('Option { reveal: true }', "{ scroll: 'target' }");
|
541
|
-
options.scroll = 'target';
|
542
|
-
}
|
543
|
-
else if (options.reveal === false) {
|
544
|
-
up.migrate.deprecated('Option { reveal: false }', "{ scroll: false }");
|
545
|
-
options.scroll = false;
|
546
|
-
}
|
547
|
-
// Rewrite deprecated { resetScroll } option
|
548
|
-
if (u.isDefined(options.resetScroll)) {
|
549
|
-
up.migrate.deprecated('Option { resetScroll: true }', "{ scroll: 'reset' }");
|
550
|
-
options.scroll = 'teset';
|
551
|
-
}
|
552
|
-
// Rewrite deprecated { restoreScroll } option
|
553
|
-
if (u.isDefined(options.restoreScroll)) {
|
554
|
-
up.migrate.deprecated('Option { restoreScroll: true }', "{ scroll: 'restore' }");
|
555
|
-
options.scroll = 'restore';
|
556
|
-
}
|
557
|
-
}
|
558
|
-
};
|
559
|
-
up.migrate.handleHistoryOption = function (options) {
|
377
|
+
up.migrate.preprocessRenderOptions = function (options) {
|
560
378
|
if (u.isString(options.history) && (options.history !== 'auto')) {
|
561
379
|
up.migrate.warn("Passing a URL as { history } option is deprecated. Pass it as { location } instead.");
|
562
380
|
options.location = options.history;
|
563
|
-
// Also the URL in { history } is truthy, keeping a value in there would also inherit to failOptions,
|
564
|
-
// where it would be expanded to { failLocation }.
|
565
381
|
options.history = 'auto';
|
566
382
|
}
|
567
|
-
|
568
|
-
up.migrate.preprocessRenderOptions = function (options) {
|
569
|
-
up.migrate.handleHistoryOption(options);
|
570
|
-
for (var _i = 0, _a = ['target', 'origin']; _i < _a.length; _i++) {
|
571
|
-
var prop = _a[_i];
|
383
|
+
for (let prop of ['target', 'origin']) {
|
572
384
|
if (u.isJQuery(options[prop])) {
|
573
385
|
up.migrate.warn('Passing a jQuery collection as { %s } is deprecated. Pass it as a native element instead.', prop);
|
574
386
|
options[prop] = up.element.get(options[prop]);
|
575
387
|
}
|
576
388
|
}
|
389
|
+
if (options.fail === 'auto') {
|
390
|
+
up.migrate.warn("The option { fail: 'auto' } is deprecated. Omit the option instead.");
|
391
|
+
delete options.fail;
|
392
|
+
}
|
393
|
+
let solo = u.pluckKey(options, 'solo');
|
394
|
+
if (u.isString(solo)) {
|
395
|
+
up.migrate.warn("The up.render() option { solo } has been replaced by { abort } and { abort } no longer accepts a URL pattern. Check if you can use { abort: 'target'} or use up.network.abort(pattern) instead.");
|
396
|
+
options.abort = (options) => up.network.abort(solo, options);
|
397
|
+
}
|
398
|
+
else if (u.isFunction(solo)) {
|
399
|
+
up.migrate.warn("The up.render() option { solo } has been replaced by { abort } and { abort } no longer accepts a Function(up.Request): boolean. Check if you can use { abort: 'target'} or use up.network.abort(fn) instead.");
|
400
|
+
options.abort = (options) => { up.network.abort(solo, options); };
|
401
|
+
}
|
402
|
+
else if (solo === true) {
|
403
|
+
up.migrate.warn('Option { solo: true }', "{ abort: 'all' }");
|
404
|
+
options.abort = 'all';
|
405
|
+
}
|
406
|
+
else if (solo === false) {
|
407
|
+
up.migrate.warn('Option { solo: false }', "{ abort: false }");
|
408
|
+
options.abort = false;
|
409
|
+
}
|
410
|
+
up.migrate.fixKey(options, 'keep', 'useKeep');
|
411
|
+
up.migrate.fixKey(options, 'hungry', 'useHungry');
|
412
|
+
up.migrate.fixKey(options, 'failOnFinished', 'onFailFinished');
|
413
|
+
if (u.isString(options.reveal)) {
|
414
|
+
up.migrate.deprecated(`Option { reveal: '${options.reveal}' }`, `{ scroll: '${options.reveal}' }`);
|
415
|
+
options.scroll = options.reveal;
|
416
|
+
}
|
417
|
+
else if (options.reveal === true) {
|
418
|
+
up.migrate.deprecated('Option { reveal: true }', "{ scroll: 'target' }");
|
419
|
+
options.scroll = 'target';
|
420
|
+
}
|
421
|
+
else if (options.reveal === false) {
|
422
|
+
up.migrate.deprecated('Option { reveal: false }', "{ scroll: false }");
|
423
|
+
options.scroll = false;
|
424
|
+
}
|
425
|
+
if (u.isDefined(options.resetScroll)) {
|
426
|
+
up.migrate.deprecated('Option { resetScroll: true }', "{ scroll: 'reset' }");
|
427
|
+
options.scroll = 'teset';
|
428
|
+
}
|
429
|
+
if (u.isDefined(options.restoreScroll)) {
|
430
|
+
up.migrate.deprecated('Option { restoreScroll: true }', "{ scroll: 'restore' }");
|
431
|
+
options.scroll = 'restore';
|
432
|
+
}
|
433
|
+
};
|
434
|
+
up.migrate.postprocessReloadOptions = function (options) {
|
435
|
+
var _a;
|
436
|
+
let lastModified = (_a = options.headers) === null || _a === void 0 ? void 0 : _a['If-Modified-Since'];
|
437
|
+
let legacyHeader;
|
438
|
+
if (lastModified) {
|
439
|
+
legacyHeader = Math.floor(new Date(lastModified) * 0.001).toString();
|
440
|
+
}
|
441
|
+
else {
|
442
|
+
legacyHeader = '0';
|
443
|
+
}
|
444
|
+
options.headers[up.protocol.headerize('reloadFromTime')] = legacyHeader;
|
445
|
+
};
|
446
|
+
const ATTR_SELECTOR_PATTERN = /\[([\w-]+)(?:([~|^$*]?=)(["'])?([^\3\]]*?)\3)?]/g;
|
447
|
+
up.migrate.resolveOrigin = function (target, { origin } = {}) {
|
448
|
+
let pattern = new RegExp(ATTR_SELECTOR_PATTERN.source + '|&|:origin\\b', 'g');
|
449
|
+
return target.replace(pattern, function (variant) {
|
450
|
+
if (variant === ':origin' || variant === '&') {
|
451
|
+
if (variant === '&') {
|
452
|
+
up.migrate.deprecated("Origin shorthand '&'", ':origin');
|
453
|
+
}
|
454
|
+
if (origin) {
|
455
|
+
return up.fragment.toTarget(origin);
|
456
|
+
}
|
457
|
+
else {
|
458
|
+
up.fail('Missing { origin } element to resolve "%s" reference (found in %s)', variant, target);
|
459
|
+
}
|
460
|
+
}
|
461
|
+
else {
|
462
|
+
return variant;
|
463
|
+
}
|
464
|
+
});
|
577
465
|
};
|
466
|
+
up.migrate.removedEvent('up:fragment:kept', 'up:fragment:keep');
|
467
|
+
let runScripts = up.fragment.config.runScripts;
|
468
|
+
let runScriptsSet = false;
|
469
|
+
Object.defineProperty(up.fragment.config, 'runScripts', {
|
470
|
+
get() {
|
471
|
+
return runScripts;
|
472
|
+
},
|
473
|
+
set(value) {
|
474
|
+
runScripts = value;
|
475
|
+
runScriptsSet = true;
|
476
|
+
}
|
477
|
+
});
|
478
|
+
up.on('up:framework:boot', function () {
|
479
|
+
if (!runScriptsSet) {
|
480
|
+
up.migrate.warn('Scripts within fragments are now executed. Configure up.fragment.config.runScripts to remove this warning.');
|
481
|
+
}
|
482
|
+
});
|
483
|
+
up.compiler('[up-keep]', function (element) {
|
484
|
+
let selector = up.element.booleanOrStringAttr(element, 'up-keep');
|
485
|
+
if (u.isString(selector)) {
|
486
|
+
up.migrate.warn('The [up-keep] attribute no longer supports a selector value. Elements will be matched by their derived target. You may prevent keeping with [up-on-keep="if(condition) event.preventDefault()"]. ');
|
487
|
+
up.element.setMissingAttr(element, 'up-on-keep', `if (!newFragment.matches(${JSON.stringify(selector)})) event.preventDefault()`);
|
488
|
+
element.setAttribute('up-keep', '');
|
489
|
+
}
|
490
|
+
});
|
578
491
|
|
579
492
|
|
580
493
|
/***/ }),
|
581
494
|
/* 9 */
|
582
|
-
/***/ (
|
495
|
+
/***/ (() => {
|
583
496
|
|
584
|
-
/*-
|
585
|
-
@module up.history
|
586
|
-
*/
|
587
497
|
up.migrate.renamedProperty(up.history.config, 'popTargets', 'restoreTargets');
|
588
|
-
/*-
|
589
|
-
Returns a normalized URL for the current history entry.
|
590
|
-
|
591
|
-
@function up.history.url
|
592
|
-
@return {string}
|
593
|
-
@deprecated Use the `up.history.location` property instead.
|
594
|
-
*/
|
595
498
|
up.history.url = function () {
|
596
499
|
up.migrate.deprecated('up.history.url()', 'up.history.location');
|
597
500
|
return up.history.location;
|
@@ -600,83 +503,48 @@ up.migrate.renamedEvent('up:history:push', 'up:location:changed');
|
|
600
503
|
up.migrate.renamedEvent('up:history:pushed', 'up:location:changed');
|
601
504
|
up.migrate.renamedEvent('up:history:restore', 'up:location:changed');
|
602
505
|
up.migrate.renamedEvent('up:history:restored', 'up:location:changed');
|
603
|
-
// There was never an up:history:replace (present tense) event
|
604
506
|
up.migrate.renamedEvent('up:history:replaced', 'up:location:changed');
|
605
507
|
|
606
508
|
|
607
509
|
/***/ }),
|
608
510
|
/* 10 */
|
609
|
-
/***/ (
|
511
|
+
/***/ (() => {
|
610
512
|
|
611
|
-
/*-
|
612
|
-
@module up.feedback
|
613
|
-
*/
|
614
513
|
up.migrate.renamedPackage('navigation', 'feedback');
|
615
514
|
up.migrate.renamedProperty(up.feedback.config, 'navs', 'navSelectors');
|
616
515
|
|
617
516
|
|
618
517
|
/***/ }),
|
619
518
|
/* 11 */
|
620
|
-
/***/ (
|
519
|
+
/***/ (() => {
|
621
520
|
|
622
|
-
/*-
|
623
|
-
@module up.link
|
624
|
-
*/
|
625
521
|
up.migrate.parseFollowOptions = function (parser) {
|
626
|
-
parser.string('flavor');
|
627
|
-
parser.string('width');
|
628
|
-
parser.string('height');
|
629
|
-
parser.boolean('closable');
|
630
|
-
parser.booleanOrString('
|
631
|
-
parser.
|
632
|
-
parser.boolean('
|
633
|
-
parser.
|
522
|
+
parser.string('flavor');
|
523
|
+
parser.string('width');
|
524
|
+
parser.string('height');
|
525
|
+
parser.boolean('closable');
|
526
|
+
parser.booleanOrString('solo');
|
527
|
+
parser.booleanOrString('reveal');
|
528
|
+
parser.boolean('resetScroll');
|
529
|
+
parser.boolean('restoreScroll');
|
530
|
+
parser.booleanOrString('historyVisible');
|
531
|
+
parser.booleanOrString('clearCache');
|
634
532
|
};
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
This is done by:
|
639
|
-
|
640
|
-
- [Following the link through AJAX](/a-up-follow) instead of a full page load
|
641
|
-
- [Preloading the link's destination URL](/a-up-preload)
|
642
|
-
- [Triggering the link on `mousedown`](/a-up-instant) instead of on `click`
|
643
|
-
|
644
|
-
### Example
|
645
|
-
|
646
|
-
Use `[up-dash]` like this:
|
647
|
-
|
648
|
-
<a href="/users" up-dash=".main">User list</a>
|
649
|
-
|
650
|
-
This is shorthand for:
|
651
|
-
|
652
|
-
<a href="/users" up-target=".main" up-instant up-preload>User list</a>
|
653
|
-
|
654
|
-
@selector a[up-dash]
|
655
|
-
@param [up-dash='body']
|
656
|
-
The CSS selector to replace
|
657
|
-
|
658
|
-
Inside the CSS selector you may refer to this link as `&` ([like in Sass](https://sass-lang.com/documentation/file.SASS_REFERENCE.html#parent-selector)).
|
659
|
-
@deprecated
|
660
|
-
To accelerate all links use `up.link.config.instantSelectors` and `up.link.config.preloadSelectors`.
|
661
|
-
*/
|
662
|
-
up.migrate.targetMacro('up-dash', { 'up-preload': '', 'up-instant': '' }, function () { return up.migrate.deprecated('a[up-dash]', 'up.link.config.instantSelectors or up.link.config.preloadSelectors'); });
|
533
|
+
up.migrate.targetMacro('up-dash', { 'up-preload': '', 'up-instant': '' }, () => up.migrate.deprecated('a[up-dash]', 'up.link.config.instantSelectors and up.link.config.preloadSelectors'));
|
534
|
+
up.migrate.renamedAttribute('up-delay', 'up-preload-delay', { scope: up.link.preloadSelector });
|
663
535
|
|
664
536
|
|
665
537
|
/***/ }),
|
666
538
|
/* 12 */
|
667
|
-
/***/ (
|
539
|
+
/***/ (() => {
|
668
540
|
|
669
|
-
/*-
|
670
|
-
@module up.layer
|
671
|
-
*/
|
672
541
|
up.migrate.handleLayerOptions = function (options) {
|
673
542
|
up.migrate.fixKey(options, 'flavor', 'mode');
|
674
543
|
up.migrate.fixKey(options, 'closable', 'dismissable');
|
675
544
|
up.migrate.fixKey(options, 'closeLabel', 'dismissLabel');
|
676
|
-
for (
|
677
|
-
var dimensionKey = _a[_i];
|
545
|
+
for (let dimensionKey of ['width', 'maxWidth', 'height']) {
|
678
546
|
if (options[dimensionKey]) {
|
679
|
-
up.migrate.warn(
|
547
|
+
up.migrate.warn(`Layer option { ${dimensionKey} } has been removed. Use { size } or { class } instead.`);
|
680
548
|
}
|
681
549
|
}
|
682
550
|
if (options.sticky) {
|
@@ -690,39 +558,23 @@ up.migrate.handleLayerOptions = function (options) {
|
|
690
558
|
options.layer = 'root';
|
691
559
|
}
|
692
560
|
if ((options.layer === 'modal') || (options.layer === 'popup')) {
|
693
|
-
up.migrate.warn(
|
561
|
+
up.migrate.warn(`Option { layer: '${options.layer}' } has been removed. Did you mean { layer: 'overlay' }?`);
|
694
562
|
options.layer = 'overlay';
|
695
563
|
}
|
696
564
|
};
|
697
565
|
up.migrate.handleTetherOptions = function (options) {
|
698
|
-
|
566
|
+
const [position, align] = options.position.split('-');
|
699
567
|
if (align) {
|
700
|
-
up.migrate.warn('The position value %o is deprecated. Use %o instead.', options.position, { position
|
568
|
+
up.migrate.warn('The position value %o is deprecated. Use %o instead.', options.position, { position, align });
|
701
569
|
options.position = position;
|
702
570
|
options.align = align;
|
703
571
|
}
|
704
572
|
};
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
To make a link that closes the current overlay, but follows to
|
711
|
-
a fallback destination on the root layer:
|
712
|
-
|
713
|
-
<a href="/fallback" up-close>Okay</a>
|
714
|
-
|
715
|
-
@selector a[up-close]
|
716
|
-
@deprecated
|
717
|
-
Use `a[up-dismiss]` instead.
|
718
|
-
*/
|
719
|
-
up.migrate.registerLayerCloser = function (layer) {
|
720
|
-
return layer.registerClickCloser('up-close', function (value, closeOptions) {
|
721
|
-
up.migrate.deprecated('[up-close]', '[up-dismiss]');
|
722
|
-
layer.dismiss(value, closeOptions);
|
723
|
-
});
|
724
|
-
};
|
725
|
-
up.migrate.handleLayerConfig = function (config) { return up.migrate.fixKey(config, 'historyVisible', 'history'); };
|
573
|
+
up.migrate.registerLayerCloser = layer => layer.registerClickCloser('up-close', (value, closeOptions) => {
|
574
|
+
up.migrate.deprecated('[up-close]', '[up-dismiss]');
|
575
|
+
layer.dismiss(value, closeOptions);
|
576
|
+
});
|
577
|
+
up.migrate.handleLayerConfig = config => up.migrate.fixKey(config, 'historyVisible', 'history');
|
726
578
|
up.util.getter(up.Layer.prototype, 'historyVisible', function () {
|
727
579
|
up.migrate.deprecated('up.Layer#historyVisible', 'up.Layer#history');
|
728
580
|
return this.history;
|
@@ -731,161 +583,52 @@ up.util.getter(up.Layer.prototype, 'historyVisible', function () {
|
|
731
583
|
|
732
584
|
/***/ }),
|
733
585
|
/* 13 */
|
734
|
-
/***/ (
|
586
|
+
/***/ (() => {
|
735
587
|
|
736
|
-
|
737
|
-
@module up.layer
|
738
|
-
*/
|
739
|
-
var __assign = (this && this.__assign) || function () {
|
740
|
-
__assign = Object.assign || function(t) {
|
741
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
742
|
-
s = arguments[i];
|
743
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
744
|
-
t[p] = s[p];
|
745
|
-
}
|
746
|
-
return t;
|
747
|
-
};
|
748
|
-
return __assign.apply(this, arguments);
|
749
|
-
};
|
750
|
-
var FLAVORS_ERROR = new Error('up.modal.flavors has been removed without direct replacement. You may give new layers a { class } or modify layer elements on up:layer:open.');
|
588
|
+
const FLAVORS_ERROR = new Error('up.modal.flavors has been removed without direct replacement. You may give new layers a { class } or modify layer elements on up:layer:open.');
|
751
589
|
up.modal = {
|
752
|
-
|
753
|
-
Opens a modal overlay for the given URL.
|
754
|
-
|
755
|
-
@function up.modal.visit
|
756
|
-
@param {string} url
|
757
|
-
The URL to load.
|
758
|
-
@param {Object} options
|
759
|
-
See options for `up.render()`.
|
760
|
-
@deprecated
|
761
|
-
Use `up.layer.open({ url, mode: "modal" })` instead.
|
762
|
-
*/
|
763
|
-
visit: function (url, options) {
|
764
|
-
if (options === void 0) { options = {}; }
|
590
|
+
visit(url, options = {}) {
|
765
591
|
up.migrate.deprecated('up.modal.visit(url)', 'up.layer.open({ url, mode: "modal" })');
|
766
|
-
return up.layer.open(
|
592
|
+
return up.layer.open(Object.assign(Object.assign({}, options), { url, mode: 'modal' }));
|
767
593
|
},
|
768
|
-
|
769
|
-
Opens the given link's destination in a modal overlay.
|
770
|
-
|
771
|
-
@function up.modal.follow
|
772
|
-
@param {Element|jQuery|string} linkOrSelector
|
773
|
-
The link to follow.
|
774
|
-
@param {string} [options]
|
775
|
-
See options for `up.render()`.
|
776
|
-
@return {Promise}
|
777
|
-
A promise that will be fulfilled when the modal has been opened.
|
778
|
-
@deprecated
|
779
|
-
Use `up.follow(link, { layer: "modal" })` instead.
|
780
|
-
*/
|
781
|
-
follow: function (link, options) {
|
782
|
-
if (options === void 0) { options = {}; }
|
594
|
+
follow(link, options = {}) {
|
783
595
|
up.migrate.deprecated('up.modal.follow(link)', 'up.follow(link, { layer: "modal" })');
|
784
|
-
return up.follow(link,
|
596
|
+
return up.follow(link, Object.assign(Object.assign({}, options), { layer: 'modal' }));
|
785
597
|
},
|
786
|
-
|
787
|
-
[Extracts](/up.extract) the given CSS selector from the given HTML string and
|
788
|
-
opens the results in a modal overlay.
|
789
|
-
|
790
|
-
@function up.modal.extract
|
791
|
-
@param {string} selector
|
792
|
-
The CSS selector to extract from the HTML.
|
793
|
-
@param {string} document
|
794
|
-
The HTML containing the modal content.
|
795
|
-
@param {Object} options
|
796
|
-
See options for [`up.modal.follow()`](/up.modal.follow).
|
797
|
-
@return {Promise}
|
798
|
-
A promise that will be fulfilled when the modal has been opened.
|
799
|
-
@deprecated
|
800
|
-
Use `up.layer.open({ document, mode: "modal" })` instead.
|
801
|
-
*/
|
802
|
-
extract: function (target, html, options) {
|
803
|
-
if (options === void 0) { options = {}; }
|
598
|
+
extract(target, html, options = {}) {
|
804
599
|
up.migrate.deprecated('up.modal.extract(target, document)', 'up.layer.open({ document, mode: "modal" })');
|
805
|
-
return up.layer.open(
|
600
|
+
return up.layer.open(Object.assign(Object.assign({}, options), { target, html, layer: 'modal' }));
|
806
601
|
},
|
807
|
-
|
808
|
-
Closes a currently open overlay.
|
809
|
-
|
810
|
-
@function up.modal.close
|
811
|
-
@param {Object} options
|
812
|
-
@return {Promise}
|
813
|
-
@deprecated
|
814
|
-
Use `up.layer.dismiss()` instead.
|
815
|
-
*/
|
816
|
-
close: function (options) {
|
817
|
-
if (options === void 0) { options = {}; }
|
602
|
+
close(options = {}) {
|
818
603
|
up.migrate.deprecated('up.modal.close()', 'up.layer.dismiss()');
|
819
604
|
up.layer.dismiss(null, options);
|
820
605
|
return up.migrate.formerlyAsync('up.layer.dismiss()');
|
821
606
|
},
|
822
|
-
|
823
|
-
Returns the location URL of the fragment displayed in the current overlay.
|
824
|
-
|
825
|
-
@function up.modal.url
|
826
|
-
@return {string}
|
827
|
-
@deprecated
|
828
|
-
Use `up.layer.location` instead.
|
829
|
-
*/
|
830
|
-
url: function () {
|
607
|
+
url() {
|
831
608
|
up.migrate.deprecated('up.modal.url()', 'up.layer.location');
|
832
609
|
return up.layer.location;
|
833
610
|
},
|
834
|
-
|
835
|
-
Returns the location URL of the layer behind the current overlay.
|
836
|
-
|
837
|
-
@function up.modal.coveredUrl
|
838
|
-
@return {string}
|
839
|
-
@deprecated
|
840
|
-
Use `up.layer.parent.location` instead.
|
841
|
-
*/
|
842
|
-
coveredUrl: function () {
|
611
|
+
coveredUrl() {
|
843
612
|
var _a;
|
844
613
|
up.migrate.deprecated('up.modal.coveredUrl()', 'up.layer.parent.location');
|
845
614
|
return (_a = up.layer.parent) === null || _a === void 0 ? void 0 : _a.location;
|
846
615
|
},
|
847
|
-
/*-
|
848
|
-
Sets default options for future modal overlays.
|
849
|
-
|
850
|
-
@property up.modal.config
|
851
|
-
@deprecated
|
852
|
-
Use `up.layer.config.modal` instead.
|
853
|
-
*/
|
854
616
|
get config() {
|
855
617
|
up.migrate.deprecated('up.modal.config', 'up.layer.config.modal');
|
856
618
|
return up.layer.config.modal;
|
857
619
|
},
|
858
|
-
|
859
|
-
Returns whether the given element or selector is contained
|
860
|
-
within the current layer.
|
861
|
-
|
862
|
-
@function up.modal.contains
|
863
|
-
@param {string} elementOrSelector
|
864
|
-
The element to test
|
865
|
-
@return {boolean}
|
866
|
-
@deprecated
|
867
|
-
Use `up.layer.contains()` instead.
|
868
|
-
*/
|
869
|
-
contains: function (element) {
|
620
|
+
contains(element) {
|
870
621
|
up.migrate.deprecated('up.modal.contains()', 'up.layer.contains()');
|
871
622
|
return up.layer.contains(element);
|
872
623
|
},
|
873
|
-
|
874
|
-
Returns whether an overlay is currently open.
|
875
|
-
|
876
|
-
@function up.modal.isOpen
|
877
|
-
@return {boolean}
|
878
|
-
@deprecated
|
879
|
-
Use `up.layer.isOverlay()` instead.
|
880
|
-
*/
|
881
|
-
isOpen: function () {
|
624
|
+
isOpen() {
|
882
625
|
up.migrate.deprecated('up.modal.isOpen()', 'up.layer.isOverlay()');
|
883
626
|
return up.layer.isOverlay();
|
884
627
|
},
|
885
628
|
get flavors() {
|
886
629
|
throw FLAVORS_ERROR;
|
887
630
|
},
|
888
|
-
flavor
|
631
|
+
flavor() {
|
889
632
|
throw FLAVORS_ERROR;
|
890
633
|
}
|
891
634
|
};
|
@@ -893,150 +636,47 @@ up.migrate.renamedEvent('up:modal:open', 'up:layer:open');
|
|
893
636
|
up.migrate.renamedEvent('up:modal:opened', 'up:layer:opened');
|
894
637
|
up.migrate.renamedEvent('up:modal:close', 'up:layer:dismiss');
|
895
638
|
up.migrate.renamedEvent('up:modal:closed', 'up:layer:dismissed');
|
896
|
-
|
897
|
-
|
898
|
-
the given selector in a modal overlay.
|
899
|
-
|
900
|
-
@selector a[up-modal]
|
901
|
-
@params-note
|
902
|
-
All attributes for `a[up-layer=new]` may also be used.
|
903
|
-
@param {string} up-modal
|
904
|
-
The CSS selector that will be extracted from the response and displayed in a modal dialog.
|
905
|
-
@deprecated
|
906
|
-
Use `a[up-layer="new modal"]` instead.
|
907
|
-
*/
|
908
|
-
up.migrate.targetMacro('up-modal', { 'up-layer': 'new modal' }, function () { return up.migrate.deprecated('a[up-modal]', 'a[up-layer="new modal"]'); });
|
909
|
-
/*-
|
910
|
-
Clicking this link will load the destination via AJAX and open
|
911
|
-
the given selector in a modal drawer that slides in from the edge of the screen.
|
912
|
-
|
913
|
-
@selector a[up-drawer]
|
914
|
-
@params-note
|
915
|
-
All attributes for `a[up-layer=new]` may also be used.
|
916
|
-
@param {string} up-drawer
|
917
|
-
The CSS selector that will be extracted from the response and displayed in a modal dialog.
|
918
|
-
@deprecated
|
919
|
-
Use `a[up-layer="new drawer"]` instead.
|
920
|
-
*/
|
921
|
-
up.migrate.targetMacro('up-drawer', { 'up-layer': 'new drawer' }, function () { return up.migrate.deprecated('a[up-drawer]', 'a[up-layer="new drawer"]'); });
|
639
|
+
up.migrate.targetMacro('up-modal', { 'up-layer': 'new modal' }, () => up.migrate.deprecated('a[up-modal]', 'a[up-layer="new modal"]'));
|
640
|
+
up.migrate.targetMacro('up-drawer', { 'up-layer': 'new drawer' }, () => up.migrate.deprecated('a[up-drawer]', 'a[up-layer="new drawer"]'));
|
922
641
|
|
923
642
|
|
924
643
|
/***/ }),
|
925
644
|
/* 14 */
|
926
|
-
/***/ (
|
645
|
+
/***/ (() => {
|
927
646
|
|
928
|
-
/*-
|
929
|
-
@module up.layer
|
930
|
-
*/
|
931
|
-
var __assign = (this && this.__assign) || function () {
|
932
|
-
__assign = Object.assign || function(t) {
|
933
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
934
|
-
s = arguments[i];
|
935
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
936
|
-
t[p] = s[p];
|
937
|
-
}
|
938
|
-
return t;
|
939
|
-
};
|
940
|
-
return __assign.apply(this, arguments);
|
941
|
-
};
|
942
647
|
up.popup = {
|
943
|
-
|
944
|
-
Attaches a popup overlay to the given element or selector.
|
945
|
-
|
946
|
-
@function up.popup.attach
|
947
|
-
@param {Element|jQuery|string} anchor
|
948
|
-
The element to which the popup will be attached.
|
949
|
-
@param {Object} [options]
|
950
|
-
See options for `up.render()`.
|
951
|
-
@return {Promise}
|
952
|
-
@deprecated
|
953
|
-
Use `up.layer.open({ origin, layer: 'popup' })` instead.
|
954
|
-
*/
|
955
|
-
attach: function (origin, options) {
|
956
|
-
if (options === void 0) { options = {}; }
|
648
|
+
attach(origin, options = {}) {
|
957
649
|
origin = up.fragment.get(origin);
|
958
650
|
up.migrate.deprecated('up.popup.attach(origin)', "up.layer.open({ origin, layer: 'popup' })");
|
959
|
-
return up.layer.open(
|
651
|
+
return up.layer.open(Object.assign(Object.assign({}, options), { origin, layer: 'popup' }));
|
960
652
|
},
|
961
|
-
|
962
|
-
Closes a currently open overlay.
|
963
|
-
|
964
|
-
@function up.popup.close
|
965
|
-
@param {Object} options
|
966
|
-
@return {Promise}
|
967
|
-
@deprecated
|
968
|
-
Use `up.layer.dismiss()` instead.
|
969
|
-
*/
|
970
|
-
close: function (options) {
|
971
|
-
if (options === void 0) { options = {}; }
|
653
|
+
close(options = {}) {
|
972
654
|
up.migrate.deprecated('up.popup.close()', 'up.layer.dismiss()');
|
973
655
|
up.layer.dismiss(null, options);
|
974
656
|
return up.migrate.formerlyAsync('up.layer.dismiss()');
|
975
657
|
},
|
976
|
-
|
977
|
-
Returns the location URL of the fragment displayed in the current overlay.
|
978
|
-
|
979
|
-
@function up.popup.url
|
980
|
-
@return {string}
|
981
|
-
@deprecated
|
982
|
-
Use `up.layer.location` instead.
|
983
|
-
*/
|
984
|
-
url: function () {
|
658
|
+
url() {
|
985
659
|
up.migrate.deprecated('up.popup.url()', 'up.layer.location');
|
986
660
|
return up.layer.location;
|
987
661
|
},
|
988
|
-
|
989
|
-
Returns the location URL of the layer behind the current overlay.
|
990
|
-
|
991
|
-
@function up.popup.coveredUrl
|
992
|
-
@return {string}
|
993
|
-
@deprecated
|
994
|
-
Use `up.layer.parent.location` instead.
|
995
|
-
*/
|
996
|
-
coveredUrl: function () {
|
662
|
+
coveredUrl() {
|
997
663
|
var _a;
|
998
664
|
up.migrate.deprecated('up.popup.coveredUrl()', 'up.layer.parent.location');
|
999
665
|
return (_a = up.layer.parent) === null || _a === void 0 ? void 0 : _a.location;
|
1000
666
|
},
|
1001
|
-
/*-
|
1002
|
-
Sets default options for future popup overlays.
|
1003
|
-
|
1004
|
-
@property up.popup.config
|
1005
|
-
@deprecated
|
1006
|
-
Use `up.layer.config.popup` instead.
|
1007
|
-
*/
|
1008
667
|
get config() {
|
1009
668
|
up.migrate.deprecated('up.popup.config', 'up.layer.config.popup');
|
1010
669
|
return up.layer.config.popup;
|
1011
670
|
},
|
1012
|
-
|
1013
|
-
Returns whether the given element or selector is contained
|
1014
|
-
within the current layer.
|
1015
|
-
|
1016
|
-
@function up.popup.contains
|
1017
|
-
@param {string} elementOrSelector
|
1018
|
-
The element to test
|
1019
|
-
@return {boolean}
|
1020
|
-
@deprecated
|
1021
|
-
Use `up.layer.contains()` instead.
|
1022
|
-
*/
|
1023
|
-
contains: function (element) {
|
671
|
+
contains(element) {
|
1024
672
|
up.migrate.deprecated('up.popup.contains()', 'up.layer.contains()');
|
1025
673
|
return up.layer.contains(element);
|
1026
674
|
},
|
1027
|
-
|
1028
|
-
Returns whether an overlay is currently open.
|
1029
|
-
|
1030
|
-
@function up.popup.isOpen
|
1031
|
-
@return {boolean}
|
1032
|
-
@deprecated
|
1033
|
-
Use `up.layer.isOverlay()` instead.
|
1034
|
-
*/
|
1035
|
-
isOpen: function () {
|
675
|
+
isOpen() {
|
1036
676
|
up.migrate.deprecated('up.popup.isOpen()', 'up.layer.isOverlay()');
|
1037
677
|
return up.layer.isOverlay();
|
1038
678
|
},
|
1039
|
-
sync
|
679
|
+
sync() {
|
1040
680
|
up.migrate.deprecated('up.popup.sync()', 'up.layer.sync()');
|
1041
681
|
return up.layer.sync();
|
1042
682
|
}
|
@@ -1045,22 +685,13 @@ up.migrate.renamedEvent('up:popup:open', 'up:layer:open');
|
|
1045
685
|
up.migrate.renamedEvent('up:popup:opened', 'up:layer:opened');
|
1046
686
|
up.migrate.renamedEvent('up:popup:close', 'up:layer:dismiss');
|
1047
687
|
up.migrate.renamedEvent('up:popup:closed', 'up:layer:dismissed');
|
1048
|
-
up.migrate.targetMacro('up-popup', { 'up-layer': 'new popup' },
|
688
|
+
up.migrate.targetMacro('up-popup', { 'up-layer': 'new popup' }, () => up.migrate.deprecated('[up-popup]', '[up-layer="new popup"]'));
|
1049
689
|
|
1050
690
|
|
1051
691
|
/***/ }),
|
1052
692
|
/* 15 */
|
1053
|
-
/***/ (
|
1054
|
-
|
1055
|
-
/*-
|
1056
|
-
Tooltips
|
1057
|
-
========
|
1058
|
-
|
1059
|
-
Unpoly used to come with a basic tooltip implementation.
|
1060
|
-
This feature is now deprecated.
|
693
|
+
/***/ (() => {
|
1061
694
|
|
1062
|
-
@module up.tooltip
|
1063
|
-
*/
|
1064
695
|
up.macro('[up-tooltip]', function (opener) {
|
1065
696
|
up.migrate.warn('[up-tooltip] has been deprecated. A [title] was set instead.');
|
1066
697
|
up.element.setMissingAttr(opener, 'title', opener.getAttribute('up-tooltip'));
|
@@ -1069,133 +700,107 @@ up.macro('[up-tooltip]', function (opener) {
|
|
1069
700
|
|
1070
701
|
/***/ }),
|
1071
702
|
/* 16 */
|
1072
|
-
/***/ (
|
703
|
+
/***/ (() => {
|
1073
704
|
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
705
|
+
up.migrate.clearCacheFromXHR = function (xhr) {
|
706
|
+
let value = xhr.getResponseHeader('X-Up-Clear-Cache');
|
707
|
+
if (value) {
|
708
|
+
up.migrate.deprecated('X-Up-Clear-Cache', 'X-Up-Expire-Cache');
|
709
|
+
if (value === 'false') {
|
710
|
+
return false;
|
711
|
+
}
|
712
|
+
else {
|
713
|
+
return value;
|
714
|
+
}
|
715
|
+
}
|
716
|
+
};
|
717
|
+
|
718
|
+
|
719
|
+
/***/ }),
|
720
|
+
/* 17 */
|
721
|
+
/***/ (() => {
|
722
|
+
|
723
|
+
const u = up.util;
|
1078
724
|
up.migrate.renamedPackage('proxy', 'network');
|
1079
|
-
up.migrate.renamedEvent('up:proxy:load', 'up:request:load');
|
1080
|
-
up.migrate.renamedEvent('up:proxy:received', 'up:request:loaded');
|
1081
|
-
up.migrate.renamedEvent('up:proxy:loaded', 'up:request:loaded');
|
1082
|
-
up.migrate.renamedEvent('up:proxy:fatal', 'up:request:
|
1083
|
-
up.migrate.renamedEvent('up:
|
1084
|
-
up.migrate.renamedEvent('up:proxy:
|
1085
|
-
up.migrate.renamedEvent('up:proxy:
|
1086
|
-
|
725
|
+
up.migrate.renamedEvent('up:proxy:load', 'up:request:load');
|
726
|
+
up.migrate.renamedEvent('up:proxy:received', 'up:request:loaded');
|
727
|
+
up.migrate.renamedEvent('up:proxy:loaded', 'up:request:loaded');
|
728
|
+
up.migrate.renamedEvent('up:proxy:fatal', 'up:request:offline');
|
729
|
+
up.migrate.renamedEvent('up:request:fatal', 'up:request:offline');
|
730
|
+
up.migrate.renamedEvent('up:proxy:aborted', 'up:request:aborted');
|
731
|
+
up.migrate.renamedEvent('up:proxy:slow', 'up:network:late');
|
732
|
+
up.migrate.renamedEvent('up:proxy:recover', 'up:network:recover');
|
733
|
+
up.migrate.renamedEvent('up:request:late', 'up:network:late');
|
734
|
+
up.migrate.renamedEvent('up:request:recover', 'up:network:recover');
|
735
|
+
const preloadDelayMoved = () => up.migrate.deprecated('up.proxy.config.preloadDelay', 'up.link.config.preloadDelay');
|
1087
736
|
Object.defineProperty(up.network.config, 'preloadDelay', {
|
1088
|
-
get
|
737
|
+
get() {
|
1089
738
|
preloadDelayMoved();
|
1090
739
|
return up.link.config.preloadDelay;
|
1091
740
|
},
|
1092
|
-
set
|
741
|
+
set(value) {
|
1093
742
|
preloadDelayMoved();
|
1094
743
|
up.link.config.preloadDelay = value;
|
1095
744
|
}
|
1096
745
|
});
|
1097
746
|
up.migrate.renamedProperty(up.network.config, 'maxRequests', 'concurrency');
|
1098
747
|
up.migrate.renamedProperty(up.network.config, 'slowDelay', 'badResponseTime');
|
1099
|
-
up.migrate.
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
### Example
|
1106
|
-
|
1107
|
-
```
|
1108
|
-
up.ajax('/search', { params: { query: 'sunshine' } }).then(function(text) {
|
1109
|
-
console.log('The response text is %o', text)
|
1110
|
-
}).catch(function() {
|
1111
|
-
console.error('The request failed')
|
1112
|
-
})
|
1113
|
-
```
|
1114
|
-
|
1115
|
-
@function up.ajax
|
1116
|
-
@param {string} [url]
|
1117
|
-
The URL for the request.
|
1118
|
-
|
1119
|
-
Instead of passing the URL as a string argument, you can also pass it as an `{ url }` option.
|
1120
|
-
@param {Object} [options]
|
1121
|
-
See options for `up.request()`.
|
1122
|
-
@return {Promise<string>}
|
1123
|
-
A promise for the response text.
|
1124
|
-
@deprecated
|
1125
|
-
Use `up.request()` instead.
|
1126
|
-
*/
|
1127
|
-
up.ajax = function () {
|
1128
|
-
var args = [];
|
1129
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
1130
|
-
args[_i] = arguments[_i];
|
748
|
+
up.migrate.renamedProperty(up.network.config, 'cacheExpiry', 'cacheExpireAge');
|
749
|
+
up.migrate.renamedProperty(up.network.config, 'clearCache', 'expireCache');
|
750
|
+
up.migrate.handleRequestOptions = function (options) {
|
751
|
+
up.migrate.fixKey(options, 'clearCache', 'expireCache');
|
752
|
+
if (options.solo) {
|
753
|
+
up.migrate.warn('The option up.request({ solo }) has been removed. Use up.network.abort() or up.fragment.abort() instead.');
|
1131
754
|
}
|
755
|
+
};
|
756
|
+
up.ajax = function (...args) {
|
1132
757
|
up.migrate.deprecated('up.ajax()', 'up.request()');
|
1133
|
-
|
1134
|
-
return up.request
|
758
|
+
const pickResponseText = response => response.text;
|
759
|
+
return up.request(...args).then(pickResponseText);
|
1135
760
|
};
|
1136
|
-
/*-
|
1137
|
-
Removes all cache entries.
|
1138
|
-
|
1139
|
-
@function up.proxy.clear
|
1140
|
-
@deprecated
|
1141
|
-
Use `up.cache.clear()` instead.
|
1142
|
-
*/
|
1143
761
|
up.network.clear = function () {
|
1144
|
-
up.migrate.deprecated('up.proxy.clear()', 'up.cache.
|
1145
|
-
up.cache.
|
762
|
+
up.migrate.deprecated('up.proxy.clear()', 'up.cache.expire()');
|
763
|
+
up.cache.expire();
|
1146
764
|
};
|
1147
|
-
up.
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
}
|
765
|
+
up.Request.Cache.prototype.clear = function (...args) {
|
766
|
+
up.migrate.deprecated('up.cache.clear()', 'up.cache.expire()');
|
767
|
+
this.expire(...args);
|
768
|
+
};
|
769
|
+
up.network.preload = function (...args) {
|
1153
770
|
up.migrate.deprecated('up.proxy.preload(link)', 'up.link.preload(link)');
|
1154
|
-
return
|
771
|
+
return up.link.preload(...args);
|
772
|
+
};
|
773
|
+
up.migrate.preprocessAbortArgs = function (args) {
|
774
|
+
if (args.length === 2 && u.isString(args[1])) {
|
775
|
+
up.migrate.warn('up.network.abort() no longer takes a reason as a second argument. Pass it as { reason } option instead.');
|
776
|
+
args[1] = { reason: args[1] };
|
777
|
+
}
|
778
|
+
};
|
779
|
+
up.network.isIdle = function () {
|
780
|
+
up.migrate.deprecated('up.network.isIdle()', '!up.network.isBusy()');
|
781
|
+
return !up.network.isBusy();
|
1155
782
|
};
|
1156
|
-
/*-
|
1157
|
-
@class up.Request
|
1158
|
-
*/
|
1159
783
|
up.Request.prototype.navigate = function () {
|
1160
784
|
up.migrate.deprecated('up.Request#navigate()', 'up.Request#loadPage()');
|
1161
785
|
this.loadPage();
|
1162
786
|
};
|
1163
|
-
/*-
|
1164
|
-
@class up.Response
|
1165
|
-
*/
|
1166
|
-
/*-
|
1167
|
-
Returns whether the server responded with a 2xx HTTP status.
|
1168
|
-
|
1169
|
-
@function up.Response#isSuccess
|
1170
|
-
@return {boolean}
|
1171
|
-
@deprecated
|
1172
|
-
Use `up.Response#ok` instead.
|
1173
|
-
*/
|
1174
787
|
up.Response.prototype.isSuccess = function () {
|
1175
788
|
up.migrate.deprecated('up.Response#isSuccess()', 'up.Response#ok');
|
1176
789
|
return this.ok;
|
1177
790
|
};
|
1178
|
-
/*-
|
1179
|
-
Returns whether the response was not [successful](/up.Response.prototype.ok).
|
1180
|
-
|
1181
|
-
@function up.Response#isError
|
1182
|
-
@return {boolean}
|
1183
|
-
@deprecated
|
1184
|
-
Use `!up.Response#ok` instead.
|
1185
|
-
*/
|
1186
791
|
up.Response.prototype.isError = function () {
|
1187
792
|
up.migrate.deprecated('up.Response#isError()', '!up.Response#ok');
|
1188
793
|
return !this.ok;
|
1189
794
|
};
|
1190
795
|
function mayHaveCustomIndicator() {
|
1191
|
-
|
1192
|
-
return u.find(listeners,
|
796
|
+
const listeners = up.EventListener.allNonDefault(document);
|
797
|
+
return u.find(listeners, listener => listener.eventType === 'up:network:late');
|
1193
798
|
}
|
1194
|
-
|
799
|
+
const progressBarDefault = up.network.config.progressBar;
|
1195
800
|
function disableProgressBarIfCustomIndicator() {
|
1196
801
|
up.network.config.progressBar = function () {
|
1197
802
|
if (mayHaveCustomIndicator()) {
|
1198
|
-
up.migrate.warn('Disabled the default progress bar as may have built a custom loading indicator with your up:
|
803
|
+
up.migrate.warn('Disabled the default progress bar as may have built a custom loading indicator with your up:network:late listener. Please set up.network.config.progressBar to true or false.');
|
1199
804
|
return false;
|
1200
805
|
}
|
1201
806
|
else {
|
@@ -1208,46 +813,30 @@ up.on('up:framework:reset', disableProgressBarIfCustomIndicator);
|
|
1208
813
|
|
1209
814
|
|
1210
815
|
/***/ }),
|
1211
|
-
/*
|
1212
|
-
/***/ (
|
816
|
+
/* 18 */
|
817
|
+
/***/ (() => {
|
1213
818
|
|
1214
|
-
/*-
|
1215
|
-
@module up.radio
|
1216
|
-
*/
|
1217
819
|
up.migrate.renamedProperty(up.radio.config, 'hungry', 'hungrySelectors');
|
1218
820
|
|
1219
821
|
|
1220
822
|
/***/ }),
|
1221
|
-
/*
|
1222
|
-
/***/ (
|
823
|
+
/* 19 */
|
824
|
+
/***/ (() => {
|
1223
825
|
|
1224
|
-
/*-
|
1225
|
-
@module up.viewport
|
1226
|
-
*/
|
1227
826
|
up.migrate.renamedPackage('layout', 'viewport');
|
1228
827
|
up.migrate.renamedProperty(up.viewport.config, 'viewports', 'viewportSelectors');
|
1229
828
|
up.migrate.renamedProperty(up.viewport.config, 'snap', 'revealSnap');
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
Returns the [document's scrolling element](/up.viewport.root)
|
1234
|
-
if no closer viewport exists.
|
1235
|
-
|
1236
|
-
@function up.viewport.closest
|
1237
|
-
@param {string|Element|jQuery} target
|
1238
|
-
@return {Element}
|
1239
|
-
@deprecated
|
1240
|
-
Use `up.viewport.get()` instead.
|
1241
|
-
*/
|
1242
|
-
up.viewport.closest = function () {
|
1243
|
-
var _a;
|
1244
|
-
var args = [];
|
1245
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
1246
|
-
args[_i] = arguments[_i];
|
1247
|
-
}
|
829
|
+
up.migrate.removedProperty(up.viewport.config, 'scrollSpeed');
|
830
|
+
up.viewport.closest = function (...args) {
|
1248
831
|
up.migrate.deprecated('up.viewport.closest()', 'up.viewport.get()');
|
1249
|
-
return
|
832
|
+
return up.viewport.get(...args);
|
1250
833
|
};
|
834
|
+
up.viewport.scroll = function (viewport, top, options = {}) {
|
835
|
+
viewport = up.fragment.get(viewport, options);
|
836
|
+
viewport.scrollTo(Object.assign(Object.assign({}, options), { top }));
|
837
|
+
return up.migrate.formerlyAsync('up.scroll()');
|
838
|
+
};
|
839
|
+
up.scroll = up.viewport.scroll;
|
1251
840
|
|
1252
841
|
|
1253
842
|
/***/ })
|
@@ -1271,7 +860,7 @@ up.viewport.closest = function () {
|
|
1271
860
|
/******/ };
|
1272
861
|
/******/
|
1273
862
|
/******/ // Execute the module function
|
1274
|
-
/******/ __webpack_modules__[moduleId]
|
863
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
1275
864
|
/******/
|
1276
865
|
/******/ // Return the exports of the module
|
1277
866
|
/******/ return module.exports;
|
@@ -1280,8 +869,7 @@ up.viewport.closest = function () {
|
|
1280
869
|
/************************************************************************/
|
1281
870
|
var __webpack_exports__ = {};
|
1282
871
|
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
1283
|
-
|
1284
|
-
// We are going to add compilers and event handlers that should not be reset during specs.
|
872
|
+
(() => {
|
1285
873
|
up.framework.startExtension();
|
1286
874
|
__webpack_require__(1);
|
1287
875
|
__webpack_require__(2);
|
@@ -1301,8 +889,10 @@ __webpack_require__(15);
|
|
1301
889
|
__webpack_require__(16);
|
1302
890
|
__webpack_require__(17);
|
1303
891
|
__webpack_require__(18);
|
892
|
+
__webpack_require__(19);
|
1304
893
|
up.framework.stopExtension();
|
1305
894
|
|
1306
|
-
}();
|
895
|
+
})();
|
896
|
+
|
1307
897
|
/******/ })()
|
1308
898
|
;
|