@hpcc-js/dgrid 2.34.1 → 2.34.2
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/dist/index.es6.js +2079 -2079
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +2079 -2079
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +8 -8
- package/dist/index.min.js.map +1 -1
- package/package.json +2 -2
- package/src/Common.ts +1 -1
- package/src/__package__.ts +2 -2
- package/types/__package__.d.ts +2 -2
- package/types-3.4/__package__.d.ts +2 -2
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@hpcc-js/dgrid"] = {}, global["@hpcc-js/common"], global["@hpcc-js/util"]));
|
|
5
5
|
})(this, (function (exports, common, util) {
|
|
6
6
|
var PKG_NAME = "@hpcc-js/dgrid";
|
|
7
|
-
var PKG_VERSION = "2.34.
|
|
8
|
-
var BUILD_VERSION = "2.108.
|
|
7
|
+
var PKG_VERSION = "2.34.2";
|
|
8
|
+
var BUILD_VERSION = "2.108.4";
|
|
9
9
|
|
|
10
10
|
/******************************************************************************
|
|
11
11
|
Copyright (c) Microsoft Corporation.
|
|
@@ -7230,1349 +7230,1839 @@
|
|
|
7230
7230
|
|
|
7231
7231
|
/***/ }),
|
|
7232
7232
|
|
|
7233
|
-
/***/
|
|
7234
|
-
|
|
7235
|
-
!***
|
|
7236
|
-
|
|
7237
|
-
/***/ ((module
|
|
7233
|
+
/***/ 2093:
|
|
7234
|
+
/*!******************************************************************!*\
|
|
7235
|
+
!*** ../../../../../../../tmp/tmp-5915xSdKDAV2AL3m/dojo/dojo.js ***!
|
|
7236
|
+
\******************************************************************/
|
|
7237
|
+
/***/ ((module) => {
|
|
7238
7238
|
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
// * Applying the query engine
|
|
7265
|
-
// kwArgs:
|
|
7266
|
-
// The properties that define the query method
|
|
7267
|
-
// returns: Function
|
|
7268
|
-
// Returns a function that takes query arguments and returns a new collection with
|
|
7269
|
-
// the query associated with it.
|
|
7239
|
+
module.exports = function(userConfig, defaultConfig, global, window) { this.loaderVersion = "1.17.3"; (function(
|
|
7240
|
+
userConfig,
|
|
7241
|
+
defaultConfig
|
|
7242
|
+
){
|
|
7243
|
+
// summary:
|
|
7244
|
+
// This is the "source loader" and is the entry point for Dojo during development. You may also load Dojo with
|
|
7245
|
+
// any AMD-compliant loader via the package main module dojo/main.
|
|
7246
|
+
// description:
|
|
7247
|
+
// This is the "source loader" for Dojo. It provides an AMD-compliant loader that can be configured
|
|
7248
|
+
// to operate in either synchronous or asynchronous modes. After the loader is defined, dojo is loaded
|
|
7249
|
+
// IAW the package main module dojo/main. In the event you wish to use a foreign loader, you may load dojo as a package
|
|
7250
|
+
// via the package main module dojo/main and this loader is not required; see dojo/package.json for details.
|
|
7251
|
+
//
|
|
7252
|
+
// In order to keep compatibility with the v1.x line, this loader includes additional machinery that enables
|
|
7253
|
+
// the dojo.provide, dojo.require et al API. This machinery is loaded by default, but may be dynamically removed
|
|
7254
|
+
// via the has.js API and statically removed via the build system.
|
|
7255
|
+
//
|
|
7256
|
+
// This loader includes sniffing machinery to determine the environment; the following environments are supported:
|
|
7257
|
+
//
|
|
7258
|
+
// - browser
|
|
7259
|
+
// - node.js
|
|
7260
|
+
// - rhino
|
|
7261
|
+
//
|
|
7262
|
+
// This is the so-called "source loader". As such, it includes many optional features that may be discarded by
|
|
7263
|
+
// building a customized version with the build system.
|
|
7270
7264
|
|
|
7271
|
-
|
|
7272
|
-
|
|
7273
|
-
|
|
7274
|
-
|
|
7265
|
+
// Design and Implementation Notes
|
|
7266
|
+
//
|
|
7267
|
+
// This is a dojo-specific adaption of bdLoad, donated to the dojo foundation by Altoviso LLC.
|
|
7268
|
+
//
|
|
7269
|
+
// This function defines an AMD-compliant (http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition)
|
|
7270
|
+
// loader that can be configured to operate in either synchronous or asynchronous modes.
|
|
7271
|
+
//
|
|
7272
|
+
// Since this machinery implements a loader, it does not have the luxury of using a load system and/or
|
|
7273
|
+
// leveraging a utility library. This results in an unpleasantly long file; here is a road map of the contents:
|
|
7274
|
+
//
|
|
7275
|
+
// 1. Small library for use implementing the loader.
|
|
7276
|
+
// 2. Define the has.js API; this is used throughout the loader to bracket features.
|
|
7277
|
+
// 3. Define the node.js and rhino sniffs and sniff.
|
|
7278
|
+
// 4. Define the loader's data.
|
|
7279
|
+
// 5. Define the configuration machinery.
|
|
7280
|
+
// 6. Define the script element sniffing machinery and sniff for configuration data.
|
|
7281
|
+
// 7. Configure the loader IAW the provided user, default, and sniffing data.
|
|
7282
|
+
// 8. Define the global require function.
|
|
7283
|
+
// 9. Define the module resolution machinery.
|
|
7284
|
+
// 10. Define the module and plugin module definition machinery
|
|
7285
|
+
// 11. Define the script injection machinery.
|
|
7286
|
+
// 12. Define the window load detection.
|
|
7287
|
+
// 13. Define the logging API.
|
|
7288
|
+
// 14. Define the tracing API.
|
|
7289
|
+
// 16. Define the AMD define function.
|
|
7290
|
+
// 17. Define the dojo v1.x provide/require machinery--so called "legacy" modes.
|
|
7291
|
+
// 18. Publish global variables.
|
|
7292
|
+
//
|
|
7293
|
+
// Language and Acronyms and Idioms
|
|
7294
|
+
//
|
|
7295
|
+
// moduleId: a CJS module identifier, (used for public APIs)
|
|
7296
|
+
// mid: moduleId (used internally)
|
|
7297
|
+
// packageId: a package identifier (used for public APIs)
|
|
7298
|
+
// pid: packageId (used internally); the implied system or default package has pid===""
|
|
7299
|
+
// pack: package is used internally to reference a package object (since javascript has reserved words including "package")
|
|
7300
|
+
// prid: plugin resource identifier
|
|
7301
|
+
// The integer constant 1 is used in place of true and 0 in place of false.
|
|
7302
|
+
//
|
|
7303
|
+
// The "foreign-loader" has condition is defined if another loader is being used (e.g. webpack) and this code is only
|
|
7304
|
+
// needed for resolving module identifiers based on the config. In this case, only the functions require.toUrl and
|
|
7305
|
+
// require.toAbsMid are supported. The require and define functions are not supported.
|
|
7275
7306
|
|
|
7276
|
-
|
|
7277
|
-
|
|
7278
|
-
|
|
7279
|
-
//
|
|
7280
|
-
//
|
|
7307
|
+
// define global
|
|
7308
|
+
var globalObject = (function(){
|
|
7309
|
+
if (typeof global !== 'undefined' && typeof global !== 'function') {
|
|
7310
|
+
// global spec defines a reference to the global object called 'global'
|
|
7311
|
+
// https://github.com/tc39/proposal-global
|
|
7312
|
+
// `global` is also defined in NodeJS
|
|
7313
|
+
return global;
|
|
7314
|
+
}
|
|
7315
|
+
else if (typeof window !== 'undefined') {
|
|
7316
|
+
// window is defined in browsers
|
|
7317
|
+
return window;
|
|
7318
|
+
}
|
|
7319
|
+
else if (typeof self !== 'undefined') {
|
|
7320
|
+
// self is defined in WebWorkers
|
|
7321
|
+
return self;
|
|
7322
|
+
}
|
|
7323
|
+
return this;
|
|
7324
|
+
})();
|
|
7281
7325
|
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
|
|
7285
|
-
: originalArguments,
|
|
7286
|
-
logEntry = {
|
|
7287
|
-
type: type,
|
|
7288
|
-
arguments: originalArguments,
|
|
7289
|
-
normalizedArguments: normalizedArguments
|
|
7290
|
-
},
|
|
7291
|
-
querierFactory = this._getQuerierFactory(type) || defaultQuerierFactory;
|
|
7326
|
+
// define a minimal library to help build the loader
|
|
7327
|
+
var noop = function(){
|
|
7328
|
+
},
|
|
7292
7329
|
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
|
|
7330
|
+
toString = {}.toString,
|
|
7331
|
+
|
|
7332
|
+
isFunction = function(it){
|
|
7333
|
+
return toString.call(it) == "[object Function]";
|
|
7334
|
+
},
|
|
7335
|
+
|
|
7336
|
+
isArray = function(it){
|
|
7337
|
+
return toString.call(it) == "[object Array]";
|
|
7338
|
+
},
|
|
7339
|
+
|
|
7340
|
+
forEach = function(vector, callback){
|
|
7341
|
+
if(vector){
|
|
7342
|
+
for(var i = 0; i < vector.length;){
|
|
7343
|
+
callback(vector[i++]);
|
|
7344
|
+
}
|
|
7297
7345
|
}
|
|
7346
|
+
},
|
|
7298
7347
|
|
|
7299
|
-
|
|
7300
|
-
|
|
7301
|
-
|
|
7348
|
+
mix = function(dest, src){
|
|
7349
|
+
for(var p in src){
|
|
7350
|
+
dest[p] = src[p];
|
|
7351
|
+
}
|
|
7352
|
+
return dest;
|
|
7353
|
+
},
|
|
7302
7354
|
|
|
7303
|
-
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
7307
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
7355
|
+
makeError = function(error, info){
|
|
7356
|
+
return mix(new Error(error), {src:"dojoLoader", info:info});
|
|
7357
|
+
},
|
|
7308
7358
|
|
|
7359
|
+
uidSeed = 1,
|
|
7309
7360
|
|
|
7310
|
-
|
|
7361
|
+
uid = function(){
|
|
7362
|
+
// Returns a unique identifier (within the lifetime of the document) of the form /_d+/.
|
|
7363
|
+
return "_" + uidSeed++;
|
|
7364
|
+
},
|
|
7311
7365
|
|
|
7312
|
-
|
|
7313
|
-
/*!**********************************************************!*\
|
|
7314
|
-
!*** ../../node_modules/dojo/promise/instrumentation.js ***!
|
|
7315
|
-
\**********************************************************/
|
|
7316
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
7366
|
+
// FIXME: how to doc window.require() api
|
|
7317
7367
|
|
|
7318
|
-
|
|
7319
|
-
|
|
7320
|
-
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7368
|
+
// this will be the global require function; define it immediately so we can start hanging things off of it
|
|
7369
|
+
req = function(
|
|
7370
|
+
config, //(object, optional) hash of configuration properties
|
|
7371
|
+
dependencies, //(array of commonjs.moduleId, optional) list of modules to be loaded before applying callback
|
|
7372
|
+
callback //(function, optional) lambda expression to apply to module values implied by dependencies
|
|
7373
|
+
){
|
|
7374
|
+
return contextRequire(config, dependencies, callback, 0, req);
|
|
7375
|
+
},
|
|
7325
7376
|
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
|
|
7331
|
-
|
|
7332
|
-
|
|
7333
|
-
|
|
7334
|
-
|
|
7335
|
-
|
|
7336
|
-
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
|
|
7340
|
-
|
|
7377
|
+
// the loader uses the has.js API to control feature inclusion/exclusion; define then use throughout
|
|
7378
|
+
global = globalObject,
|
|
7379
|
+
|
|
7380
|
+
doc = global.document,
|
|
7381
|
+
|
|
7382
|
+
element = doc && doc.createElement("DiV"),
|
|
7383
|
+
|
|
7384
|
+
has = req.has = function(name){
|
|
7385
|
+
return isFunction(hasCache[name]) ? (hasCache[name] = hasCache[name](global, doc, element)) : hasCache[name];
|
|
7386
|
+
},
|
|
7387
|
+
|
|
7388
|
+
hasCache = has.cache = defaultConfig.hasCache;
|
|
7389
|
+
|
|
7390
|
+
if (isFunction(userConfig)) {
|
|
7391
|
+
userConfig = userConfig(globalObject);
|
|
7341
7392
|
}
|
|
7342
7393
|
|
|
7343
|
-
function
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
|
|
7394
|
+
has.add = function(name, test, now, force){
|
|
7395
|
+
(hasCache[name]===undefined || force) && (hasCache[name] = test);
|
|
7396
|
+
return now && has(name);
|
|
7397
|
+
};
|
|
7398
|
+
|
|
7399
|
+
// userConfig has tests override defaultConfig has tests; do this after the environment detection because
|
|
7400
|
+
// the environment detection usually sets some has feature values in the hasCache.
|
|
7401
|
+
for(var p in userConfig.has){
|
|
7402
|
+
has.add(p, userConfig.has[p], 0, 1);
|
|
7403
|
+
}
|
|
7404
|
+
{
|
|
7405
|
+
req.async = 1;
|
|
7347
7406
|
}
|
|
7348
7407
|
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
if(!arrayUtil.some(errors, function(obj){
|
|
7355
|
-
if(obj.error === error){
|
|
7356
|
-
// found the tracking object for this error
|
|
7357
|
-
if(handled){
|
|
7358
|
-
// if handled, update the state
|
|
7359
|
-
obj.handled = true;
|
|
7360
|
-
}
|
|
7361
|
-
return true;
|
|
7362
|
-
}
|
|
7363
|
-
})){
|
|
7364
|
-
// no tracking object has been setup, create one
|
|
7365
|
-
errors.push({
|
|
7366
|
-
error: error,
|
|
7367
|
-
rejection: rejection,
|
|
7368
|
-
handled: handled,
|
|
7369
|
-
deferred: deferred,
|
|
7370
|
-
timestamp: new Date().getTime()
|
|
7371
|
-
});
|
|
7372
|
-
}
|
|
7408
|
+
//
|
|
7409
|
+
// loader eval
|
|
7410
|
+
//
|
|
7411
|
+
var eval_ = // noop eval if there are csp restrictions
|
|
7412
|
+
function(){} ;
|
|
7373
7413
|
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
|
|
7414
|
+
req.eval =
|
|
7415
|
+
function(text, hint){
|
|
7416
|
+
return eval_();
|
|
7417
|
+
};
|
|
7378
7418
|
|
|
7379
|
-
|
|
7380
|
-
|
|
7381
|
-
|
|
7382
|
-
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
|
|
7387
|
-
|
|
7419
|
+
//
|
|
7420
|
+
// loader micro events API
|
|
7421
|
+
//
|
|
7422
|
+
var listenerQueues = {},
|
|
7423
|
+
error = "error";
|
|
7424
|
+
req.signal = function(type, args){
|
|
7425
|
+
var queue = listenerQueues[type];
|
|
7426
|
+
// notice we run a copy of the queue; this allows listeners to add/remove
|
|
7427
|
+
// other listeners without affecting this particular signal
|
|
7428
|
+
forEach(queue && queue.slice(0), function(listener){
|
|
7429
|
+
listener.apply(null, isArray(args) ? args : [args]);
|
|
7430
|
+
});
|
|
7431
|
+
};
|
|
7432
|
+
var on = req.on = function(type, listener){
|
|
7433
|
+
// notice a queue is not created until a client actually connects
|
|
7434
|
+
var queue = listenerQueues[type] || (listenerQueues[type] = []);
|
|
7435
|
+
queue.push(listener);
|
|
7436
|
+
return {
|
|
7437
|
+
remove:function(){
|
|
7438
|
+
for(var i = 0; i<queue.length; i++){
|
|
7439
|
+
if(queue[i]===listener){
|
|
7440
|
+
queue.splice(i, 1);
|
|
7441
|
+
return;
|
|
7442
|
+
}
|
|
7443
|
+
}
|
|
7388
7444
|
}
|
|
7389
|
-
|
|
7390
|
-
|
|
7391
|
-
return true;
|
|
7392
|
-
});
|
|
7445
|
+
};
|
|
7446
|
+
};
|
|
7393
7447
|
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
|
|
7397
|
-
|
|
7398
|
-
|
|
7399
|
-
|
|
7448
|
+
// configuration machinery; with an optimized/built defaultConfig, all configuration machinery can be discarded
|
|
7449
|
+
// lexical variables hold key loader data structures to help with minification; these may be completely,
|
|
7450
|
+
// one-time initialized by defaultConfig for optimized/built versions
|
|
7451
|
+
var aliases
|
|
7452
|
+
// a vector of pairs of [regexs or string, replacement] => (alias, actual)
|
|
7453
|
+
= [],
|
|
7400
7454
|
|
|
7401
|
-
|
|
7402
|
-
|
|
7403
|
-
|
|
7404
|
-
|
|
7405
|
-
// Initialize instrumentation for the Deferred class.
|
|
7406
|
-
// Done automatically by `dojo/Deferred` if the
|
|
7407
|
-
// `deferredInstrumentation` and `useDeferredInstrumentation`
|
|
7408
|
-
// config options are set.
|
|
7409
|
-
//
|
|
7410
|
-
// Sets up `dojo/promise/tracer` to log to the console.
|
|
7411
|
-
//
|
|
7412
|
-
// Sets up instrumentation of rejected deferreds so unhandled
|
|
7413
|
-
// errors are logged to the console.
|
|
7455
|
+
pathsMapProg
|
|
7456
|
+
// list of (from-path, to-path, regex, length) derived from paths;
|
|
7457
|
+
// a "program" to apply paths; see computeMapProg
|
|
7458
|
+
= [],
|
|
7414
7459
|
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
tracer.on("rejected", lang.hitch(console, "log", "rejected"));
|
|
7419
|
-
tracer.on("progress", lang.hitch(console, "log", "progress"));
|
|
7460
|
+
packs
|
|
7461
|
+
// a map from packageId to package configuration object; see fixupPackageInfo
|
|
7462
|
+
= {};
|
|
7420
7463
|
|
|
7421
|
-
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
usage = args.shift();
|
|
7425
|
-
}
|
|
7426
|
-
if(usage === "report-rejections"){
|
|
7427
|
-
Deferred.instrumentRejected = reportRejections;
|
|
7428
|
-
}else if(usage === "report-unhandled-rejections" || usage === true || usage === 1){
|
|
7429
|
-
Deferred.instrumentRejected = trackUnhandledRejections;
|
|
7430
|
-
unhandledWait = parseInt(args[0], 10) || unhandledWait;
|
|
7431
|
-
}else {
|
|
7432
|
-
throw new Error("Unsupported instrumentation usage <" + usage + ">");
|
|
7433
|
-
}
|
|
7434
|
-
}
|
|
7435
|
-
};
|
|
7436
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
7437
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
7464
|
+
req.map
|
|
7465
|
+
// AMD map config variable; dojo/_base/kernel needs req.map to figure out the scope map
|
|
7466
|
+
= {};
|
|
7438
7467
|
|
|
7468
|
+
var mapProgs
|
|
7469
|
+
// vector of quads as described by computeMapProg; map-key is AMD map key, map-value is AMD map value
|
|
7470
|
+
= [],
|
|
7439
7471
|
|
|
7440
|
-
|
|
7472
|
+
modules
|
|
7473
|
+
// A hash:(mid) --> (module-object) the module namespace
|
|
7474
|
+
//
|
|
7475
|
+
// pid: the package identifier to which the module belongs (e.g., "dojo"); "" indicates the system or default package
|
|
7476
|
+
// mid: the fully-resolved (i.e., mappings have been applied) module identifier without the package identifier (e.g., "dojo/io/script")
|
|
7477
|
+
// url: the URL from which the module was retrieved
|
|
7478
|
+
// pack: the package object of the package to which the module belongs
|
|
7479
|
+
// executed: 0 => not executed; executing => in the process of traversing deps and running factory; executed => factory has been executed
|
|
7480
|
+
// deps: the dependency vector for this module (vector of modules objects)
|
|
7481
|
+
// def: the factory for this module
|
|
7482
|
+
// result: the result of the running the factory for this module
|
|
7483
|
+
// injected: (0 | requested | arrived) the status of the module; nonmodule means the resource did not call define
|
|
7484
|
+
// load: plugin load function; applicable only for plugins
|
|
7485
|
+
//
|
|
7486
|
+
// Modules go through several phases in creation:
|
|
7487
|
+
//
|
|
7488
|
+
// 1. Requested: some other module's definition or a require application contained the requested module in
|
|
7489
|
+
// its dependency vector or executing code explicitly demands a module via req.require.
|
|
7490
|
+
//
|
|
7491
|
+
// 2. Injected: a script element has been appended to the insert-point element demanding the resource implied by the URL
|
|
7492
|
+
//
|
|
7493
|
+
// 3. Loaded: the resource injected in [2] has been evaluated.
|
|
7494
|
+
//
|
|
7495
|
+
// 4. Defined: the resource contained a define statement that advised the loader about the module. Notice that some
|
|
7496
|
+
// resources may just contain a bundle of code and never formally define a module via define
|
|
7497
|
+
//
|
|
7498
|
+
// 5. Evaluated: the module was defined via define and the loader has evaluated the factory and computed a result.
|
|
7499
|
+
= {},
|
|
7441
7500
|
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
\**************************************/
|
|
7446
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
7501
|
+
cacheBust
|
|
7502
|
+
// query string to append to module URLs to bust browser cache
|
|
7503
|
+
= "",
|
|
7447
7504
|
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7505
|
+
cache
|
|
7506
|
+
// hash:(mid | url)-->(function | string)
|
|
7507
|
+
//
|
|
7508
|
+
// A cache of resources. The resources arrive via a config.cache object, which is a hash from either mid --> function or
|
|
7509
|
+
// url --> string. The url key is distinguished from the mid key by always containing the prefix "url:". url keys as provided
|
|
7510
|
+
// by config.cache always have a string value that represents the contents of the resource at the given url. mid keys as provided
|
|
7511
|
+
// by configl.cache always have a function value that causes the same code to execute as if the module was script injected.
|
|
7512
|
+
//
|
|
7513
|
+
// Both kinds of key-value pairs are entered into cache via the function consumePendingCache, which may relocate keys as given
|
|
7514
|
+
// by any mappings *iff* the config.cache was received as part of a module resource request.
|
|
7515
|
+
//
|
|
7516
|
+
// Further, for mid keys, the implied url is computed and the value is entered into that key as well. This allows mapped modules
|
|
7517
|
+
// to retrieve cached items that may have arrived consequent to another namespace.
|
|
7518
|
+
//
|
|
7519
|
+
= {};
|
|
7451
7520
|
|
|
7452
|
-
|
|
7521
|
+
var match; {
|
|
7522
|
+
// no config API, assume defaultConfig has everything the loader needs...for the entire lifetime of the application
|
|
7523
|
+
defaultConfig.paths;
|
|
7524
|
+
pathsMapProg = defaultConfig.pathsMapProg;
|
|
7525
|
+
packs = defaultConfig.packs;
|
|
7526
|
+
aliases = defaultConfig.aliases;
|
|
7527
|
+
mapProgs = defaultConfig.mapProgs;
|
|
7528
|
+
modules = defaultConfig.modules;
|
|
7529
|
+
cache = defaultConfig.cache;
|
|
7530
|
+
cacheBust = defaultConfig.cacheBust;
|
|
7453
7531
|
|
|
7454
|
-
|
|
7455
|
-
|
|
7456
|
-
document.execCommand("BackgroundImageCache", false, true);
|
|
7457
|
-
}catch(e){
|
|
7458
|
-
// sane browsers don't have cache "issues"
|
|
7459
|
-
}
|
|
7532
|
+
// remember the default config for other processes (e.g., dojo/config)
|
|
7533
|
+
req.rawConfig = defaultConfig;
|
|
7460
7534
|
}
|
|
7461
7535
|
|
|
7462
|
-
// =============================
|
|
7463
|
-
// DOM Functions
|
|
7464
|
-
// =============================
|
|
7465
7536
|
|
|
7466
|
-
|
|
7467
|
-
var dom = {
|
|
7468
|
-
// summary:
|
|
7469
|
-
// This module defines the core dojo DOM API.
|
|
7470
|
-
};
|
|
7537
|
+
var contextRequire;
|
|
7471
7538
|
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
if(
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
// attributes.id.value is better than just id in case the
|
|
7479
|
-
// user has a name=id inside a form
|
|
7480
|
-
if(te && (te.attributes.id.value == id || te.id == id)){
|
|
7481
|
-
return te;
|
|
7482
|
-
}else {
|
|
7483
|
-
var eles = _d.all[id];
|
|
7484
|
-
if(!eles || eles.nodeName){
|
|
7485
|
-
eles = [eles];
|
|
7486
|
-
}
|
|
7487
|
-
// if more than 1, choose first with the correct id
|
|
7488
|
-
var i = 0;
|
|
7489
|
-
while((te = eles[i++])){
|
|
7490
|
-
if((te.attributes && te.attributes.id && te.attributes.id.value == id) || te.id == id){
|
|
7491
|
-
return te;
|
|
7492
|
-
}
|
|
7539
|
+
var runMapProg = function(targetMid, map){
|
|
7540
|
+
// search for targetMid in map; return the map item if found; falsy otherwise
|
|
7541
|
+
if(map){
|
|
7542
|
+
for(var i = 0; i < map.length; i++){
|
|
7543
|
+
if(map[i][2].test(targetMid)){
|
|
7544
|
+
return map[i];
|
|
7493
7545
|
}
|
|
7494
7546
|
}
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
dom.byId = function(id, doc){
|
|
7499
|
-
// inline'd type check.
|
|
7500
|
-
// be sure to return null per documentation, to match IE branch.
|
|
7501
|
-
return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
|
|
7502
|
-
};
|
|
7503
|
-
}
|
|
7504
|
-
/*=====
|
|
7505
|
-
dom.byId = function(id, doc){
|
|
7506
|
-
// summary:
|
|
7507
|
-
// Returns DOM node with matching `id` attribute or falsy value (ex: null or undefined)
|
|
7508
|
-
// if not found. If `id` is a DomNode, this function is a no-op.
|
|
7509
|
-
//
|
|
7510
|
-
// id: String|DOMNode
|
|
7511
|
-
// A string to match an HTML id attribute or a reference to a DOM Node
|
|
7512
|
-
//
|
|
7513
|
-
// doc: Document?
|
|
7514
|
-
// Document to work in. Defaults to the current value of
|
|
7515
|
-
// dojo/_base/window.doc. Can be used to retrieve
|
|
7516
|
-
// node references from other documents.
|
|
7517
|
-
//
|
|
7518
|
-
// example:
|
|
7519
|
-
// Look up a node by ID:
|
|
7520
|
-
// | require(["dojo/dom"], function(dom){
|
|
7521
|
-
// | var n = dom.byId("foo");
|
|
7522
|
-
// | });
|
|
7523
|
-
//
|
|
7524
|
-
// example:
|
|
7525
|
-
// Check if a node exists, and use it.
|
|
7526
|
-
// | require(["dojo/dom"], function(dom){
|
|
7527
|
-
// | var n = dom.byId("bar");
|
|
7528
|
-
// | if(n){ doStuff() ... }
|
|
7529
|
-
// | });
|
|
7530
|
-
//
|
|
7531
|
-
// example:
|
|
7532
|
-
// Allow string or DomNode references to be passed to a custom function:
|
|
7533
|
-
// | require(["dojo/dom"], function(dom){
|
|
7534
|
-
// | var foo = function(nodeOrId){
|
|
7535
|
-
// | nodeOrId = dom.byId(nodeOrId);
|
|
7536
|
-
// | // ... more stuff
|
|
7537
|
-
// | }
|
|
7538
|
-
// | });
|
|
7539
|
-
};
|
|
7540
|
-
=====*/
|
|
7541
|
-
|
|
7542
|
-
// Test for DOMNode.contains() method, available everywhere except FF8-
|
|
7543
|
-
// and IE8-, where it's available in general, but not on document itself,
|
|
7544
|
-
// and also problems when either ancestor or node are text nodes.
|
|
7545
|
-
|
|
7546
|
-
var doc = kernel.global["document"] || null;
|
|
7547
|
-
has.add("dom-contains", !!(doc && doc.contains));
|
|
7548
|
-
dom.isDescendant = has("dom-contains") ?
|
|
7549
|
-
// FF9+, IE9+, webkit, opera, iOS, Android, Edge, etc.
|
|
7550
|
-
function(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){
|
|
7551
|
-
return !!( (ancestor = dom.byId(ancestor)) && ancestor.contains(dom.byId(node)) );
|
|
7552
|
-
} :
|
|
7553
|
-
function(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){
|
|
7554
|
-
// summary:
|
|
7555
|
-
// Returns true if node is a descendant of ancestor
|
|
7556
|
-
// node: DOMNode|String
|
|
7557
|
-
// string id or node reference to test
|
|
7558
|
-
// ancestor: DOMNode|String
|
|
7559
|
-
// string id or node reference of potential parent to test against
|
|
7560
|
-
//
|
|
7561
|
-
// example:
|
|
7562
|
-
// Test is node id="bar" is a descendant of node id="foo"
|
|
7563
|
-
// | require(["dojo/dom"], function(dom){
|
|
7564
|
-
// | if(dom.isDescendant("bar", "foo")){ ... }
|
|
7565
|
-
// | });
|
|
7547
|
+
}
|
|
7548
|
+
return 0;
|
|
7549
|
+
},
|
|
7566
7550
|
|
|
7567
|
-
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
|
|
7572
|
-
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7551
|
+
compactPath = function(path){
|
|
7552
|
+
var result = [],
|
|
7553
|
+
segment, lastSegment;
|
|
7554
|
+
path = path.replace(/\\/g, '/').split('/');
|
|
7555
|
+
while(path.length){
|
|
7556
|
+
segment = path.shift();
|
|
7557
|
+
if(segment==".." && result.length && lastSegment!=".."){
|
|
7558
|
+
result.pop();
|
|
7559
|
+
lastSegment = result[result.length - 1];
|
|
7560
|
+
}else if(segment!="."){
|
|
7561
|
+
result.push(lastSegment= segment);
|
|
7562
|
+
} // else ignore "."
|
|
7563
|
+
}
|
|
7564
|
+
return result.join("/");
|
|
7565
|
+
},
|
|
7579
7566
|
|
|
7580
|
-
|
|
7567
|
+
makeModuleInfo = function(pid, mid, pack, url){
|
|
7568
|
+
{
|
|
7569
|
+
return {pid:pid, mid:mid, pack:pack, url:url, executed:0, def:0};
|
|
7570
|
+
}
|
|
7571
|
+
},
|
|
7581
7572
|
|
|
7582
|
-
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
|
|
7587
|
-
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
|
|
7591
|
-
if(!element){ return false; }
|
|
7573
|
+
getModuleInfo_ = function(mid, referenceModule, packs, modules, baseUrl, mapProgs, pathsMapProg, aliases, alwaysCreate, fromPendingCache){
|
|
7574
|
+
// arguments are passed instead of using lexical variables so that this function my be used independent of the loader (e.g., the builder)
|
|
7575
|
+
// alwaysCreate is useful in this case so that getModuleInfo never returns references to real modules owned by the loader
|
|
7576
|
+
var pid, pack, midInPackage, mapItem, url, result, isRelative;
|
|
7577
|
+
isRelative = /^\./.test(mid);
|
|
7578
|
+
if(/(^\/)|(\:)|(\.js$)/.test(mid) || (isRelative && !referenceModule)){
|
|
7579
|
+
// absolute path or protocol of .js filetype, or relative path but no reference module and therefore relative to page
|
|
7580
|
+
// whatever it is, it's not a module but just a URL of some sort
|
|
7581
|
+
// note: pid===0 indicates the routine is returning an unmodified mid
|
|
7592
7582
|
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7583
|
+
return makeModuleInfo(0, mid, 0, mid);
|
|
7584
|
+
}else {
|
|
7585
|
+
// relative module ids are relative to the referenceModule; get rid of any dots
|
|
7586
|
+
mid = compactPath(isRelative ? (referenceModule.mid + "/../" + mid) : mid);
|
|
7587
|
+
if(/^\./.test(mid)){
|
|
7588
|
+
throw makeError("irrationalPath", mid);
|
|
7589
|
+
}
|
|
7590
|
+
// at this point, mid is an absolute mid
|
|
7597
7591
|
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7592
|
+
// map the mid
|
|
7593
|
+
if(!isRelative && mapProgs.star){
|
|
7594
|
+
mapItem = runMapProg(mid, mapProgs.star[1]);
|
|
7595
|
+
}
|
|
7596
|
+
if(!mapItem && referenceModule){
|
|
7597
|
+
mapItem = runMapProg(referenceModule.mid, mapProgs);
|
|
7598
|
+
mapItem = mapItem && runMapProg(mid, mapItem[1]);
|
|
7599
|
+
}
|
|
7605
7600
|
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7601
|
+
if(mapItem){
|
|
7602
|
+
mid = mapItem[1] + mid.substring(mapItem[3]);
|
|
7603
|
+
}
|
|
7609
7604
|
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
// state to put the node in. false indicates unselectable, true
|
|
7618
|
-
// allows selection.
|
|
7619
|
-
// example:
|
|
7620
|
-
// Make the node id="bar" unselectable
|
|
7621
|
-
// | require(["dojo/dom"], function(dom){
|
|
7622
|
-
// | dom.setSelectable("bar");
|
|
7623
|
-
// | });
|
|
7624
|
-
// example:
|
|
7625
|
-
// Make the node id="bar" selectable
|
|
7626
|
-
// | require(["dojo/dom"], function(dom){
|
|
7627
|
-
// | dom.setSelectable("bar", true);
|
|
7628
|
-
// | });
|
|
7629
|
-
};
|
|
7630
|
-
=====*/
|
|
7605
|
+
match = mid.match(/^([^\/]+)(\/(.+))?$/);
|
|
7606
|
+
pid = match ? match[1] : "";
|
|
7607
|
+
if((pack = packs[pid])){
|
|
7608
|
+
mid = pid + "/" + (midInPackage = (match[3] || pack.main));
|
|
7609
|
+
}else {
|
|
7610
|
+
pid = "";
|
|
7611
|
+
}
|
|
7631
7612
|
|
|
7632
|
-
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
|
|
7613
|
+
// search aliases
|
|
7614
|
+
var candidateLength = 0,
|
|
7615
|
+
candidate = 0;
|
|
7616
|
+
forEach(aliases, function(pair){
|
|
7617
|
+
var match = mid.match(pair[0]);
|
|
7618
|
+
if(match && match.length>candidateLength){
|
|
7619
|
+
candidate = isFunction(pair[1]) ? mid.replace(pair[0], pair[1]) : pair[1];
|
|
7620
|
+
}
|
|
7621
|
+
});
|
|
7622
|
+
if(candidate){
|
|
7623
|
+
return getModuleInfo_(candidate, 0, packs, modules, baseUrl, mapProgs, pathsMapProg, aliases, alwaysCreate);
|
|
7624
|
+
}
|
|
7638
7625
|
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7626
|
+
result = modules[mid];
|
|
7627
|
+
if(result){
|
|
7628
|
+
return alwaysCreate ? makeModuleInfo(result.pid, result.mid, result.pack, result.url) : modules[mid];
|
|
7629
|
+
}
|
|
7630
|
+
}
|
|
7631
|
+
// get here iff the sought-after module does not yet exist; therefore, we need to compute the URL given the
|
|
7632
|
+
// fully resolved (i.e., all relative indicators and package mapping resolved) module id
|
|
7643
7633
|
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7634
|
+
// note: pid!==0 indicates the routine is returning a url that has .js appended unmodified mid
|
|
7635
|
+
mapItem = runMapProg(mid, pathsMapProg);
|
|
7636
|
+
if(mapItem){
|
|
7637
|
+
url = mapItem[1] + mid.substring(mapItem[3]);
|
|
7638
|
+
}else if(pid){
|
|
7639
|
+
url = (pack.location.slice(-1) === '/' ? pack.location.slice(0, -1) : pack.location) + "/" + midInPackage;
|
|
7640
|
+
}else {
|
|
7641
|
+
url = mid;
|
|
7648
7642
|
}
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
nodes[i].setAttribute("unselectable", "on");
|
|
7643
|
+
// if result is not absolute, add baseUrl
|
|
7644
|
+
if(!(/(^\/)|(\:)/.test(url))){
|
|
7645
|
+
url = baseUrl + url;
|
|
7653
7646
|
}
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
-
return dom;
|
|
7658
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
7659
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
7647
|
+
url += ".js";
|
|
7648
|
+
return makeModuleInfo(pid, mid, pack, compactPath(url));
|
|
7649
|
+
},
|
|
7660
7650
|
|
|
7651
|
+
getModuleInfo = function(mid, referenceModule, fromPendingCache){
|
|
7652
|
+
return getModuleInfo_(mid, referenceModule, packs, modules, req.baseUrl, mapProgs, pathsMapProg, aliases, undefined);
|
|
7653
|
+
};
|
|
7661
7654
|
|
|
7662
|
-
|
|
7655
|
+
req.toAbsMid = function(mid, referenceModule){
|
|
7656
|
+
return getModuleInfo(mid, referenceModule).mid;
|
|
7657
|
+
};
|
|
7663
7658
|
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
|
|
7659
|
+
req.toUrl = function(name, referenceModule){
|
|
7660
|
+
var moduleInfo = getModuleInfo(name+"/x", referenceModule),
|
|
7661
|
+
url= moduleInfo.url;
|
|
7662
|
+
return fixupUrl(moduleInfo.pid===0 ?
|
|
7663
|
+
// if pid===0, then name had a protocol or absolute path; either way, toUrl is the identify function in such cases
|
|
7664
|
+
name :
|
|
7665
|
+
// "/x.js" since getModuleInfo automatically appends ".js" and we appended "/x" to make name look like a module id
|
|
7666
|
+
url.substring(0, url.length-5)
|
|
7667
|
+
);
|
|
7668
|
+
};
|
|
7669
7669
|
|
|
7670
|
-
|
|
7671
|
-
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
__webpack_require__(/*! dojo/mouse */ 8471),
|
|
7675
|
-
__webpack_require__(/*! dojo/on */ 2075),
|
|
7676
|
-
__webpack_require__(/*! dojo/sniff */ 2616),
|
|
7677
|
-
__webpack_require__.dj.h(/*! dojo/has!touch?./util/touch */"touch?5892"),
|
|
7678
|
-
__webpack_require__(/*! dojo/query */ 1172), // for on.selector
|
|
7679
|
-
__webpack_require__(/*! dojo/dom */ 2284) // for has('css-user-select') in 1.8.2+
|
|
7680
|
-
], __WEBPACK_AMD_DEFINE_RESULT__ = (function (declare, aspect, domClass, mouse, on, has, touchUtil) {
|
|
7681
|
-
|
|
7682
|
-
has.add('dom-comparedocumentposition', function (global, doc, element) {
|
|
7683
|
-
return !!element.compareDocumentPosition;
|
|
7684
|
-
});
|
|
7685
|
-
|
|
7686
|
-
// Add a feature test for the onselectstart event, which offers a more
|
|
7687
|
-
// graceful fallback solution than node.unselectable.
|
|
7688
|
-
has.add('dom-selectstart', typeof document.onselectstart !== 'undefined');
|
|
7689
|
-
|
|
7690
|
-
var ctrlEquiv = has('mac') ? 'metaKey' : 'ctrlKey',
|
|
7691
|
-
hasUserSelect = has('css-user-select'),
|
|
7692
|
-
hasPointer = has('pointer'),
|
|
7693
|
-
hasMSPointer = hasPointer && hasPointer.slice(0, 2) === 'MS',
|
|
7694
|
-
downType = hasPointer ? hasPointer + (hasMSPointer ? 'Down' : 'down') : 'mousedown',
|
|
7695
|
-
upType = hasPointer ? hasPointer + (hasMSPointer ? 'Up' : 'up') : 'mouseup';
|
|
7670
|
+
var fixupUrl= typeof userConfig.fixupUrl == "function" ? userConfig.fixupUrl : function(url){
|
|
7671
|
+
url += ""; // make sure url is a Javascript string (some paths may be a Java string)
|
|
7672
|
+
return url + (cacheBust ? ((/\?/.test(url) ? "&" : "?") + cacheBust) : "");
|
|
7673
|
+
};
|
|
7696
7674
|
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
-
hasUserSelect = false;
|
|
7675
|
+
{
|
|
7676
|
+
req.log = noop;
|
|
7700
7677
|
}
|
|
7701
7678
|
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
|
|
7679
|
+
{
|
|
7680
|
+
req.trace = noop;
|
|
7681
|
+
}
|
|
7682
|
+
var def; {
|
|
7683
|
+
var def = noop;
|
|
7684
|
+
}
|
|
7685
|
+
// allow config to override default implementation of named functions; this is useful for
|
|
7686
|
+
// non-browser environments, e.g., overriding injectUrl, getText, log, etc. in node.js, Rhino, etc.
|
|
7687
|
+
// also useful for testing and monkey patching loader
|
|
7688
|
+
mix(mix(req, defaultConfig.loaderPatch), userConfig.loaderPatch);
|
|
7707
7689
|
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
|
|
7690
|
+
// now that req is fully initialized and won't change, we can hook it up to the error signal
|
|
7691
|
+
on(error, function(arg){
|
|
7692
|
+
try{
|
|
7693
|
+
console.error(arg);
|
|
7694
|
+
if(arg instanceof Error){
|
|
7695
|
+
for(var p in arg){
|
|
7696
|
+
console.log(p + ":", arg[p]);
|
|
7697
|
+
}
|
|
7698
|
+
console.log(".");
|
|
7711
7699
|
}
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
}
|
|
7700
|
+
}catch(e){}
|
|
7701
|
+
});
|
|
7715
7702
|
|
|
7716
|
-
|
|
7717
|
-
|
|
7703
|
+
// always publish these
|
|
7704
|
+
mix(req, {
|
|
7705
|
+
uid:uid,
|
|
7706
|
+
cache:cache,
|
|
7707
|
+
packs:packs
|
|
7708
|
+
});
|
|
7718
7709
|
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7710
|
+
// the loader can be defined exactly once; look for global define which is the symbol AMD loaders are
|
|
7711
|
+
// *required* to define (as opposed to require, which is optional)
|
|
7712
|
+
if(global.define){
|
|
7713
|
+
return;
|
|
7714
|
+
}else {
|
|
7715
|
+
global.define = def;
|
|
7716
|
+
global.require = req;
|
|
7717
|
+
}
|
|
7718
|
+
})
|
|
7719
|
+
.call(this, userConfig, defaultConfig);};
|
|
7724
7720
|
|
|
7725
|
-
|
|
7726
|
-
// element, but will not block an existing selection from entering the element.
|
|
7727
|
-
// When using a modifier key, IE will select text inside of the element as well
|
|
7728
|
-
// as outside of the element, because it thinks the selection started outside.
|
|
7729
|
-
// Therefore, fall back to other means of blocking selection for IE10+.
|
|
7730
|
-
// Newer versions of Dojo do not even report msUserSelect (see https://github.com/dojo/dojo/commit/7ae2a43).
|
|
7731
|
-
if (hasUserSelect && hasUserSelect !== 'msUserSelect') {
|
|
7732
|
-
node.style[hasUserSelect] = value;
|
|
7733
|
-
}
|
|
7734
|
-
else if (has('dom-selectstart')) {
|
|
7735
|
-
// For browsers that don't support user-select but support selectstart (IE<10),
|
|
7736
|
-
// we can hook up an event handler as necessary. Since selectstart bubbles,
|
|
7737
|
-
// it will handle any child elements as well.
|
|
7738
|
-
// Note, however, that both this and the unselectable fallback below are
|
|
7739
|
-
// incapable of preventing text selection from outside the targeted node.
|
|
7740
|
-
if (!selectable && !grid._selectstartHandle) {
|
|
7741
|
-
grid._selectstartHandle = on(node, 'selectstart', function (evt) {
|
|
7742
|
-
var tag = evt.target && evt.target.tagName;
|
|
7721
|
+
/***/ }),
|
|
7743
7722
|
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
}
|
|
7750
|
-
else if (selectable && grid._selectstartHandle) {
|
|
7751
|
-
grid._selectstartHandle.remove();
|
|
7752
|
-
delete grid._selectstartHandle;
|
|
7753
|
-
}
|
|
7754
|
-
}
|
|
7755
|
-
else {
|
|
7756
|
-
// For browsers that don't support either user-select or selectstart (Opera),
|
|
7757
|
-
// we need to resort to setting the unselectable attribute on all nodes
|
|
7758
|
-
// involved. Since this doesn't automatically apply to child nodes, we also
|
|
7759
|
-
// need to re-apply it whenever rows are rendered.
|
|
7760
|
-
makeUnselectable(node, !selectable);
|
|
7761
|
-
if (!selectable && !grid._unselectableHandle) {
|
|
7762
|
-
grid._unselectableHandle = aspect.after(grid, 'renderRow', function (row) {
|
|
7763
|
-
makeUnselectable(row, true);
|
|
7764
|
-
return row;
|
|
7765
|
-
});
|
|
7766
|
-
}
|
|
7767
|
-
else if (selectable && grid._unselectableHandle) {
|
|
7768
|
-
grid._unselectableHandle.remove();
|
|
7769
|
-
delete grid._unselectableHandle;
|
|
7770
|
-
}
|
|
7771
|
-
}
|
|
7772
|
-
}
|
|
7723
|
+
/***/ 2219:
|
|
7724
|
+
/*!*****************************************************!*\
|
|
7725
|
+
!*** ../../node_modules/dojo-dstore/QueryMethod.js ***!
|
|
7726
|
+
\*****************************************************/
|
|
7727
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
7773
7728
|
|
|
7774
|
-
|
|
7729
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
7730
|
+
/*=====
|
|
7731
|
+
var __QueryMethodArgs = {
|
|
7732
|
+
// type: String
|
|
7733
|
+
// The type of the query. This identifies the query's type in the query log
|
|
7734
|
+
// and the name of the corresponding query engine method.
|
|
7735
|
+
// normalizeArguments: Function?
|
|
7736
|
+
// A function that normalizes arguments for consumption by a query engine
|
|
7737
|
+
// applyQuery: Function?
|
|
7738
|
+
// A function that takes the query's new subcollection and the query's log entry
|
|
7739
|
+
// and applies it to the new subcollection. This is useful for collections that need
|
|
7740
|
+
// to both declare and implement new query methods.
|
|
7741
|
+
// querierFactory: Function?
|
|
7742
|
+
// A factory function that provides a default querier implementation to use when
|
|
7743
|
+
// a collection does not define its own querier factory method for this query type.
|
|
7744
|
+
};
|
|
7745
|
+
=====*/
|
|
7746
|
+
return function QueryMethod(/*__QueryMethodArgs*/ kwArgs) {
|
|
7775
7747
|
// summary:
|
|
7776
|
-
//
|
|
7777
|
-
//
|
|
7778
|
-
|
|
7779
|
-
//
|
|
7780
|
-
//
|
|
7781
|
-
|
|
7748
|
+
// The constructor for a dstore collection query method
|
|
7749
|
+
// description:
|
|
7750
|
+
// This is the constructor for a collection query method. It encapsulates the following:
|
|
7751
|
+
// * Creating a new subcollection for the query results
|
|
7752
|
+
// * Logging the query in the collection's `queryLog`
|
|
7753
|
+
// * Normalizing query arguments
|
|
7754
|
+
// * Applying the query engine
|
|
7755
|
+
// kwArgs:
|
|
7756
|
+
// The properties that define the query method
|
|
7757
|
+
// returns: Function
|
|
7758
|
+
// Returns a function that takes query arguments and returns a new collection with
|
|
7759
|
+
// the query associated with it.
|
|
7782
7760
|
|
|
7783
|
-
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7761
|
+
var type = kwArgs.type,
|
|
7762
|
+
normalizeArguments = kwArgs.normalizeArguments,
|
|
7763
|
+
applyQuery = kwArgs.applyQuery,
|
|
7764
|
+
defaultQuerierFactory = kwArgs.querierFactory;
|
|
7787
7765
|
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7766
|
+
return function () {
|
|
7767
|
+
// summary:
|
|
7768
|
+
// A query method whose arguments are determined by the query type
|
|
7769
|
+
// returns: dstore/Collection
|
|
7770
|
+
// A collection representing the query results
|
|
7792
7771
|
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7772
|
+
var originalArguments = Array.prototype.slice.call(arguments),
|
|
7773
|
+
normalizedArguments = normalizeArguments
|
|
7774
|
+
? normalizeArguments.apply(this, originalArguments)
|
|
7775
|
+
: originalArguments,
|
|
7776
|
+
logEntry = {
|
|
7777
|
+
type: type,
|
|
7778
|
+
arguments: originalArguments,
|
|
7779
|
+
normalizedArguments: normalizedArguments
|
|
7780
|
+
},
|
|
7781
|
+
querierFactory = this._getQuerierFactory(type) || defaultQuerierFactory;
|
|
7796
7782
|
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7800
|
-
|
|
7783
|
+
if (querierFactory) {
|
|
7784
|
+
// Call the query factory in store context to support things like
|
|
7785
|
+
// mapping a filter query's string argument to a custom filter method on the collection
|
|
7786
|
+
logEntry.querier = querierFactory.apply(this, normalizedArguments);
|
|
7787
|
+
}
|
|
7801
7788
|
|
|
7802
|
-
|
|
7803
|
-
|
|
7804
|
-
|
|
7805
|
-
selection: {},
|
|
7789
|
+
var newCollection = this._createSubCollection({
|
|
7790
|
+
queryLog: this.queryLog.concat(logEntry)
|
|
7791
|
+
});
|
|
7806
7792
|
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7793
|
+
return applyQuery ? applyQuery.call(this, newCollection, logEntry) : newCollection;
|
|
7794
|
+
};
|
|
7795
|
+
};
|
|
7796
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
7797
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
7810
7798
|
|
|
7811
|
-
// allowTextSelection: Boolean
|
|
7812
|
-
// Whether to still allow text within cells to be selected. The default
|
|
7813
|
-
// behavior is to allow text selection only when selectionMode is none;
|
|
7814
|
-
// setting this property to either true or false will explicitly set the
|
|
7815
|
-
// behavior regardless of selectionMode.
|
|
7816
|
-
allowTextSelection: undefined,
|
|
7817
7799
|
|
|
7818
|
-
|
|
7819
|
-
// Indicates the property added to emitted events for selected targets;
|
|
7820
|
-
// overridden in CellSelection
|
|
7821
|
-
_selectionTargetType: 'rows',
|
|
7800
|
+
/***/ }),
|
|
7822
7801
|
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
this.inherited(arguments);
|
|
7802
|
+
/***/ 2236:
|
|
7803
|
+
/*!**********************************************************!*\
|
|
7804
|
+
!*** ../../node_modules/dojo/promise/instrumentation.js ***!
|
|
7805
|
+
\**********************************************************/
|
|
7806
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
7829
7807
|
|
|
7830
|
-
|
|
7808
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
7809
|
+
__webpack_require__(/*! ./tracer */ 3185),
|
|
7810
|
+
__webpack_require__(/*! ../has */ 6356),
|
|
7811
|
+
__webpack_require__(/*! ../_base/lang */ 6323),
|
|
7812
|
+
__webpack_require__(/*! ../_base/array */ 6974)
|
|
7813
|
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(tracer, has, lang, arrayUtil){
|
|
7814
|
+
has.add("config-useDeferredInstrumentation", "report-unhandled-rejections");
|
|
7831
7815
|
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7816
|
+
function logError(error, rejection, deferred){
|
|
7817
|
+
if(error && error.log === false){
|
|
7818
|
+
return;
|
|
7819
|
+
}
|
|
7820
|
+
var stack = "";
|
|
7821
|
+
if(error && error.stack){
|
|
7822
|
+
stack += error.stack;
|
|
7823
|
+
}
|
|
7824
|
+
if(rejection && rejection.stack){
|
|
7825
|
+
stack += "\n ----------------------------------------\n rejected" + rejection.stack.split("\n").slice(1).join("\n").replace(/^\s+/, " ");
|
|
7826
|
+
}
|
|
7827
|
+
if(deferred && deferred.stack){
|
|
7828
|
+
stack += "\n ----------------------------------------\n" + deferred.stack;
|
|
7829
|
+
}
|
|
7830
|
+
console.error(error, stack);
|
|
7831
|
+
}
|
|
7837
7832
|
|
|
7838
|
-
|
|
7839
|
-
|
|
7833
|
+
function reportRejections(error, handled, rejection, deferred){
|
|
7834
|
+
if(!handled){
|
|
7835
|
+
logError(error, rejection, deferred);
|
|
7836
|
+
}
|
|
7837
|
+
}
|
|
7840
7838
|
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
|
|
7848
|
-
|
|
7849
|
-
|
|
7839
|
+
var errors = [];
|
|
7840
|
+
var activeTimeout = false;
|
|
7841
|
+
var unhandledWait = 1000;
|
|
7842
|
+
function trackUnhandledRejections(error, handled, rejection, deferred){
|
|
7843
|
+
// try to find the existing tracking object
|
|
7844
|
+
if(!arrayUtil.some(errors, function(obj){
|
|
7845
|
+
if(obj.error === error){
|
|
7846
|
+
// found the tracking object for this error
|
|
7847
|
+
if(handled){
|
|
7848
|
+
// if handled, update the state
|
|
7849
|
+
obj.handled = true;
|
|
7850
|
+
}
|
|
7851
|
+
return true;
|
|
7850
7852
|
}
|
|
7851
|
-
}
|
|
7853
|
+
})){
|
|
7854
|
+
// no tracking object has been setup, create one
|
|
7855
|
+
errors.push({
|
|
7856
|
+
error: error,
|
|
7857
|
+
rejection: rejection,
|
|
7858
|
+
handled: handled,
|
|
7859
|
+
deferred: deferred,
|
|
7860
|
+
timestamp: new Date().getTime()
|
|
7861
|
+
});
|
|
7862
|
+
}
|
|
7852
7863
|
|
|
7853
|
-
|
|
7854
|
-
|
|
7855
|
-
|
|
7864
|
+
if(!activeTimeout){
|
|
7865
|
+
activeTimeout = setTimeout(logRejected, unhandledWait);
|
|
7866
|
+
}
|
|
7867
|
+
}
|
|
7856
7868
|
|
|
7857
|
-
|
|
7858
|
-
|
|
7869
|
+
function logRejected(){
|
|
7870
|
+
var now = new Date().getTime();
|
|
7871
|
+
var reportBefore = now - unhandledWait;
|
|
7872
|
+
errors = arrayUtil.filter(errors, function(obj){
|
|
7873
|
+
// only report the error if we have waited long enough and
|
|
7874
|
+
// it hasn't been handled
|
|
7875
|
+
if(obj.timestamp < reportBefore){
|
|
7876
|
+
if(!obj.handled){
|
|
7877
|
+
logError(obj.error, obj.rejection, obj.deferred);
|
|
7878
|
+
}
|
|
7879
|
+
return false;
|
|
7859
7880
|
}
|
|
7881
|
+
return true;
|
|
7882
|
+
});
|
|
7860
7883
|
|
|
7861
|
-
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
// (in the form of _fooSelectionHandler)
|
|
7868
|
-
this._selectionHandlerName = '_' + mode + 'SelectionHandler';
|
|
7869
|
-
|
|
7870
|
-
// Also re-run allowTextSelection setter in case it is in automatic mode.
|
|
7871
|
-
this._setAllowTextSelection(this.allowTextSelection);
|
|
7872
|
-
},
|
|
7884
|
+
if(errors.length){
|
|
7885
|
+
activeTimeout = setTimeout(logRejected, errors[0].timestamp + unhandledWait - now);
|
|
7886
|
+
}else {
|
|
7887
|
+
activeTimeout = false;
|
|
7888
|
+
}
|
|
7889
|
+
}
|
|
7873
7890
|
|
|
7874
|
-
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
|
|
7878
|
-
|
|
7879
|
-
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7891
|
+
return function(Deferred){
|
|
7892
|
+
// summary:
|
|
7893
|
+
// Initialize instrumentation for the Deferred class.
|
|
7894
|
+
// description:
|
|
7895
|
+
// Initialize instrumentation for the Deferred class.
|
|
7896
|
+
// Done automatically by `dojo/Deferred` if the
|
|
7897
|
+
// `deferredInstrumentation` and `useDeferredInstrumentation`
|
|
7898
|
+
// config options are set.
|
|
7899
|
+
//
|
|
7900
|
+
// Sets up `dojo/promise/tracer` to log to the console.
|
|
7901
|
+
//
|
|
7902
|
+
// Sets up instrumentation of rejected deferreds so unhandled
|
|
7903
|
+
// errors are logged to the console.
|
|
7883
7904
|
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7905
|
+
var usage = has("config-useDeferredInstrumentation");
|
|
7906
|
+
if(usage){
|
|
7907
|
+
tracer.on("resolved", lang.hitch(console, "log", "resolved"));
|
|
7908
|
+
tracer.on("rejected", lang.hitch(console, "log", "rejected"));
|
|
7909
|
+
tracer.on("progress", lang.hitch(console, "log", "progress"));
|
|
7888
7910
|
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
(event.type === upType && target !== this._waitForMouseUp)) {
|
|
7894
|
-
return;
|
|
7911
|
+
var args = [];
|
|
7912
|
+
if(typeof usage === "string"){
|
|
7913
|
+
args = usage.split(",");
|
|
7914
|
+
usage = args.shift();
|
|
7895
7915
|
}
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
if (!event.shiftKey && event.type === downType && this.isSelected(target)) {
|
|
7904
|
-
this._waitForMouseUp = target;
|
|
7905
|
-
}
|
|
7906
|
-
else {
|
|
7907
|
-
this[this._selectionHandlerName](event, target);
|
|
7908
|
-
}
|
|
7916
|
+
if(usage === "report-rejections"){
|
|
7917
|
+
Deferred.instrumentRejected = reportRejections;
|
|
7918
|
+
}else if(usage === "report-unhandled-rejections" || usage === true || usage === 1){
|
|
7919
|
+
Deferred.instrumentRejected = trackUnhandledRejections;
|
|
7920
|
+
unhandledWait = parseInt(args[0], 10) || unhandledWait;
|
|
7921
|
+
}else {
|
|
7922
|
+
throw new Error("Unsupported instrumentation usage <" + usage + ">");
|
|
7909
7923
|
}
|
|
7910
|
-
|
|
7911
|
-
|
|
7924
|
+
}
|
|
7925
|
+
};
|
|
7926
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
7927
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
7912
7928
|
|
|
7913
|
-
_singleSelectionHandler: function (event, target) {
|
|
7914
|
-
// summary:
|
|
7915
|
-
// Selection handler for "single" mode, where only one target may be
|
|
7916
|
-
// selected at a time.
|
|
7917
7929
|
|
|
7918
|
-
|
|
7919
|
-
if (this._lastSelected === target) {
|
|
7920
|
-
// Allow ctrl to toggle selection, even within single select mode.
|
|
7921
|
-
this.select(target, null, !ctrlKey || !this.isSelected(target));
|
|
7922
|
-
}
|
|
7923
|
-
else {
|
|
7924
|
-
this.clearSelection();
|
|
7925
|
-
this.select(target);
|
|
7926
|
-
this._lastSelected = target;
|
|
7927
|
-
}
|
|
7928
|
-
},
|
|
7930
|
+
/***/ }),
|
|
7929
7931
|
|
|
7930
|
-
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
|
|
7934
|
-
|
|
7932
|
+
/***/ 2284:
|
|
7933
|
+
/*!**************************************!*\
|
|
7934
|
+
!*** ../../node_modules/dojo/dom.js ***!
|
|
7935
|
+
\**************************************/
|
|
7936
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
7935
7937
|
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
|
|
7938
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ./sniff */ 2616), __webpack_require__(/*! ./_base/window */ 5075), __webpack_require__(/*! ./_base/kernel */ 1054)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(has, win, kernel){
|
|
7939
|
+
// module:
|
|
7940
|
+
// dojo/dom
|
|
7939
7941
|
|
|
7940
|
-
|
|
7941
|
-
// Toggle if ctrl is held; otherwise select
|
|
7942
|
-
value = ctrlKey ? null : true;
|
|
7943
|
-
lastRow = null;
|
|
7944
|
-
}
|
|
7945
|
-
this.select(target, lastRow, value);
|
|
7942
|
+
// FIXME: need to add unit tests for all the semi-public methods
|
|
7946
7943
|
|
|
7947
|
-
|
|
7948
|
-
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
}
|
|
7944
|
+
if(has("ie") <= 7){
|
|
7945
|
+
try{
|
|
7946
|
+
document.execCommand("BackgroundImageCache", false, true);
|
|
7947
|
+
}catch(e){
|
|
7948
|
+
// sane browsers don't have cache "issues"
|
|
7949
|
+
}
|
|
7950
|
+
}
|
|
7953
7951
|
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
// except that clicks/keystrokes without modifier keys will clear
|
|
7958
|
-
// the previous selection.
|
|
7952
|
+
// =============================
|
|
7953
|
+
// DOM Functions
|
|
7954
|
+
// =============================
|
|
7959
7955
|
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7956
|
+
// the result object
|
|
7957
|
+
var dom = {
|
|
7958
|
+
// summary:
|
|
7959
|
+
// This module defines the core dojo DOM API.
|
|
7960
|
+
};
|
|
7965
7961
|
|
|
7966
|
-
|
|
7967
|
-
|
|
7968
|
-
if
|
|
7969
|
-
|
|
7970
|
-
this.clearSelection(null, true);
|
|
7962
|
+
if(has("ie")){
|
|
7963
|
+
dom.byId = function(id, doc){
|
|
7964
|
+
if(typeof id != "string"){
|
|
7965
|
+
return id || null;
|
|
7971
7966
|
}
|
|
7972
|
-
|
|
7973
|
-
|
|
7967
|
+
var _d = doc || win.doc, te = id && _d.getElementById(id);
|
|
7968
|
+
// attributes.id.value is better than just id in case the
|
|
7969
|
+
// user has a name=id inside a form
|
|
7970
|
+
if(te && (te.attributes.id.value == id || te.id == id)){
|
|
7971
|
+
return te;
|
|
7972
|
+
}else {
|
|
7973
|
+
var eles = _d.all[id];
|
|
7974
|
+
if(!eles || eles.nodeName){
|
|
7975
|
+
eles = [eles];
|
|
7976
|
+
}
|
|
7977
|
+
// if more than 1, choose first with the correct id
|
|
7978
|
+
var i = 0;
|
|
7979
|
+
while((te = eles[i++])){
|
|
7980
|
+
if((te.attributes && te.attributes.id && te.attributes.id.value == id) || te.id == id){
|
|
7981
|
+
return te;
|
|
7982
|
+
}
|
|
7983
|
+
}
|
|
7984
|
+
}
|
|
7985
|
+
return null;
|
|
7986
|
+
};
|
|
7987
|
+
}else {
|
|
7988
|
+
dom.byId = function(id, doc){
|
|
7989
|
+
// inline'd type check.
|
|
7990
|
+
// be sure to return null per documentation, to match IE branch.
|
|
7991
|
+
return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
|
|
7992
|
+
};
|
|
7993
|
+
}
|
|
7994
|
+
/*=====
|
|
7995
|
+
dom.byId = function(id, doc){
|
|
7996
|
+
// summary:
|
|
7997
|
+
// Returns DOM node with matching `id` attribute or falsy value (ex: null or undefined)
|
|
7998
|
+
// if not found. If `id` is a DomNode, this function is a no-op.
|
|
7999
|
+
//
|
|
8000
|
+
// id: String|DOMNode
|
|
8001
|
+
// A string to match an HTML id attribute or a reference to a DOM Node
|
|
8002
|
+
//
|
|
8003
|
+
// doc: Document?
|
|
8004
|
+
// Document to work in. Defaults to the current value of
|
|
8005
|
+
// dojo/_base/window.doc. Can be used to retrieve
|
|
8006
|
+
// node references from other documents.
|
|
8007
|
+
//
|
|
8008
|
+
// example:
|
|
8009
|
+
// Look up a node by ID:
|
|
8010
|
+
// | require(["dojo/dom"], function(dom){
|
|
8011
|
+
// | var n = dom.byId("foo");
|
|
8012
|
+
// | });
|
|
8013
|
+
//
|
|
8014
|
+
// example:
|
|
8015
|
+
// Check if a node exists, and use it.
|
|
8016
|
+
// | require(["dojo/dom"], function(dom){
|
|
8017
|
+
// | var n = dom.byId("bar");
|
|
8018
|
+
// | if(n){ doStuff() ... }
|
|
8019
|
+
// | });
|
|
8020
|
+
//
|
|
8021
|
+
// example:
|
|
8022
|
+
// Allow string or DomNode references to be passed to a custom function:
|
|
8023
|
+
// | require(["dojo/dom"], function(dom){
|
|
8024
|
+
// | var foo = function(nodeOrId){
|
|
8025
|
+
// | nodeOrId = dom.byId(nodeOrId);
|
|
8026
|
+
// | // ... more stuff
|
|
8027
|
+
// | }
|
|
8028
|
+
// | });
|
|
8029
|
+
};
|
|
8030
|
+
=====*/
|
|
7974
8031
|
|
|
7975
|
-
|
|
8032
|
+
// Test for DOMNode.contains() method, available everywhere except FF8-
|
|
8033
|
+
// and IE8-, where it's available in general, but not on document itself,
|
|
8034
|
+
// and also problems when either ancestor or node are text nodes.
|
|
8035
|
+
|
|
8036
|
+
var doc = kernel.global["document"] || null;
|
|
8037
|
+
has.add("dom-contains", !!(doc && doc.contains));
|
|
8038
|
+
dom.isDescendant = has("dom-contains") ?
|
|
8039
|
+
// FF9+, IE9+, webkit, opera, iOS, Android, Edge, etc.
|
|
8040
|
+
function(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){
|
|
8041
|
+
return !!( (ancestor = dom.byId(ancestor)) && ancestor.contains(dom.byId(node)) );
|
|
8042
|
+
} :
|
|
8043
|
+
function(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){
|
|
7976
8044
|
// summary:
|
|
7977
|
-
//
|
|
7978
|
-
//
|
|
8045
|
+
// Returns true if node is a descendant of ancestor
|
|
8046
|
+
// node: DOMNode|String
|
|
8047
|
+
// string id or node reference to test
|
|
8048
|
+
// ancestor: DOMNode|String
|
|
8049
|
+
// string id or node reference of potential parent to test against
|
|
8050
|
+
//
|
|
8051
|
+
// example:
|
|
8052
|
+
// Test is node id="bar" is a descendant of node id="foo"
|
|
8053
|
+
// | require(["dojo/dom"], function(dom){
|
|
8054
|
+
// | if(dom.isDescendant("bar", "foo")){ ... }
|
|
8055
|
+
// | });
|
|
7979
8056
|
|
|
7980
|
-
|
|
7981
|
-
|
|
8057
|
+
try{
|
|
8058
|
+
node = dom.byId(node);
|
|
8059
|
+
ancestor = dom.byId(ancestor);
|
|
8060
|
+
while(node){
|
|
8061
|
+
if(node == ancestor){
|
|
8062
|
+
return true; // Boolean
|
|
8063
|
+
}
|
|
8064
|
+
node = node.parentNode;
|
|
8065
|
+
}
|
|
8066
|
+
}catch(e){ /* squelch, return false */ }
|
|
8067
|
+
return false; // Boolean
|
|
8068
|
+
};
|
|
7982
8069
|
|
|
7983
|
-
|
|
7984
|
-
// summary:
|
|
7985
|
-
// Performs first-time hookup of event handlers containing logic
|
|
7986
|
-
// required for selection to operate.
|
|
8070
|
+
// TODO: do we need setSelectable in the base?
|
|
7987
8071
|
|
|
7988
|
-
|
|
7989
|
-
|
|
7990
|
-
|
|
8072
|
+
// Add feature test for user-select CSS property
|
|
8073
|
+
// (currently known to work in all but IE < 10 and Opera)
|
|
8074
|
+
// TODO: The user-select CSS property as of May 2014 is no longer part of
|
|
8075
|
+
// any CSS specification. In IE, -ms-user-select does not do the same thing
|
|
8076
|
+
// as the unselectable attribute on elements; namely, dijit Editor buttons
|
|
8077
|
+
// do not properly prevent the content of the editable content frame from
|
|
8078
|
+
// unblurring. As a result, the -ms- prefixed version is omitted here.
|
|
8079
|
+
has.add("css-user-select", function(global, doc, element){
|
|
8080
|
+
// Avoid exception when dom.js is loaded in non-browser environments
|
|
8081
|
+
if(!element){ return false; }
|
|
7991
8082
|
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
|
|
7995
|
-
|
|
8083
|
+
var style = element.style;
|
|
8084
|
+
var prefixes = ["Khtml", "O", "Moz", "Webkit"],
|
|
8085
|
+
i = prefixes.length,
|
|
8086
|
+
name = "userSelect";
|
|
7996
8087
|
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8000
|
-
|
|
8001
|
-
|
|
8088
|
+
// Iterate prefixes from most to least likely
|
|
8089
|
+
do{
|
|
8090
|
+
if(typeof style[name] !== "undefined"){
|
|
8091
|
+
// Supported; return property name
|
|
8092
|
+
return name;
|
|
8002
8093
|
}
|
|
8094
|
+
}while(i-- && (name = prefixes[i] + "UserSelect"));
|
|
8003
8095
|
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8007
|
-
grid._handleSelect(event, event.target);
|
|
8008
|
-
});
|
|
8009
|
-
}
|
|
8096
|
+
// Not supported if we didn't return before now
|
|
8097
|
+
return false;
|
|
8098
|
+
});
|
|
8010
8099
|
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
|
|
8100
|
+
/*=====
|
|
8101
|
+
dom.setSelectable = function(node, selectable){
|
|
8102
|
+
// summary:
|
|
8103
|
+
// Enable or disable selection on a node
|
|
8104
|
+
// node: DOMNode|String
|
|
8105
|
+
// id or reference to node
|
|
8106
|
+
// selectable: Boolean
|
|
8107
|
+
// state to put the node in. false indicates unselectable, true
|
|
8108
|
+
// allows selection.
|
|
8109
|
+
// example:
|
|
8110
|
+
// Make the node id="bar" unselectable
|
|
8111
|
+
// | require(["dojo/dom"], function(dom){
|
|
8112
|
+
// | dom.setSelectable("bar");
|
|
8113
|
+
// | });
|
|
8114
|
+
// example:
|
|
8115
|
+
// Make the node id="bar" selectable
|
|
8116
|
+
// | require(["dojo/dom"], function(dom){
|
|
8117
|
+
// | dom.setSelectable("bar", true);
|
|
8118
|
+
// | });
|
|
8119
|
+
};
|
|
8120
|
+
=====*/
|
|
8024
8121
|
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
-
|
|
8030
|
-
|
|
8031
|
-
|
|
8122
|
+
var cssUserSelect = has("css-user-select");
|
|
8123
|
+
dom.setSelectable = cssUserSelect ? function(node, selectable){
|
|
8124
|
+
// css-user-select returns a (possibly vendor-prefixed) CSS property name
|
|
8125
|
+
dom.byId(node).style[cssUserSelect] = selectable ? "" : "none";
|
|
8126
|
+
} : function(node, selectable){
|
|
8127
|
+
node = dom.byId(node);
|
|
8128
|
+
|
|
8129
|
+
// (IE < 10 / Opera) Fall back to setting/removing the
|
|
8130
|
+
// unselectable attribute on the element and all its children
|
|
8131
|
+
var nodes = node.getElementsByTagName("*"),
|
|
8132
|
+
i = nodes.length;
|
|
8133
|
+
|
|
8134
|
+
if(selectable){
|
|
8135
|
+
node.removeAttribute("unselectable");
|
|
8136
|
+
while(i--){
|
|
8137
|
+
nodes[i].removeAttribute("unselectable");
|
|
8032
8138
|
}
|
|
8033
|
-
|
|
8034
|
-
|
|
8139
|
+
}else {
|
|
8140
|
+
node.setAttribute("unselectable", "on");
|
|
8141
|
+
while(i--){
|
|
8142
|
+
nodes[i].setAttribute("unselectable", "on");
|
|
8143
|
+
}
|
|
8144
|
+
}
|
|
8145
|
+
};
|
|
8035
8146
|
|
|
8036
|
-
|
|
8037
|
-
|
|
8038
|
-
|
|
8039
|
-
// Aspects to a trackable collection's notify method if applicable,
|
|
8040
|
-
// or to the list/grid's removeRow method otherwise.
|
|
8147
|
+
return dom;
|
|
8148
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
8149
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8041
8150
|
|
|
8042
|
-
var self = this,
|
|
8043
|
-
signals;
|
|
8044
8151
|
|
|
8045
|
-
|
|
8046
|
-
// Calls a method if the row corresponding to the object is selected.
|
|
8047
|
-
var row = self.row(rowArg),
|
|
8048
|
-
selection = row && self.selection[row.id];
|
|
8049
|
-
// Is the row currently in the selection list.
|
|
8050
|
-
if (selection) {
|
|
8051
|
-
self[methodName](row);
|
|
8052
|
-
}
|
|
8053
|
-
}
|
|
8152
|
+
/***/ }),
|
|
8054
8153
|
|
|
8055
|
-
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
|
|
8154
|
+
/***/ 2348:
|
|
8155
|
+
/*!*********************************************!*\
|
|
8156
|
+
!*** ../../node_modules/dgrid/Selection.js ***!
|
|
8157
|
+
\*********************************************/
|
|
8158
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
8059
8159
|
|
|
8060
|
-
|
|
8061
|
-
|
|
8062
|
-
|
|
8063
|
-
|
|
8064
|
-
|
|
8065
|
-
|
|
8066
|
-
|
|
8067
|
-
|
|
8068
|
-
|
|
8069
|
-
|
|
8070
|
-
|
|
8071
|
-
);
|
|
8072
|
-
}),
|
|
8073
|
-
aspect.after(this, '_observeCollection', function (collection) {
|
|
8074
|
-
signals.push(
|
|
8075
|
-
collection.on('update', function (event) {
|
|
8076
|
-
if (typeof event.index !== 'undefined') {
|
|
8077
|
-
// When List updates an item, the row element is removed and a new one inserted.
|
|
8078
|
-
// If at this point the object is still in grid.selection,
|
|
8079
|
-
// then call select on the row so the element's CSS is updated.
|
|
8080
|
-
ifSelected(collection.getIdentity(event.target), 'select');
|
|
8081
|
-
}
|
|
8082
|
-
})
|
|
8083
|
-
);
|
|
8084
|
-
}, true)
|
|
8085
|
-
];
|
|
8086
|
-
}
|
|
8087
|
-
else {
|
|
8088
|
-
signals = [
|
|
8089
|
-
aspect.before(this, 'removeRow', function (rowElement, preserveDom) {
|
|
8090
|
-
var row;
|
|
8091
|
-
if (!preserveDom) {
|
|
8092
|
-
row = this.row(rowElement);
|
|
8093
|
-
// if it is a real row removal for a selected item, deselect it
|
|
8094
|
-
if (row && (row.id in this.selection)) {
|
|
8095
|
-
this.deselect(row);
|
|
8096
|
-
}
|
|
8097
|
-
}
|
|
8098
|
-
})
|
|
8099
|
-
];
|
|
8100
|
-
}
|
|
8160
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
8161
|
+
__webpack_require__(/*! dojo/_base/declare */ 6345),
|
|
8162
|
+
__webpack_require__(/*! dojo/aspect */ 6566),
|
|
8163
|
+
__webpack_require__(/*! dojo/dom-class */ 8945),
|
|
8164
|
+
__webpack_require__(/*! dojo/mouse */ 8471),
|
|
8165
|
+
__webpack_require__(/*! dojo/on */ 2075),
|
|
8166
|
+
__webpack_require__(/*! dojo/sniff */ 2616),
|
|
8167
|
+
__webpack_require__.dj.h(/*! dojo/has!touch?./util/touch */"touch?5892"),
|
|
8168
|
+
__webpack_require__(/*! dojo/query */ 1172), // for on.selector
|
|
8169
|
+
__webpack_require__(/*! dojo/dom */ 2284) // for has('css-user-select') in 1.8.2+
|
|
8170
|
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function (declare, aspect, domClass, mouse, on, has, touchUtil) {
|
|
8101
8171
|
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
}
|
|
8106
|
-
signals = [];
|
|
8107
|
-
};
|
|
8108
|
-
},
|
|
8172
|
+
has.add('dom-comparedocumentposition', function (global, doc, element) {
|
|
8173
|
+
return !!element.compareDocumentPosition;
|
|
8174
|
+
});
|
|
8109
8175
|
|
|
8110
|
-
|
|
8111
|
-
|
|
8112
|
-
|
|
8113
|
-
// cell) can be selected. By default, all rows (or cells) are selectable.
|
|
8114
|
-
// target: Object
|
|
8115
|
-
// Row object (for Selection) or Cell object (for CellSelection) for the
|
|
8116
|
-
// row/cell in question
|
|
8117
|
-
return true;
|
|
8118
|
-
},
|
|
8176
|
+
// Add a feature test for the onselectstart event, which offers a more
|
|
8177
|
+
// graceful fallback solution than node.unselectable.
|
|
8178
|
+
has.add('dom-selectstart', typeof document.onselectstart !== 'undefined');
|
|
8119
8179
|
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
|
|
8180
|
+
var ctrlEquiv = has('mac') ? 'metaKey' : 'ctrlKey',
|
|
8181
|
+
hasUserSelect = has('css-user-select'),
|
|
8182
|
+
hasPointer = has('pointer'),
|
|
8183
|
+
hasMSPointer = hasPointer && hasPointer.slice(0, 2) === 'MS',
|
|
8184
|
+
downType = hasPointer ? hasPointer + (hasMSPointer ? 'Down' : 'down') : 'mousedown',
|
|
8185
|
+
upType = hasPointer ? hasPointer + (hasMSPointer ? 'Up' : 'up') : 'mouseup';
|
|
8124
8186
|
|
|
8125
|
-
|
|
8126
|
-
|
|
8127
|
-
|
|
8187
|
+
if (hasUserSelect === 'WebkitUserSelect' && typeof document.documentElement.style.msUserSelect !== 'undefined') {
|
|
8188
|
+
// Edge defines both webkit and ms prefixes, rendering feature detects as brittle as UA sniffs...
|
|
8189
|
+
hasUserSelect = false;
|
|
8190
|
+
}
|
|
8128
8191
|
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
-
|
|
8134
|
-
|
|
8192
|
+
function makeUnselectable(node, unselectable) {
|
|
8193
|
+
// Utility function used in fallback path for recursively setting unselectable
|
|
8194
|
+
var value = node.unselectable = unselectable ? 'on' : '',
|
|
8195
|
+
elements = node.getElementsByTagName('*'),
|
|
8196
|
+
i = elements.length;
|
|
8197
|
+
|
|
8198
|
+
while (--i) {
|
|
8199
|
+
if (elements[i].tagName === 'INPUT' || elements[i].tagName === 'TEXTAREA') {
|
|
8200
|
+
continue; // Don't prevent text selection in text input fields.
|
|
8135
8201
|
}
|
|
8136
|
-
|
|
8202
|
+
elements[i].unselectable = value;
|
|
8203
|
+
}
|
|
8204
|
+
}
|
|
8137
8205
|
|
|
8138
|
-
|
|
8139
|
-
|
|
8206
|
+
function setSelectable(grid, selectable) {
|
|
8207
|
+
// Alternative version of dojo/dom.setSelectable based on feature detection.
|
|
8140
8208
|
|
|
8141
|
-
|
|
8142
|
-
|
|
8209
|
+
// For FF < 21, use -moz-none, which will respect -moz-user-select: text on
|
|
8210
|
+
// child elements (e.g. form inputs). In FF 21, none behaves the same.
|
|
8211
|
+
// See https://developer.mozilla.org/en-US/docs/CSS/user-select
|
|
8212
|
+
var node = grid.bodyNode,
|
|
8213
|
+
value = selectable ? 'text' : has('ff') < 21 ? '-moz-none' : 'none';
|
|
8143
8214
|
|
|
8144
|
-
|
|
8145
|
-
|
|
8146
|
-
|
|
8215
|
+
// In IE10+, -ms-user-select: none will block selection from starting within the
|
|
8216
|
+
// element, but will not block an existing selection from entering the element.
|
|
8217
|
+
// When using a modifier key, IE will select text inside of the element as well
|
|
8218
|
+
// as outside of the element, because it thinks the selection started outside.
|
|
8219
|
+
// Therefore, fall back to other means of blocking selection for IE10+.
|
|
8220
|
+
// Newer versions of Dojo do not even report msUserSelect (see https://github.com/dojo/dojo/commit/7ae2a43).
|
|
8221
|
+
if (hasUserSelect && hasUserSelect !== 'msUserSelect') {
|
|
8222
|
+
node.style[hasUserSelect] = value;
|
|
8223
|
+
}
|
|
8224
|
+
else if (has('dom-selectstart')) {
|
|
8225
|
+
// For browsers that don't support user-select but support selectstart (IE<10),
|
|
8226
|
+
// we can hook up an event handler as necessary. Since selectstart bubbles,
|
|
8227
|
+
// it will handle any child elements as well.
|
|
8228
|
+
// Note, however, that both this and the unselectable fallback below are
|
|
8229
|
+
// incapable of preventing text selection from outside the targeted node.
|
|
8230
|
+
if (!selectable && !grid._selectstartHandle) {
|
|
8231
|
+
grid._selectstartHandle = on(node, 'selectstart', function (evt) {
|
|
8232
|
+
var tag = evt.target && evt.target.tagName;
|
|
8147
8233
|
|
|
8148
|
-
|
|
8149
|
-
|
|
8150
|
-
|
|
8151
|
-
|
|
8234
|
+
// Prevent selection except where a text input field is involved.
|
|
8235
|
+
if (tag !== 'INPUT' && tag !== 'TEXTAREA') {
|
|
8236
|
+
evt.preventDefault();
|
|
8237
|
+
}
|
|
8238
|
+
});
|
|
8152
8239
|
}
|
|
8153
|
-
|
|
8154
|
-
|
|
8155
|
-
|
|
8156
|
-
// summary:
|
|
8157
|
-
// Contains logic for determining whether to select targets, but
|
|
8158
|
-
// does not emit events. Called from select, deselect, selectAll,
|
|
8159
|
-
// and clearSelection.
|
|
8160
|
-
|
|
8161
|
-
var selection,
|
|
8162
|
-
previousValue,
|
|
8163
|
-
element,
|
|
8164
|
-
toElement,
|
|
8165
|
-
direction;
|
|
8166
|
-
|
|
8167
|
-
if (typeof value === 'undefined') {
|
|
8168
|
-
// default to true
|
|
8169
|
-
value = true;
|
|
8240
|
+
else if (selectable && grid._selectstartHandle) {
|
|
8241
|
+
grid._selectstartHandle.remove();
|
|
8242
|
+
delete grid._selectstartHandle;
|
|
8170
8243
|
}
|
|
8171
|
-
|
|
8172
|
-
|
|
8244
|
+
}
|
|
8245
|
+
else {
|
|
8246
|
+
// For browsers that don't support either user-select or selectstart (Opera),
|
|
8247
|
+
// we need to resort to setting the unselectable attribute on all nodes
|
|
8248
|
+
// involved. Since this doesn't automatically apply to child nodes, we also
|
|
8249
|
+
// need to re-apply it whenever rows are rendered.
|
|
8250
|
+
makeUnselectable(node, !selectable);
|
|
8251
|
+
if (!selectable && !grid._unselectableHandle) {
|
|
8252
|
+
grid._unselectableHandle = aspect.after(grid, 'renderRow', function (row) {
|
|
8253
|
+
makeUnselectable(row, true);
|
|
8254
|
+
return row;
|
|
8255
|
+
});
|
|
8256
|
+
}
|
|
8257
|
+
else if (selectable && grid._unselectableHandle) {
|
|
8258
|
+
grid._unselectableHandle.remove();
|
|
8259
|
+
delete grid._unselectableHandle;
|
|
8173
8260
|
}
|
|
8261
|
+
}
|
|
8262
|
+
}
|
|
8174
8263
|
|
|
8175
|
-
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
if (value === false || this.allowSelect(row)) {
|
|
8180
|
-
selection = this.selection;
|
|
8181
|
-
previousValue = !!selection[row.id];
|
|
8182
|
-
if (value === null) {
|
|
8183
|
-
// indicates a toggle
|
|
8184
|
-
value = !previousValue;
|
|
8185
|
-
}
|
|
8186
|
-
element = row.element;
|
|
8187
|
-
if (!value && !this.allSelected) {
|
|
8188
|
-
delete this.selection[row.id];
|
|
8189
|
-
}
|
|
8190
|
-
else {
|
|
8191
|
-
selection[row.id] = value;
|
|
8192
|
-
}
|
|
8193
|
-
if (element) {
|
|
8194
|
-
// add or remove classes as appropriate
|
|
8195
|
-
if (value) {
|
|
8196
|
-
domClass.add(element, 'dgrid-selected' +
|
|
8197
|
-
(this.addUiClasses ? ' ui-state-active' : ''));
|
|
8198
|
-
}
|
|
8199
|
-
else {
|
|
8200
|
-
domClass.remove(element, 'dgrid-selected ui-state-active');
|
|
8201
|
-
}
|
|
8202
|
-
}
|
|
8203
|
-
if (value !== previousValue && element) {
|
|
8204
|
-
// add to the queue of row events
|
|
8205
|
-
this._selectionEventQueues[(value ? '' : 'de') + 'select'].push(row);
|
|
8206
|
-
}
|
|
8264
|
+
return declare(null, {
|
|
8265
|
+
// summary:
|
|
8266
|
+
// Add selection capabilities to a grid. The grid will have a selection property and
|
|
8267
|
+
// fire "dgrid-select" and "dgrid-deselect" events.
|
|
8207
8268
|
|
|
8208
|
-
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
}
|
|
8269
|
+
// selectionDelegate: String
|
|
8270
|
+
// Selector to delegate to as target of selection events.
|
|
8271
|
+
selectionDelegate: '.dgrid-row',
|
|
8212
8272
|
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
'If you are using OnDemandList, you may wish to increase ' +
|
|
8218
|
-
'farOffRemoval to avoid this, but note that keeping more nodes ' +
|
|
8219
|
-
'in the DOM may impact performance.');
|
|
8220
|
-
return;
|
|
8221
|
-
}
|
|
8273
|
+
// selectionEvents: String|Function
|
|
8274
|
+
// Event (or comma-delimited events, or extension event) to listen on
|
|
8275
|
+
// to trigger select logic.
|
|
8276
|
+
selectionEvents: downType + ',' + upType + ',dgrid-cellfocusin',
|
|
8222
8277
|
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
// The original element was actually replaced
|
|
8228
|
-
toElement = document.getElementById(toElement.id);
|
|
8229
|
-
direction = this._determineSelectionDirection(element, toElement);
|
|
8230
|
-
}
|
|
8231
|
-
while (row.element !== toElement && (row = this[direction](row))) {
|
|
8232
|
-
this._select(row, null, value);
|
|
8233
|
-
}
|
|
8234
|
-
}
|
|
8235
|
-
}
|
|
8236
|
-
}
|
|
8237
|
-
},
|
|
8278
|
+
// selectionTouchEvents: String|Function
|
|
8279
|
+
// Event (or comma-delimited events, or extension event) to listen on
|
|
8280
|
+
// in addition to selectionEvents for touch devices.
|
|
8281
|
+
selectionTouchEvents: null,
|
|
8238
8282
|
|
|
8239
|
-
//
|
|
8240
|
-
//
|
|
8241
|
-
|
|
8242
|
-
var result = to.compareDocumentPosition(from);
|
|
8243
|
-
if (result & 1) {
|
|
8244
|
-
return false; // Out of document
|
|
8245
|
-
}
|
|
8246
|
-
return result === 2 ? 'down' : 'up';
|
|
8247
|
-
} : function (from, to) {
|
|
8248
|
-
if (to.sourceIndex < 1) {
|
|
8249
|
-
return false; // Out of document
|
|
8250
|
-
}
|
|
8251
|
-
return to.sourceIndex > from.sourceIndex ? 'down' : 'up';
|
|
8252
|
-
},
|
|
8283
|
+
// deselectOnRefresh: Boolean
|
|
8284
|
+
// If true, the selection object will be cleared when refresh is called.
|
|
8285
|
+
deselectOnRefresh: true,
|
|
8253
8286
|
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
// Row object (or something that can resolve to one) to (de)select
|
|
8259
|
-
// toRow: Mixed
|
|
8260
|
-
// If specified, the inclusive range between row and toRow will
|
|
8261
|
-
// be (de)selected
|
|
8262
|
-
// value: Boolean|Null
|
|
8263
|
-
// Whether to select (true/default), deselect (false), or toggle
|
|
8264
|
-
// (null) the row
|
|
8287
|
+
// allowSelectAll: Boolean
|
|
8288
|
+
// If true, allow ctrl/cmd+A to select all rows.
|
|
8289
|
+
// Also consulted by the selector plugin for showing select-all checkbox.
|
|
8290
|
+
allowSelectAll: false,
|
|
8265
8291
|
|
|
8266
|
-
|
|
8267
|
-
|
|
8292
|
+
// selection:
|
|
8293
|
+
// An object where the property names correspond to
|
|
8294
|
+
// object ids and values are true or false depending on whether an item is selected
|
|
8295
|
+
selection: {},
|
|
8296
|
+
|
|
8297
|
+
// selectionMode: String
|
|
8298
|
+
// The selection mode to use, can be "none", "multiple", "single", or "extended".
|
|
8299
|
+
selectionMode: 'extended',
|
|
8300
|
+
|
|
8301
|
+
// allowTextSelection: Boolean
|
|
8302
|
+
// Whether to still allow text within cells to be selected. The default
|
|
8303
|
+
// behavior is to allow text selection only when selectionMode is none;
|
|
8304
|
+
// setting this property to either true or false will explicitly set the
|
|
8305
|
+
// behavior regardless of selectionMode.
|
|
8306
|
+
allowTextSelection: undefined,
|
|
8307
|
+
|
|
8308
|
+
// _selectionTargetType: String
|
|
8309
|
+
// Indicates the property added to emitted events for selected targets;
|
|
8310
|
+
// overridden in CellSelection
|
|
8311
|
+
_selectionTargetType: 'rows',
|
|
8312
|
+
|
|
8313
|
+
create: function () {
|
|
8314
|
+
this.selection = {};
|
|
8315
|
+
return this.inherited(arguments);
|
|
8268
8316
|
},
|
|
8269
|
-
|
|
8270
|
-
|
|
8271
|
-
// Deselects the given row or range of rows.
|
|
8272
|
-
// row: Mixed
|
|
8273
|
-
// Row object (or something that can resolve to one) to deselect
|
|
8274
|
-
// toRow: Mixed
|
|
8275
|
-
// If specified, the inclusive range between row and toRow will
|
|
8276
|
-
// be deselected
|
|
8317
|
+
postCreate: function () {
|
|
8318
|
+
this.inherited(arguments);
|
|
8277
8319
|
|
|
8278
|
-
this.
|
|
8320
|
+
this._initSelectionEvents();
|
|
8321
|
+
|
|
8322
|
+
// Force selectionMode setter to run
|
|
8323
|
+
var selectionMode = this.selectionMode;
|
|
8324
|
+
this.selectionMode = '';
|
|
8325
|
+
this._setSelectionMode(selectionMode);
|
|
8279
8326
|
},
|
|
8280
8327
|
|
|
8281
|
-
|
|
8282
|
-
|
|
8283
|
-
// Deselects any currently-selected items.
|
|
8284
|
-
// exceptId: Mixed?
|
|
8285
|
-
// If specified, the given id will not be deselected.
|
|
8328
|
+
destroy: function () {
|
|
8329
|
+
this.inherited(arguments);
|
|
8286
8330
|
|
|
8287
|
-
|
|
8288
|
-
|
|
8289
|
-
|
|
8290
|
-
this._select(id, null, false);
|
|
8291
|
-
}
|
|
8331
|
+
// Remove any extra handles added by Selection.
|
|
8332
|
+
if (this._selectstartHandle) {
|
|
8333
|
+
this._selectstartHandle.remove();
|
|
8292
8334
|
}
|
|
8293
|
-
if (
|
|
8294
|
-
this.
|
|
8335
|
+
if (this._unselectableHandle) {
|
|
8336
|
+
this._unselectableHandle.remove();
|
|
8295
8337
|
}
|
|
8296
|
-
this.
|
|
8297
|
-
|
|
8298
|
-
selectAll: function () {
|
|
8299
|
-
this.allSelected = true;
|
|
8300
|
-
this.selection = {}; // we do this to clear out pages from previous sorts
|
|
8301
|
-
for (var i in this._rowIdToObject) {
|
|
8302
|
-
var row = this.row(this._rowIdToObject[i]);
|
|
8303
|
-
this._select(row.id, null, true);
|
|
8338
|
+
if (this._removeDeselectSignals) {
|
|
8339
|
+
this._removeDeselectSignals();
|
|
8304
8340
|
}
|
|
8305
|
-
this._fireSelectionEvents();
|
|
8306
8341
|
},
|
|
8307
8342
|
|
|
8308
|
-
|
|
8309
|
-
|
|
8343
|
+
_setSelectionMode: function (mode) {
|
|
8344
|
+
// summary:
|
|
8345
|
+
// Updates selectionMode, resetting necessary variables.
|
|
8310
8346
|
|
|
8311
|
-
|
|
8312
|
-
|
|
8313
|
-
count += 1;
|
|
8314
|
-
}
|
|
8347
|
+
if (mode === this.selectionMode) {
|
|
8348
|
+
return;
|
|
8315
8349
|
}
|
|
8316
8350
|
|
|
8317
|
-
|
|
8351
|
+
// Start selection fresh when switching mode.
|
|
8352
|
+
this.clearSelection();
|
|
8353
|
+
|
|
8354
|
+
this.selectionMode = mode;
|
|
8355
|
+
|
|
8356
|
+
// Compute name of selection handler for this mode once
|
|
8357
|
+
// (in the form of _fooSelectionHandler)
|
|
8358
|
+
this._selectionHandlerName = '_' + mode + 'SelectionHandler';
|
|
8359
|
+
|
|
8360
|
+
// Also re-run allowTextSelection setter in case it is in automatic mode.
|
|
8361
|
+
this._setAllowTextSelection(this.allowTextSelection);
|
|
8318
8362
|
},
|
|
8319
8363
|
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8364
|
+
_setAllowTextSelection: function (allow) {
|
|
8365
|
+
if (typeof allow !== 'undefined') {
|
|
8366
|
+
setSelectable(this, allow);
|
|
8367
|
+
}
|
|
8368
|
+
else {
|
|
8369
|
+
setSelectable(this, this.selectionMode === 'none');
|
|
8370
|
+
}
|
|
8371
|
+
this.allowTextSelection = allow;
|
|
8372
|
+
},
|
|
8323
8373
|
|
|
8324
|
-
|
|
8325
|
-
|
|
8374
|
+
_handleSelect: function (event, target) {
|
|
8375
|
+
if (mouse.isRight(event)) {
|
|
8376
|
+
return;
|
|
8326
8377
|
}
|
|
8327
|
-
|
|
8328
|
-
|
|
8378
|
+
|
|
8379
|
+
// Don't run if selection mode doesn't have a handler (incl. "none"), target can't be selected,
|
|
8380
|
+
// or if coming from a dgrid-cellfocusin from a mousedown
|
|
8381
|
+
if (!this[this._selectionHandlerName] || !this.allowSelect(this.row(target)) ||
|
|
8382
|
+
(event.type === 'dgrid-cellfocusin' && event.parentType === 'mousedown') ||
|
|
8383
|
+
(event.type === upType && target !== this._waitForMouseUp)) {
|
|
8384
|
+
return;
|
|
8329
8385
|
}
|
|
8386
|
+
this._waitForMouseUp = null;
|
|
8387
|
+
this._selectionTriggerEvent = event;
|
|
8330
8388
|
|
|
8331
|
-
//
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8389
|
+
// Don't call select handler for ctrl+navigation
|
|
8390
|
+
if (!event.keyCode || !event.ctrlKey || event.keyCode === 32) {
|
|
8391
|
+
// If clicking a selected item, wait for mouseup so that drag n' drop
|
|
8392
|
+
// is possible without losing our selection
|
|
8393
|
+
if (!event.shiftKey && event.type === downType && this.isSelected(target)) {
|
|
8394
|
+
this._waitForMouseUp = target;
|
|
8395
|
+
}
|
|
8396
|
+
else {
|
|
8397
|
+
this[this._selectionHandlerName](event, target);
|
|
8398
|
+
}
|
|
8399
|
+
}
|
|
8400
|
+
this._selectionTriggerEvent = null;
|
|
8336
8401
|
},
|
|
8337
8402
|
|
|
8338
|
-
|
|
8339
|
-
|
|
8403
|
+
_singleSelectionHandler: function (event, target) {
|
|
8404
|
+
// summary:
|
|
8405
|
+
// Selection handler for "single" mode, where only one target may be
|
|
8406
|
+
// selected at a time.
|
|
8407
|
+
|
|
8408
|
+
var ctrlKey = event.keyCode ? event.ctrlKey : event[ctrlEquiv];
|
|
8409
|
+
if (this._lastSelected === target) {
|
|
8410
|
+
// Allow ctrl to toggle selection, even within single select mode.
|
|
8411
|
+
this.select(target, null, !ctrlKey || !this.isSelected(target));
|
|
8412
|
+
}
|
|
8413
|
+
else {
|
|
8340
8414
|
this.clearSelection();
|
|
8415
|
+
this.select(target);
|
|
8416
|
+
this._lastSelected = target;
|
|
8341
8417
|
}
|
|
8342
|
-
this._lastSelected = null;
|
|
8343
|
-
return this.inherited(arguments);
|
|
8344
8418
|
},
|
|
8345
8419
|
|
|
8346
|
-
|
|
8347
|
-
|
|
8348
|
-
|
|
8349
|
-
|
|
8350
|
-
|
|
8351
|
-
selected;
|
|
8420
|
+
_multipleSelectionHandler: function (event, target) {
|
|
8421
|
+
// summary:
|
|
8422
|
+
// Selection handler for "multiple" mode, where shift can be held to
|
|
8423
|
+
// select ranges, ctrl/cmd can be held to toggle, and clicks/keystrokes
|
|
8424
|
+
// without modifier keys will add to the current selection.
|
|
8352
8425
|
|
|
8353
|
-
|
|
8354
|
-
|
|
8355
|
-
|
|
8356
|
-
if (selected) {
|
|
8357
|
-
this.select(row, null, selected);
|
|
8358
|
-
}
|
|
8359
|
-
}
|
|
8360
|
-
this._fireSelectionEvents();
|
|
8361
|
-
return rows;
|
|
8362
|
-
}
|
|
8363
|
-
});
|
|
8364
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
8365
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8426
|
+
var lastRow = this._lastSelected,
|
|
8427
|
+
ctrlKey = event.keyCode ? event.ctrlKey : event[ctrlEquiv],
|
|
8428
|
+
value;
|
|
8366
8429
|
|
|
8430
|
+
if (!event.shiftKey) {
|
|
8431
|
+
// Toggle if ctrl is held; otherwise select
|
|
8432
|
+
value = ctrlKey ? null : true;
|
|
8433
|
+
lastRow = null;
|
|
8434
|
+
}
|
|
8435
|
+
this.select(target, lastRow, value);
|
|
8367
8436
|
|
|
8368
|
-
|
|
8437
|
+
if (!lastRow) {
|
|
8438
|
+
// Update reference for potential subsequent shift+select
|
|
8439
|
+
// (current row was already selected above)
|
|
8440
|
+
this._lastSelected = target;
|
|
8441
|
+
}
|
|
8442
|
+
},
|
|
8369
8443
|
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8373
|
-
|
|
8374
|
-
|
|
8444
|
+
_extendedSelectionHandler: function (event, target) {
|
|
8445
|
+
// summary:
|
|
8446
|
+
// Selection handler for "extended" mode, which is like multiple mode
|
|
8447
|
+
// except that clicks/keystrokes without modifier keys will clear
|
|
8448
|
+
// the previous selection.
|
|
8375
8449
|
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
__webpack_require__(/*! ../../node_modules/dojo-webpack-plugin/lib/NoModule.js */ 8819) // only included for has() qsa tests
|
|
8382
|
-
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(JSON, kernel, array, has){
|
|
8383
|
-
has.add('activex', typeof ActiveXObject !== 'undefined');
|
|
8384
|
-
has.add('dom-parser', function(global){
|
|
8385
|
-
return 'DOMParser' in global;
|
|
8386
|
-
});
|
|
8450
|
+
// If the target is already selected, and is the sole selection, ignore a user action
|
|
8451
|
+
// that would simply select the target (causing unnecessary deselect/select).
|
|
8452
|
+
if (!event[ctrlEquiv] && this.isSelected(target) && this.getSelectedCount() === 1) {
|
|
8453
|
+
return;
|
|
8454
|
+
}
|
|
8387
8455
|
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8393
|
-
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
];
|
|
8397
|
-
var lastParser;
|
|
8456
|
+
// Clear selection first for right-clicks outside selection and non-ctrl-clicks;
|
|
8457
|
+
// otherwise, extended mode logic is identical to multiple mode
|
|
8458
|
+
if (event.button === 2 ? !this.isSelected(target) :
|
|
8459
|
+
!(event.keyCode ? event.ctrlKey : event[ctrlEquiv])) {
|
|
8460
|
+
this.clearSelection(null, true);
|
|
8461
|
+
}
|
|
8462
|
+
this._multipleSelectionHandler(event, target);
|
|
8463
|
+
},
|
|
8398
8464
|
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8465
|
+
_toggleSelectionHandler: function (event, target) {
|
|
8466
|
+
// summary:
|
|
8467
|
+
// Selection handler for "toggle" mode which simply toggles the selection
|
|
8468
|
+
// of the given target. Primarily useful for touch input.
|
|
8402
8469
|
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8470
|
+
this.select(target, null, null);
|
|
8471
|
+
},
|
|
8472
|
+
|
|
8473
|
+
_initSelectionEvents: function () {
|
|
8474
|
+
// summary:
|
|
8475
|
+
// Performs first-time hookup of event handlers containing logic
|
|
8476
|
+
// required for selection to operate.
|
|
8477
|
+
|
|
8478
|
+
var grid = this,
|
|
8479
|
+
contentNode = this.contentNode,
|
|
8480
|
+
selector = this.selectionDelegate;
|
|
8481
|
+
|
|
8482
|
+
this._selectionEventQueues = {
|
|
8483
|
+
deselect: [],
|
|
8484
|
+
select: []
|
|
8485
|
+
};
|
|
8486
|
+
|
|
8487
|
+
{
|
|
8488
|
+
// Listen for mouse/keyboard actions that should cause selections
|
|
8489
|
+
on(contentNode, on.selector(selector, this.selectionEvents), function (event) {
|
|
8490
|
+
grid._handleSelect(event, this);
|
|
8491
|
+
});
|
|
8409
8492
|
}
|
|
8410
8493
|
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
result = dom;
|
|
8417
|
-
lastParser = p;
|
|
8418
|
-
}catch(e){ return false; }
|
|
8419
|
-
return true;
|
|
8494
|
+
// Also hook up spacebar (for ctrl+space)
|
|
8495
|
+
if (this.addKeyHandler) {
|
|
8496
|
+
this.addKeyHandler(32, function (event) {
|
|
8497
|
+
grid._handleSelect(event, event.target);
|
|
8498
|
+
});
|
|
8420
8499
|
}
|
|
8421
8500
|
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8501
|
+
// If allowSelectAll is true, bind ctrl/cmd+A to (de)select all rows,
|
|
8502
|
+
// unless the event was received from an editor component.
|
|
8503
|
+
// (Handler further checks against _allowSelectAll, which may be updated
|
|
8504
|
+
// if selectionMode is changed post-init.)
|
|
8505
|
+
if (this.allowSelectAll) {
|
|
8506
|
+
this.on('keydown', function (event) {
|
|
8507
|
+
if (event[ctrlEquiv] && event.keyCode === 65 &&
|
|
8508
|
+
!/\bdgrid-input\b/.test(event.target.className)) {
|
|
8509
|
+
event.preventDefault();
|
|
8510
|
+
grid[grid.allSelected ? 'clearSelection' : 'selectAll']();
|
|
8511
|
+
}
|
|
8512
|
+
});
|
|
8433
8513
|
}
|
|
8434
8514
|
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8515
|
+
// Update aspects if there is a collection change
|
|
8516
|
+
if (this._setCollection) {
|
|
8517
|
+
this._listeners.push(
|
|
8518
|
+
aspect.before(this, '_setCollection', function (collection) {
|
|
8519
|
+
grid._updateDeselectionAspect(collection);
|
|
8520
|
+
})
|
|
8521
|
+
);
|
|
8522
|
+
}
|
|
8523
|
+
this._updateDeselectionAspect();
|
|
8524
|
+
},
|
|
8438
8525
|
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8526
|
+
_updateDeselectionAspect: function (collection) {
|
|
8527
|
+
// summary:
|
|
8528
|
+
// Hooks up logic to handle deselection of removed items.
|
|
8529
|
+
// Aspects to a trackable collection's notify method if applicable,
|
|
8530
|
+
// or to the list/grid's removeRow method otherwise.
|
|
8443
8531
|
|
|
8444
|
-
|
|
8445
|
-
|
|
8532
|
+
var self = this,
|
|
8533
|
+
signals;
|
|
8446
8534
|
|
|
8447
|
-
|
|
8448
|
-
|
|
8449
|
-
|
|
8535
|
+
function ifSelected(rowArg, methodName) {
|
|
8536
|
+
// Calls a method if the row corresponding to the object is selected.
|
|
8537
|
+
var row = self.row(rowArg),
|
|
8538
|
+
selection = row && self.selection[row.id];
|
|
8539
|
+
// Is the row currently in the selection list.
|
|
8540
|
+
if (selection) {
|
|
8541
|
+
self[methodName](row);
|
|
8542
|
+
}
|
|
8543
|
+
}
|
|
8544
|
+
|
|
8545
|
+
// Remove anything previously configured
|
|
8546
|
+
if (this._removeDeselectSignals) {
|
|
8547
|
+
this._removeDeselectSignals();
|
|
8548
|
+
}
|
|
8549
|
+
|
|
8550
|
+
if (collection && collection.track && this._observeCollection) {
|
|
8551
|
+
signals = [
|
|
8552
|
+
aspect.before(this, '_observeCollection', function (collection) {
|
|
8553
|
+
signals.push(
|
|
8554
|
+
collection.on('delete', function (event) {
|
|
8555
|
+
if (typeof event.index === 'undefined') {
|
|
8556
|
+
// Call deselect on the row if the object is being removed. This allows the
|
|
8557
|
+
// deselect event to reference the row element while it still exists in the DOM.
|
|
8558
|
+
ifSelected(event.id, 'deselect');
|
|
8559
|
+
}
|
|
8560
|
+
})
|
|
8561
|
+
);
|
|
8562
|
+
}),
|
|
8563
|
+
aspect.after(this, '_observeCollection', function (collection) {
|
|
8564
|
+
signals.push(
|
|
8565
|
+
collection.on('update', function (event) {
|
|
8566
|
+
if (typeof event.index !== 'undefined') {
|
|
8567
|
+
// When List updates an item, the row element is removed and a new one inserted.
|
|
8568
|
+
// If at this point the object is still in grid.selection,
|
|
8569
|
+
// then call select on the row so the element's CSS is updated.
|
|
8570
|
+
ifSelected(collection.getIdentity(event.target), 'select');
|
|
8571
|
+
}
|
|
8572
|
+
})
|
|
8573
|
+
);
|
|
8574
|
+
}, true)
|
|
8575
|
+
];
|
|
8576
|
+
}
|
|
8577
|
+
else {
|
|
8578
|
+
signals = [
|
|
8579
|
+
aspect.before(this, 'removeRow', function (rowElement, preserveDom) {
|
|
8580
|
+
var row;
|
|
8581
|
+
if (!preserveDom) {
|
|
8582
|
+
row = this.row(rowElement);
|
|
8583
|
+
// if it is a real row removal for a selected item, deselect it
|
|
8584
|
+
if (row && (row.id in this.selection)) {
|
|
8585
|
+
this.deselect(row);
|
|
8586
|
+
}
|
|
8587
|
+
}
|
|
8588
|
+
})
|
|
8589
|
+
];
|
|
8590
|
+
}
|
|
8591
|
+
|
|
8592
|
+
this._removeDeselectSignals = function () {
|
|
8593
|
+
for (var i = signals.length; i--;) {
|
|
8594
|
+
signals[i].remove();
|
|
8595
|
+
}
|
|
8596
|
+
signals = [];
|
|
8597
|
+
};
|
|
8450
8598
|
},
|
|
8451
|
-
|
|
8452
|
-
|
|
8599
|
+
|
|
8600
|
+
allowSelect: function () {
|
|
8601
|
+
// summary:
|
|
8602
|
+
// A method that can be overriden to determine whether or not a row (or
|
|
8603
|
+
// cell) can be selected. By default, all rows (or cells) are selectable.
|
|
8604
|
+
// target: Object
|
|
8605
|
+
// Row object (for Selection) or Cell object (for CellSelection) for the
|
|
8606
|
+
// row/cell in question
|
|
8607
|
+
return true;
|
|
8453
8608
|
},
|
|
8454
|
-
'xml': handleXML,
|
|
8455
|
-
'blob': handleNativeResponse,
|
|
8456
|
-
'arraybuffer': handleNativeResponse,
|
|
8457
|
-
'document': handleNativeResponse
|
|
8458
|
-
};
|
|
8459
8609
|
|
|
8460
|
-
|
|
8461
|
-
|
|
8610
|
+
_fireSelectionEvent: function (type) {
|
|
8611
|
+
// summary:
|
|
8612
|
+
// Fires an event for the accumulated rows once a selection
|
|
8613
|
+
// operation is finished (whether singular or for a range)
|
|
8462
8614
|
|
|
8463
|
-
|
|
8615
|
+
var queue = this._selectionEventQueues[type],
|
|
8616
|
+
triggerEvent = this._selectionTriggerEvent,
|
|
8617
|
+
eventObject;
|
|
8464
8618
|
|
|
8465
|
-
|
|
8466
|
-
|
|
8619
|
+
eventObject = {
|
|
8620
|
+
bubbles: true,
|
|
8621
|
+
grid: this
|
|
8622
|
+
};
|
|
8623
|
+
if (triggerEvent) {
|
|
8624
|
+
eventObject.parentType = triggerEvent.type;
|
|
8625
|
+
}
|
|
8626
|
+
eventObject[this._selectionTargetType] = queue;
|
|
8467
8627
|
|
|
8468
|
-
|
|
8469
|
-
|
|
8470
|
-
};
|
|
8628
|
+
// Clear the queue so that the next round of (de)selections starts anew
|
|
8629
|
+
this._selectionEventQueues[type] = [];
|
|
8471
8630
|
|
|
8472
|
-
|
|
8473
|
-
|
|
8474
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8631
|
+
on.emit(this.contentNode, 'dgrid-' + type, eventObject);
|
|
8632
|
+
},
|
|
8475
8633
|
|
|
8634
|
+
_fireSelectionEvents: function () {
|
|
8635
|
+
var queues = this._selectionEventQueues,
|
|
8636
|
+
type;
|
|
8476
8637
|
|
|
8477
|
-
|
|
8638
|
+
for (type in queues) {
|
|
8639
|
+
if (queues[type].length) {
|
|
8640
|
+
this._fireSelectionEvent(type);
|
|
8641
|
+
}
|
|
8642
|
+
}
|
|
8643
|
+
},
|
|
8478
8644
|
|
|
8479
|
-
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
|
|
8483
|
-
|
|
8645
|
+
_select: function (row, toRow, value) {
|
|
8646
|
+
// summary:
|
|
8647
|
+
// Contains logic for determining whether to select targets, but
|
|
8648
|
+
// does not emit events. Called from select, deselect, selectAll,
|
|
8649
|
+
// and clearSelection.
|
|
8484
8650
|
|
|
8485
|
-
|
|
8486
|
-
|
|
8487
|
-
|
|
8651
|
+
var selection,
|
|
8652
|
+
previousValue,
|
|
8653
|
+
element,
|
|
8654
|
+
toElement,
|
|
8655
|
+
direction;
|
|
8488
8656
|
|
|
8489
|
-
|
|
8490
|
-
|
|
8491
|
-
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
|
|
8495
|
-
|
|
8657
|
+
if (typeof value === 'undefined') {
|
|
8658
|
+
// default to true
|
|
8659
|
+
value = true;
|
|
8660
|
+
}
|
|
8661
|
+
if (!row.element) {
|
|
8662
|
+
row = this.row(row);
|
|
8663
|
+
}
|
|
8496
8664
|
|
|
8497
|
-
|
|
8498
|
-
|
|
8499
|
-
|
|
8500
|
-
|
|
8501
|
-
|
|
8502
|
-
|
|
8503
|
-
|
|
8504
|
-
|
|
8505
|
-
|
|
8506
|
-
|
|
8507
|
-
|
|
8508
|
-
|
|
8509
|
-
|
|
8510
|
-
|
|
8511
|
-
|
|
8512
|
-
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
|
|
8519
|
-
|
|
8520
|
-
|
|
8521
|
-
|
|
8522
|
-
|
|
8523
|
-
|
|
8524
|
-
|
|
8525
|
-
|
|
8526
|
-
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
|
-
has.add("bb", (dua.indexOf("BlackBerry") >= 0 || dua.indexOf("BB10") >= 0) && parseFloat(dua.split("Version/")[1]) || undefined);
|
|
8530
|
-
has.add("trident", parseFloat(dav.split("Trident/")[1]) || undefined);
|
|
8665
|
+
// Check whether we're allowed to select the given row before proceeding.
|
|
8666
|
+
// If a deselect operation is being performed, this check is skipped,
|
|
8667
|
+
// to avoid errors when changing column definitions, and since disabled
|
|
8668
|
+
// rows shouldn't ever be selected anyway.
|
|
8669
|
+
if (value === false || this.allowSelect(row)) {
|
|
8670
|
+
selection = this.selection;
|
|
8671
|
+
previousValue = !!selection[row.id];
|
|
8672
|
+
if (value === null) {
|
|
8673
|
+
// indicates a toggle
|
|
8674
|
+
value = !previousValue;
|
|
8675
|
+
}
|
|
8676
|
+
element = row.element;
|
|
8677
|
+
if (!value && !this.allSelected) {
|
|
8678
|
+
delete this.selection[row.id];
|
|
8679
|
+
}
|
|
8680
|
+
else {
|
|
8681
|
+
selection[row.id] = value;
|
|
8682
|
+
}
|
|
8683
|
+
if (element) {
|
|
8684
|
+
// add or remove classes as appropriate
|
|
8685
|
+
if (value) {
|
|
8686
|
+
domClass.add(element, 'dgrid-selected' +
|
|
8687
|
+
(this.addUiClasses ? ' ui-state-active' : ''));
|
|
8688
|
+
}
|
|
8689
|
+
else {
|
|
8690
|
+
domClass.remove(element, 'dgrid-selected ui-state-active');
|
|
8691
|
+
}
|
|
8692
|
+
}
|
|
8693
|
+
if (value !== previousValue && element) {
|
|
8694
|
+
// add to the queue of row events
|
|
8695
|
+
this._selectionEventQueues[(value ? '' : 'de') + 'select'].push(row);
|
|
8696
|
+
}
|
|
8531
8697
|
|
|
8532
|
-
|
|
8698
|
+
if (toRow) {
|
|
8699
|
+
if (!toRow.element) {
|
|
8700
|
+
toRow = this.row(toRow);
|
|
8701
|
+
}
|
|
8533
8702
|
|
|
8534
|
-
|
|
8535
|
-
|
|
8536
|
-
|
|
8537
|
-
|
|
8538
|
-
|
|
8539
|
-
|
|
8703
|
+
if (!toRow) {
|
|
8704
|
+
this._lastSelected = element;
|
|
8705
|
+
console.warn('The selection range has been reset because the ' +
|
|
8706
|
+
'beginning of the selection is no longer in the DOM. ' +
|
|
8707
|
+
'If you are using OnDemandList, you may wish to increase ' +
|
|
8708
|
+
'farOffRemoval to avoid this, but note that keeping more nodes ' +
|
|
8709
|
+
'in the DOM may impact performance.');
|
|
8710
|
+
return;
|
|
8711
|
+
}
|
|
8712
|
+
|
|
8713
|
+
toElement = toRow.element;
|
|
8714
|
+
if (toElement) {
|
|
8715
|
+
direction = this._determineSelectionDirection(element, toElement);
|
|
8716
|
+
if (!direction) {
|
|
8717
|
+
// The original element was actually replaced
|
|
8718
|
+
toElement = document.getElementById(toElement.id);
|
|
8719
|
+
direction = this._determineSelectionDirection(element, toElement);
|
|
8720
|
+
}
|
|
8721
|
+
while (row.element !== toElement && (row = this[direction](row))) {
|
|
8722
|
+
this._select(row, null, value);
|
|
8723
|
+
}
|
|
8724
|
+
}
|
|
8725
|
+
}
|
|
8540
8726
|
}
|
|
8727
|
+
},
|
|
8541
8728
|
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8729
|
+
// Implement _determineSelectionDirection differently based on whether the
|
|
8730
|
+
// browser supports element.compareDocumentPosition; use sourceIndex for IE<9
|
|
8731
|
+
_determineSelectionDirection: has('dom-comparedocumentposition') ? function (from, to) {
|
|
8732
|
+
var result = to.compareDocumentPosition(from);
|
|
8733
|
+
if (result & 1) {
|
|
8734
|
+
return false; // Out of document
|
|
8546
8735
|
}
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8736
|
+
return result === 2 ? 'down' : 'up';
|
|
8737
|
+
} : function (from, to) {
|
|
8738
|
+
if (to.sourceIndex < 1) {
|
|
8739
|
+
return false; // Out of document
|
|
8550
8740
|
}
|
|
8741
|
+
return to.sourceIndex > from.sourceIndex ? 'down' : 'up';
|
|
8742
|
+
},
|
|
8551
8743
|
|
|
8552
|
-
|
|
8553
|
-
|
|
8554
|
-
|
|
8744
|
+
select: function (row, toRow, value) {
|
|
8745
|
+
// summary:
|
|
8746
|
+
// Selects or deselects the given row or range of rows.
|
|
8747
|
+
// row: Mixed
|
|
8748
|
+
// Row object (or something that can resolve to one) to (de)select
|
|
8749
|
+
// toRow: Mixed
|
|
8750
|
+
// If specified, the inclusive range between row and toRow will
|
|
8751
|
+
// be (de)selected
|
|
8752
|
+
// value: Boolean|Null
|
|
8753
|
+
// Whether to select (true/default), deselect (false), or toggle
|
|
8754
|
+
// (null) the row
|
|
8555
8755
|
|
|
8556
|
-
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8756
|
+
this._select(row, toRow, value);
|
|
8757
|
+
this._fireSelectionEvents();
|
|
8758
|
+
},
|
|
8759
|
+
deselect: function (row, toRow) {
|
|
8760
|
+
// summary:
|
|
8761
|
+
// Deselects the given row or range of rows.
|
|
8762
|
+
// row: Mixed
|
|
8763
|
+
// Row object (or something that can resolve to one) to deselect
|
|
8764
|
+
// toRow: Mixed
|
|
8765
|
+
// If specified, the inclusive range between row and toRow will
|
|
8766
|
+
// be deselected
|
|
8767
|
+
|
|
8768
|
+
this.select(row, toRow, false);
|
|
8769
|
+
},
|
|
8770
|
+
|
|
8771
|
+
clearSelection: function (exceptId, dontResetLastSelected) {
|
|
8772
|
+
// summary:
|
|
8773
|
+
// Deselects any currently-selected items.
|
|
8774
|
+
// exceptId: Mixed?
|
|
8775
|
+
// If specified, the given id will not be deselected.
|
|
8776
|
+
|
|
8777
|
+
this.allSelected = false;
|
|
8778
|
+
for (var id in this.selection) {
|
|
8779
|
+
if (exceptId !== id) {
|
|
8780
|
+
this._select(id, null, false);
|
|
8781
|
+
}
|
|
8782
|
+
}
|
|
8783
|
+
if (!dontResetLastSelected) {
|
|
8784
|
+
this._lastSelected = null;
|
|
8785
|
+
}
|
|
8786
|
+
this._fireSelectionEvents();
|
|
8787
|
+
},
|
|
8788
|
+
selectAll: function () {
|
|
8789
|
+
this.allSelected = true;
|
|
8790
|
+
this.selection = {}; // we do this to clear out pages from previous sorts
|
|
8791
|
+
for (var i in this._rowIdToObject) {
|
|
8792
|
+
var row = this.row(this._rowIdToObject[i]);
|
|
8793
|
+
this._select(row.id, null, true);
|
|
8794
|
+
}
|
|
8795
|
+
this._fireSelectionEvents();
|
|
8796
|
+
},
|
|
8797
|
+
|
|
8798
|
+
getSelectedCount: function () {
|
|
8799
|
+
var count = 0;
|
|
8800
|
+
|
|
8801
|
+
for (var id in this.selection) {
|
|
8802
|
+
if (id) {
|
|
8803
|
+
count += 1;
|
|
8565
8804
|
}
|
|
8805
|
+
}
|
|
8566
8806
|
|
|
8567
|
-
|
|
8807
|
+
return count;
|
|
8808
|
+
},
|
|
8809
|
+
|
|
8810
|
+
isSelected: function (object) {
|
|
8811
|
+
// summary:
|
|
8812
|
+
// Returns true if the indicated row is selected.
|
|
8813
|
+
|
|
8814
|
+
if (typeof object === 'undefined' || object === null) {
|
|
8815
|
+
return false;
|
|
8816
|
+
}
|
|
8817
|
+
if (!object.element) {
|
|
8818
|
+
object = this.row(object);
|
|
8568
8819
|
}
|
|
8569
8820
|
|
|
8570
|
-
//
|
|
8571
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8821
|
+
// First check whether the given row is indicated in the selection hash;
|
|
8822
|
+
// failing that, check if allSelected is true (testing against the
|
|
8823
|
+
// allowSelect method if possible)
|
|
8824
|
+
return (object.id in this.selection) ? !!this.selection[object.id] :
|
|
8825
|
+
this.allSelected && (!object.data || this.allowSelect(object));
|
|
8826
|
+
},
|
|
8574
8827
|
|
|
8575
|
-
|
|
8828
|
+
refresh: function () {
|
|
8829
|
+
if (this.deselectOnRefresh) {
|
|
8830
|
+
this.clearSelection();
|
|
8831
|
+
}
|
|
8832
|
+
this._lastSelected = null;
|
|
8833
|
+
return this.inherited(arguments);
|
|
8834
|
+
},
|
|
8835
|
+
|
|
8836
|
+
renderArray: function () {
|
|
8837
|
+
var rows = this.inherited(arguments),
|
|
8838
|
+
selection = this.selection,
|
|
8839
|
+
i,
|
|
8840
|
+
row,
|
|
8841
|
+
selected;
|
|
8842
|
+
|
|
8843
|
+
for (i = 0; i < rows.length; i++) {
|
|
8844
|
+
row = this.row(rows[i]);
|
|
8845
|
+
selected = row.id in selection ? selection[row.id] : this.allSelected;
|
|
8846
|
+
if (selected) {
|
|
8847
|
+
this.select(row, null, selected);
|
|
8848
|
+
}
|
|
8849
|
+
}
|
|
8850
|
+
this._fireSelectionEvents();
|
|
8851
|
+
return rows;
|
|
8852
|
+
}
|
|
8853
|
+
});
|
|
8854
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
8855
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8856
|
+
|
|
8857
|
+
|
|
8858
|
+
/***/ }),
|
|
8859
|
+
|
|
8860
|
+
/***/ 2573:
|
|
8861
|
+
/*!***************************************************!*\
|
|
8862
|
+
!*** ../../node_modules/dojo/request/handlers.js ***!
|
|
8863
|
+
\***************************************************/
|
|
8864
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
8865
|
+
|
|
8866
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
8867
|
+
__webpack_require__(/*! ../json */ 8212),
|
|
8868
|
+
__webpack_require__(/*! ../_base/kernel */ 1054),
|
|
8869
|
+
__webpack_require__(/*! ../_base/array */ 6974),
|
|
8870
|
+
__webpack_require__(/*! ../has */ 6356),
|
|
8871
|
+
__webpack_require__(/*! ../../node_modules/dojo-webpack-plugin/lib/NoModule.js */ 8819) // only included for has() qsa tests
|
|
8872
|
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(JSON, kernel, array, has){
|
|
8873
|
+
has.add('activex', typeof ActiveXObject !== 'undefined');
|
|
8874
|
+
has.add('dom-parser', function(global){
|
|
8875
|
+
return 'DOMParser' in global;
|
|
8876
|
+
});
|
|
8877
|
+
|
|
8878
|
+
var handleXML;
|
|
8879
|
+
if(has('activex')){
|
|
8880
|
+
// GUIDs obtained from http://msdn.microsoft.com/en-us/library/ms757837(VS.85).aspx
|
|
8881
|
+
var dp = [
|
|
8882
|
+
'Msxml2.DOMDocument.6.0',
|
|
8883
|
+
'Msxml2.DOMDocument.4.0',
|
|
8884
|
+
'MSXML2.DOMDocument.3.0',
|
|
8885
|
+
'MSXML.DOMDocument' // 2.0
|
|
8886
|
+
];
|
|
8887
|
+
var lastParser;
|
|
8888
|
+
|
|
8889
|
+
handleXML = function(response){
|
|
8890
|
+
var result = response.data;
|
|
8891
|
+
var text = response.text;
|
|
8892
|
+
|
|
8893
|
+
if(result && has('dom-qsa2.1') && !result.querySelectorAll && has('dom-parser')){
|
|
8894
|
+
// http://bugs.dojotoolkit.org/ticket/15631
|
|
8895
|
+
// IE9 supports a CSS3 querySelectorAll implementation, but the DOM implementation
|
|
8896
|
+
// returned by IE9 xhr.responseXML does not. Manually create the XML DOM to gain
|
|
8897
|
+
// the fuller-featured implementation and avoid bugs caused by the inconsistency
|
|
8898
|
+
result = new DOMParser().parseFromString(text, 'application/xml');
|
|
8899
|
+
}
|
|
8900
|
+
|
|
8901
|
+
function createDocument(p) {
|
|
8902
|
+
try{
|
|
8903
|
+
var dom = new ActiveXObject(p);
|
|
8904
|
+
dom.async = false;
|
|
8905
|
+
dom.loadXML(text);
|
|
8906
|
+
result = dom;
|
|
8907
|
+
lastParser = p;
|
|
8908
|
+
}catch(e){ return false; }
|
|
8909
|
+
return true;
|
|
8910
|
+
}
|
|
8911
|
+
|
|
8912
|
+
if(!result || !result.documentElement){
|
|
8913
|
+
// The creation of an ActiveX object is expensive, so we cache the
|
|
8914
|
+
// parser type to avoid trying all parser types each time we handle a
|
|
8915
|
+
// document. There is some concern that some parser types might fail
|
|
8916
|
+
// depending on the document being parsed. If parsing using the cached
|
|
8917
|
+
// parser type fails, we do the more expensive operation of finding one
|
|
8918
|
+
// that works for the given document.
|
|
8919
|
+
// https://bugs.dojotoolkit.org/ticket/15246
|
|
8920
|
+
if(!lastParser || !createDocument(lastParser)) {
|
|
8921
|
+
array.some(dp, createDocument);
|
|
8922
|
+
}
|
|
8923
|
+
}
|
|
8924
|
+
|
|
8925
|
+
return result;
|
|
8926
|
+
};
|
|
8927
|
+
}
|
|
8928
|
+
|
|
8929
|
+
var handleNativeResponse = function(response) {
|
|
8930
|
+
if(!has('native-xhr2-blob') && response.options.handleAs === 'blob' && typeof Blob !== 'undefined'){
|
|
8931
|
+
return new Blob([ response.xhr.response ], { type: response.xhr.getResponseHeader('Content-Type') });
|
|
8932
|
+
}
|
|
8933
|
+
|
|
8934
|
+
return response.xhr.response;
|
|
8935
|
+
};
|
|
8936
|
+
|
|
8937
|
+
var handlers = {
|
|
8938
|
+
'javascript': function(response){
|
|
8939
|
+
return kernel.eval(response.text || '');
|
|
8940
|
+
},
|
|
8941
|
+
'json': function(response){
|
|
8942
|
+
return JSON.parse(response.text || null);
|
|
8943
|
+
},
|
|
8944
|
+
'xml': handleXML,
|
|
8945
|
+
'blob': handleNativeResponse,
|
|
8946
|
+
'arraybuffer': handleNativeResponse,
|
|
8947
|
+
'document': handleNativeResponse
|
|
8948
|
+
};
|
|
8949
|
+
|
|
8950
|
+
function handle(response){
|
|
8951
|
+
var handler = handlers[response.options.handleAs];
|
|
8952
|
+
|
|
8953
|
+
response.data = handler ? handler(response) : (response.data || response.text);
|
|
8954
|
+
|
|
8955
|
+
return response;
|
|
8956
|
+
}
|
|
8957
|
+
|
|
8958
|
+
handle.register = function(name, handler){
|
|
8959
|
+
handlers[name] = handler;
|
|
8960
|
+
};
|
|
8961
|
+
|
|
8962
|
+
return handle;
|
|
8963
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
8964
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8965
|
+
|
|
8966
|
+
|
|
8967
|
+
/***/ }),
|
|
8968
|
+
|
|
8969
|
+
/***/ 2616:
|
|
8970
|
+
/*!****************************************!*\
|
|
8971
|
+
!*** ../../node_modules/dojo/sniff.js ***!
|
|
8972
|
+
\****************************************/
|
|
8973
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
8974
|
+
|
|
8975
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ./has */ 6356)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(has){
|
|
8976
|
+
// module:
|
|
8977
|
+
// dojo/sniff
|
|
8978
|
+
|
|
8979
|
+
/*=====
|
|
8980
|
+
return function(){
|
|
8981
|
+
// summary:
|
|
8982
|
+
// This module sets has() flags based on the current browser.
|
|
8983
|
+
// It returns the has() function.
|
|
8984
|
+
};
|
|
8985
|
+
=====*/
|
|
8986
|
+
|
|
8987
|
+
if(has("host-browser")){
|
|
8988
|
+
var n = navigator,
|
|
8989
|
+
dua = n.userAgent,
|
|
8990
|
+
dav = n.appVersion,
|
|
8991
|
+
tv = parseFloat(dav);
|
|
8992
|
+
has.add("air", dua.indexOf("AdobeAIR") >= 0);
|
|
8993
|
+
has.add("wp", parseFloat(dua.split("Windows Phone")[1]) || undefined);
|
|
8994
|
+
has.add("msapp", parseFloat(dua.split("MSAppHost/")[1]) || undefined);
|
|
8995
|
+
has.add("khtml", dav.indexOf("Konqueror") >= 0 ? tv : undefined);
|
|
8996
|
+
has.add("edge", parseFloat(dua.split("Edge/")[1]) || undefined);
|
|
8997
|
+
has.add("opr", parseFloat(dua.split("OPR/")[1]) || undefined);
|
|
8998
|
+
// NOTE: https://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/
|
|
8999
|
+
has.add("webkit", !has("wp") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18540
|
|
9000
|
+
&& !has("edge") && parseFloat(dua.split("WebKit/")[1]) || undefined);
|
|
9001
|
+
has.add("chrome", !has("edge") && !has("opr")
|
|
9002
|
+
&& parseFloat(dua.split("Chrome/")[1]) || undefined);
|
|
9003
|
+
has.add("android", !has("wp") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18528
|
|
9004
|
+
&& parseFloat(dua.split("Android ")[1]) || undefined);
|
|
9005
|
+
has.add("safari", dav.indexOf("Safari") >= 0
|
|
9006
|
+
&& !has("wp") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18540
|
|
9007
|
+
&& !has("chrome") && !has("android") && !has("edge") && !has("opr") ?
|
|
9008
|
+
parseFloat(dav.split("Version/")[1]) : undefined);
|
|
9009
|
+
has.add("mac", dav.indexOf("Macintosh") >= 0);
|
|
9010
|
+
has.add("quirks", document.compatMode == "BackCompat");
|
|
9011
|
+
if(!has("wp") // NOTE: necessary since Windows Phone 8.1 Update 1, see #18528
|
|
9012
|
+
&& dua.match(/(iPhone|iPod|iPad)/)){
|
|
9013
|
+
var p = RegExp.$1.replace(/P/, "p");
|
|
9014
|
+
var v = dua.match(/OS ([\d_]+)/) ? RegExp.$1 : "1";
|
|
9015
|
+
var os = parseFloat(v.replace(/_/, ".").replace(/_/g, ""));
|
|
9016
|
+
has.add(p, os); // "iphone", "ipad" or "ipod"
|
|
9017
|
+
has.add("ios", os);
|
|
9018
|
+
}
|
|
9019
|
+
has.add("bb", (dua.indexOf("BlackBerry") >= 0 || dua.indexOf("BB10") >= 0) && parseFloat(dua.split("Version/")[1]) || undefined);
|
|
9020
|
+
has.add("trident", parseFloat(dav.split("Trident/")[1]) || undefined);
|
|
9021
|
+
|
|
9022
|
+
has.add("svg", typeof SVGAngle !== "undefined");
|
|
9023
|
+
|
|
9024
|
+
if(!has("webkit")){
|
|
9025
|
+
// Opera
|
|
9026
|
+
if(dua.indexOf("Opera") >= 0){
|
|
9027
|
+
// see http://dev.opera.com/articles/view/opera-ua-string-changes and http://www.useragentstring.com/pages/Opera/
|
|
9028
|
+
// 9.8 has both styles; <9.8, 9.9 only old style
|
|
9029
|
+
has.add("opera", tv >= 9.8 ? parseFloat(dua.split("Version/")[1]) || tv : tv);
|
|
9030
|
+
}
|
|
9031
|
+
|
|
9032
|
+
// Mozilla and firefox
|
|
9033
|
+
if(dua.indexOf("Gecko") >= 0 && !has("wp") // NOTE: necessary since Windows Phone 8.1 Update 1
|
|
9034
|
+
&& !has("khtml") && !has("trident") && !has("edge")){
|
|
9035
|
+
has.add("mozilla", tv);
|
|
9036
|
+
}
|
|
9037
|
+
if(has("mozilla")){
|
|
9038
|
+
//We really need to get away from this. Consider a sane isGecko approach for the future.
|
|
9039
|
+
has.add("ff", parseFloat(dua.split("Firefox/")[1] || dua.split("Minefield/")[1]) || undefined);
|
|
9040
|
+
}
|
|
9041
|
+
|
|
9042
|
+
// IE
|
|
9043
|
+
if(document.all && !has("opera")){
|
|
9044
|
+
var isIE = parseFloat(dav.split("MSIE ")[1]) || undefined;
|
|
9045
|
+
|
|
9046
|
+
//In cases where the page has an HTTP header or META tag with
|
|
9047
|
+
//X-UA-Compatible, then it is in emulation mode.
|
|
9048
|
+
//Make sure isIE reflects the desired version.
|
|
9049
|
+
//document.documentMode of 5 means quirks mode.
|
|
9050
|
+
//Only switch the value if documentMode's major version
|
|
9051
|
+
//is different from isIE's major version.
|
|
9052
|
+
var mode = document.documentMode;
|
|
9053
|
+
if(mode && mode != 5 && Math.floor(isIE) != mode){
|
|
9054
|
+
isIE = mode;
|
|
9055
|
+
}
|
|
9056
|
+
|
|
9057
|
+
has.add("ie", isIE);
|
|
9058
|
+
}
|
|
9059
|
+
|
|
9060
|
+
// Wii
|
|
9061
|
+
has.add("wii", typeof opera != "undefined" && opera.wiiremote);
|
|
9062
|
+
}
|
|
9063
|
+
}
|
|
9064
|
+
|
|
9065
|
+
return has;
|
|
8576
9066
|
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
8577
9067
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
8578
9068
|
|
|
@@ -9358,7 +9848,7 @@
|
|
|
9358
9848
|
exports.BUILD_VERSION = exports.PKG_VERSION = exports.PKG_NAME = void 0;
|
|
9359
9849
|
exports.PKG_NAME = "@hpcc-js/dgrid-shim";
|
|
9360
9850
|
exports.PKG_VERSION = "2.26.0";
|
|
9361
|
-
exports.BUILD_VERSION = "2.108.
|
|
9851
|
+
exports.BUILD_VERSION = "2.108.4";
|
|
9362
9852
|
|
|
9363
9853
|
|
|
9364
9854
|
/***/ }),
|
|
@@ -26539,1000 +27029,510 @@
|
|
|
26539
27029
|
promise = dfd.promise;
|
|
26540
27030
|
}
|
|
26541
27031
|
|
|
26542
|
-
promise.otherwise(function (err) {
|
|
26543
|
-
emitError.call(self, err);
|
|
26544
|
-
});
|
|
26545
|
-
return promise;
|
|
26546
|
-
},
|
|
26547
|
-
|
|
26548
|
-
removeRow: function (rowElement, preserveDom, options) {
|
|
26549
|
-
var row = {element: rowElement};
|
|
26550
|
-
// Check to see if we are now empty...
|
|
26551
|
-
if (!preserveDom && (this.up(row).element === rowElement) && (this.down(row).element === rowElement)) {
|
|
26552
|
-
// ...we are empty, so show the no data message.
|
|
26553
|
-
this._insertNoDataNode();
|
|
26554
|
-
}
|
|
26555
|
-
|
|
26556
|
-
var rows = (options && options.rows) || this._rows;
|
|
26557
|
-
if (rows) {
|
|
26558
|
-
delete rows[rowElement.rowIndex];
|
|
26559
|
-
}
|
|
26560
|
-
|
|
26561
|
-
return this.inherited(arguments);
|
|
26562
|
-
},
|
|
26563
|
-
|
|
26564
|
-
renderQueryResults: function (results, beforeNode, options) {
|
|
26565
|
-
// summary:
|
|
26566
|
-
// Renders objects from QueryResults as rows, before the given node.
|
|
26567
|
-
|
|
26568
|
-
options = lang.mixin({ rows: this._rows }, options);
|
|
26569
|
-
var self = this;
|
|
26570
|
-
|
|
26571
|
-
if (!has('dojo-built')) {
|
|
26572
|
-
// Check for null/undefined totalResults to help diagnose faulty services/stores
|
|
26573
|
-
results.totalLength.then(function (total) {
|
|
26574
|
-
if (total == null) {
|
|
26575
|
-
console.warn('Store reported null or undefined totalLength. ' +
|
|
26576
|
-
'Make sure your store (and service, if applicable) are reporting total correctly!');
|
|
26577
|
-
}
|
|
26578
|
-
});
|
|
26579
|
-
}
|
|
26580
|
-
|
|
26581
|
-
return results.then(function (resolvedResults) {
|
|
26582
|
-
var resolvedRows = self.renderArray(resolvedResults, beforeNode, options);
|
|
26583
|
-
delete self._lastCollection; // used only for non-store List/Grid
|
|
26584
|
-
return resolvedRows;
|
|
26585
|
-
});
|
|
26586
|
-
},
|
|
26587
|
-
|
|
26588
|
-
_observeCollection: function (collection, container, options) {
|
|
26589
|
-
var self = this,
|
|
26590
|
-
rows = options.rows,
|
|
26591
|
-
row;
|
|
26592
|
-
|
|
26593
|
-
var handles = [
|
|
26594
|
-
collection.on('delete, update', function (event) {
|
|
26595
|
-
var from = event.previousIndex;
|
|
26596
|
-
var to = event.index;
|
|
26597
|
-
|
|
26598
|
-
if (from !== undefined && rows[from]) {
|
|
26599
|
-
if ('max' in rows && (to === undefined || to < rows.min || to > rows.max)) {
|
|
26600
|
-
rows.max--;
|
|
26601
|
-
}
|
|
26602
|
-
|
|
26603
|
-
// max should never be less than zero; if it is the logic in the 'add, update' handler
|
|
26604
|
-
// below will prevent insertion of rows (https://github.com/SitePen/dgrid/issues/1305)
|
|
26605
|
-
if (rows.max < 0) {
|
|
26606
|
-
rows.max = 0;
|
|
26607
|
-
}
|
|
26608
|
-
|
|
26609
|
-
row = rows[from];
|
|
26610
|
-
|
|
26611
|
-
// check to make the sure the node is still there before we try to remove it
|
|
26612
|
-
// (in case it was moved to a different place in the DOM)
|
|
26613
|
-
if (row.parentNode === container) {
|
|
26614
|
-
self.removeRow(row, false, options);
|
|
26615
|
-
}
|
|
26616
|
-
|
|
26617
|
-
// remove the old slot
|
|
26618
|
-
rows.splice(from, 1);
|
|
26619
|
-
|
|
26620
|
-
if (event.type === 'delete' ||
|
|
26621
|
-
(event.type === 'update' && (from < to || to === undefined))) {
|
|
26622
|
-
// adjust the rowIndex so adjustRowIndices has the right starting point
|
|
26623
|
-
rows[from] && rows[from].rowIndex--;
|
|
26624
|
-
}
|
|
26625
|
-
}
|
|
26626
|
-
if (event.type === 'delete') {
|
|
26627
|
-
// Reset row in case this is later followed by an add;
|
|
26628
|
-
// only update events should retain the row variable below
|
|
26629
|
-
row = null;
|
|
26630
|
-
}
|
|
26631
|
-
}),
|
|
26632
|
-
|
|
26633
|
-
collection.on('add, update', function (event) {
|
|
26634
|
-
var from = event.previousIndex;
|
|
26635
|
-
var to = event.index;
|
|
26636
|
-
var nextNode;
|
|
26637
|
-
|
|
26638
|
-
function advanceNext() {
|
|
26639
|
-
nextNode = (nextNode.connected || nextNode).nextSibling;
|
|
26640
|
-
}
|
|
26641
|
-
|
|
26642
|
-
// When possible, restrict observations to the actually rendered range
|
|
26643
|
-
if (to !== undefined && (!('max' in rows) || (to >= rows.min && to <= rows.max))) {
|
|
26644
|
-
if ('max' in rows && (from === undefined || from < rows.min || from > rows.max)) {
|
|
26645
|
-
rows.max++;
|
|
26646
|
-
}
|
|
26647
|
-
// Add to new slot (either before an existing row, or at the end)
|
|
26648
|
-
// First determine the DOM node that this should be placed before.
|
|
26649
|
-
if (rows.length) {
|
|
26650
|
-
nextNode = rows[to];
|
|
26651
|
-
if (!nextNode) {
|
|
26652
|
-
nextNode = rows[to - 1];
|
|
26653
|
-
if (nextNode) {
|
|
26654
|
-
// Make sure to skip connected nodes, so we don't accidentally
|
|
26655
|
-
// insert a row in between a parent and its children.
|
|
26656
|
-
advanceNext();
|
|
26657
|
-
}
|
|
26658
|
-
}
|
|
26659
|
-
}
|
|
26660
|
-
else {
|
|
26661
|
-
// There are no rows. Allow for subclasses to insert new rows somewhere other than
|
|
26662
|
-
// at the end of the parent node.
|
|
26663
|
-
nextNode = self._getFirstRowSibling && self._getFirstRowSibling(container);
|
|
26664
|
-
}
|
|
26665
|
-
// Make sure we don't trip over a stale reference to a
|
|
26666
|
-
// node that was removed, or try to place a node before
|
|
26667
|
-
// itself (due to overlapped queries)
|
|
26668
|
-
if (row && nextNode && row.id === nextNode.id) {
|
|
26669
|
-
advanceNext();
|
|
26670
|
-
}
|
|
26671
|
-
if (nextNode && !nextNode.parentNode) {
|
|
26672
|
-
nextNode = document.getElementById(nextNode.id);
|
|
26673
|
-
}
|
|
26674
|
-
rows.splice(to, 0, undefined);
|
|
26675
|
-
row = self.insertRow(event.target, container, nextNode, to, options);
|
|
26676
|
-
self.highlightRow(row);
|
|
26677
|
-
}
|
|
26678
|
-
// Reset row so it doesn't get reused on the next event
|
|
26679
|
-
row = null;
|
|
26680
|
-
}),
|
|
26681
|
-
|
|
26682
|
-
collection.on('add, delete, update', function (event) {
|
|
26683
|
-
var from = (typeof event.previousIndex !== 'undefined') ? event.previousIndex : Infinity,
|
|
26684
|
-
to = (typeof event.index !== 'undefined') ? event.index : Infinity,
|
|
26685
|
-
adjustAtIndex = Math.min(from, to);
|
|
26686
|
-
from !== to && rows[adjustAtIndex] && self.adjustRowIndices(rows[adjustAtIndex]);
|
|
26687
|
-
|
|
26688
|
-
// the removal of rows could cause us to need to page in more items
|
|
26689
|
-
if (from !== Infinity && self._processScroll && (rows[from] || rows[from - 1])) {
|
|
26690
|
-
self._processScroll();
|
|
26691
|
-
}
|
|
26692
|
-
|
|
26693
|
-
// Fire _onNotification, even for out-of-viewport notifications,
|
|
26694
|
-
// since some things may still need to update (e.g. Pagination's status/navigation)
|
|
26695
|
-
self._onNotification(rows, event, collection);
|
|
26696
|
-
|
|
26697
|
-
// Update _total after _onNotification so that it can potentially
|
|
26698
|
-
// decide whether to perform actions based on whether the total changed
|
|
26699
|
-
if (collection === self._renderedCollection && 'totalLength' in event) {
|
|
26700
|
-
self._total = event.totalLength;
|
|
26701
|
-
}
|
|
26702
|
-
})
|
|
26703
|
-
];
|
|
26704
|
-
|
|
26705
|
-
return {
|
|
26706
|
-
remove: function () {
|
|
26707
|
-
while (handles.length > 0) {
|
|
26708
|
-
handles.pop().remove();
|
|
26709
|
-
}
|
|
26710
|
-
}
|
|
26711
|
-
};
|
|
26712
|
-
},
|
|
26713
|
-
|
|
26714
|
-
_onNotification: function () {
|
|
26715
|
-
// summary:
|
|
26716
|
-
// Protected method called whenever a store notification is observed.
|
|
26717
|
-
// Intended to be extended as necessary by mixins/extensions.
|
|
26718
|
-
// rows: Array
|
|
26719
|
-
// A sparse array of row nodes corresponding to data objects in the collection.
|
|
26720
|
-
// event: Object
|
|
26721
|
-
// The notification event
|
|
26722
|
-
// collection: Object
|
|
26723
|
-
// The collection that the notification is relevant to.
|
|
26724
|
-
// Useful for distinguishing child-level from top-level notifications.
|
|
26725
|
-
}
|
|
26726
|
-
});
|
|
26727
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
26728
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
26729
|
-
|
|
26730
|
-
|
|
26731
|
-
/***/ }),
|
|
26732
|
-
|
|
26733
|
-
/***/ 8471:
|
|
26734
|
-
/*!****************************************!*\
|
|
26735
|
-
!*** ../../node_modules/dojo/mouse.js ***!
|
|
26736
|
-
\****************************************/
|
|
26737
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
26738
|
-
|
|
26739
|
-
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ./_base/kernel */ 1054), __webpack_require__(/*! ./on */ 2075), __webpack_require__(/*! ./has */ 6356), __webpack_require__(/*! ./dom */ 2284), __webpack_require__(/*! ./_base/window */ 5075)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(dojo, on, has, dom, win){
|
|
26740
|
-
|
|
26741
|
-
// module:
|
|
26742
|
-
// dojo/mouse
|
|
26743
|
-
|
|
26744
|
-
has.add("dom-quirks", win.doc && win.doc.compatMode == "BackCompat");
|
|
26745
|
-
has.add("events-mouseenter", win.doc && "onmouseenter" in win.doc.createElement("div"));
|
|
26746
|
-
has.add("events-mousewheel", win.doc && 'onmousewheel' in win.doc);
|
|
26747
|
-
|
|
26748
|
-
var mouseButtons;
|
|
26749
|
-
if((has("dom-quirks") && has("ie")) || !has("dom-addeventlistener")){
|
|
26750
|
-
mouseButtons = {
|
|
26751
|
-
LEFT: 1,
|
|
26752
|
-
MIDDLE: 4,
|
|
26753
|
-
RIGHT: 2,
|
|
26754
|
-
// helper functions
|
|
26755
|
-
isButton: function(e, button){ return e.button & button; },
|
|
26756
|
-
isLeft: function(e){ return e.button & 1; },
|
|
26757
|
-
isMiddle: function(e){ return e.button & 4; },
|
|
26758
|
-
isRight: function(e){ return e.button & 2; }
|
|
26759
|
-
};
|
|
26760
|
-
}else {
|
|
26761
|
-
mouseButtons = {
|
|
26762
|
-
LEFT: 0,
|
|
26763
|
-
MIDDLE: 1,
|
|
26764
|
-
RIGHT: 2,
|
|
26765
|
-
// helper functions
|
|
26766
|
-
isButton: function(e, button){ return e.button == button; },
|
|
26767
|
-
isLeft: function(e){ return e.button == 0; },
|
|
26768
|
-
isMiddle: function(e){ return e.button == 1; },
|
|
26769
|
-
isRight: function(e){ return e.button == 2; }
|
|
26770
|
-
};
|
|
26771
|
-
}
|
|
26772
|
-
dojo.mouseButtons = mouseButtons;
|
|
26773
|
-
|
|
26774
|
-
/*=====
|
|
26775
|
-
dojo.mouseButtons = {
|
|
26776
|
-
// LEFT: Number
|
|
26777
|
-
// Numeric value of the left mouse button for the platform.
|
|
26778
|
-
LEFT: 0,
|
|
26779
|
-
// MIDDLE: Number
|
|
26780
|
-
// Numeric value of the middle mouse button for the platform.
|
|
26781
|
-
MIDDLE: 1,
|
|
26782
|
-
// RIGHT: Number
|
|
26783
|
-
// Numeric value of the right mouse button for the platform.
|
|
26784
|
-
RIGHT: 2,
|
|
26785
|
-
|
|
26786
|
-
isButton: function(e, button){
|
|
26787
|
-
// summary:
|
|
26788
|
-
// Checks an event object for a pressed button
|
|
26789
|
-
// e: Event
|
|
26790
|
-
// Event object to examine
|
|
26791
|
-
// button: Number
|
|
26792
|
-
// The button value (example: dojo.mouseButton.LEFT)
|
|
26793
|
-
return e.button == button; // Boolean
|
|
26794
|
-
},
|
|
26795
|
-
isLeft: function(e){
|
|
26796
|
-
// summary:
|
|
26797
|
-
// Checks an event object for the pressed left button
|
|
26798
|
-
// e: Event
|
|
26799
|
-
// Event object to examine
|
|
26800
|
-
return e.button == 0; // Boolean
|
|
26801
|
-
},
|
|
26802
|
-
isMiddle: function(e){
|
|
26803
|
-
// summary:
|
|
26804
|
-
// Checks an event object for the pressed middle button
|
|
26805
|
-
// e: Event
|
|
26806
|
-
// Event object to examine
|
|
26807
|
-
return e.button == 1; // Boolean
|
|
26808
|
-
},
|
|
26809
|
-
isRight: function(e){
|
|
26810
|
-
// summary:
|
|
26811
|
-
// Checks an event object for the pressed right button
|
|
26812
|
-
// e: Event
|
|
26813
|
-
// Event object to examine
|
|
26814
|
-
return e.button == 2; // Boolean
|
|
26815
|
-
}
|
|
26816
|
-
};
|
|
26817
|
-
=====*/
|
|
26818
|
-
|
|
26819
|
-
function eventHandler(type, selectHandler){
|
|
26820
|
-
// emulation of mouseenter/leave with mouseover/out using descendant checking
|
|
26821
|
-
var handler = function(node, listener){
|
|
26822
|
-
return on(node, type, function(evt){
|
|
26823
|
-
if(selectHandler){
|
|
26824
|
-
return selectHandler(evt, listener);
|
|
26825
|
-
}
|
|
26826
|
-
if(!dom.isDescendant(evt.relatedTarget, node)){
|
|
26827
|
-
return listener.call(this, evt);
|
|
26828
|
-
}
|
|
26829
|
-
});
|
|
26830
|
-
};
|
|
26831
|
-
handler.bubble = function(select){
|
|
26832
|
-
return eventHandler(type, function(evt, listener){
|
|
26833
|
-
// using a selector, use the select function to determine if the mouse moved inside the selector and was previously outside the selector
|
|
26834
|
-
var target = select(evt.target);
|
|
26835
|
-
var relatedTarget = evt.relatedTarget;
|
|
26836
|
-
if(target && (target != (relatedTarget && relatedTarget.nodeType == 1 && select(relatedTarget)))){
|
|
26837
|
-
return listener.call(target, evt);
|
|
26838
|
-
}
|
|
26839
|
-
});
|
|
26840
|
-
};
|
|
26841
|
-
return handler;
|
|
26842
|
-
}
|
|
26843
|
-
var wheel;
|
|
26844
|
-
if(has("events-mousewheel")){
|
|
26845
|
-
wheel = 'mousewheel';
|
|
26846
|
-
}else { //firefox
|
|
26847
|
-
wheel = function(node, listener){
|
|
26848
|
-
return on(node, 'DOMMouseScroll', function(evt){
|
|
26849
|
-
evt.wheelDelta = -evt.detail;
|
|
26850
|
-
listener.call(this, evt);
|
|
26851
|
-
});
|
|
26852
|
-
};
|
|
26853
|
-
}
|
|
26854
|
-
return {
|
|
26855
|
-
// summary:
|
|
26856
|
-
// This module provide mouse event handling utility functions and exports
|
|
26857
|
-
// mouseenter and mouseleave event emulation.
|
|
26858
|
-
// example:
|
|
26859
|
-
// To use these events, you register a mouseenter like this:
|
|
26860
|
-
// | define(["dojo/on", "dojo/mouse"], function(on, mouse){
|
|
26861
|
-
// | on(targetNode, mouse.enter, function(event){
|
|
26862
|
-
// | dojo.addClass(targetNode, "highlighted");
|
|
26863
|
-
// | });
|
|
26864
|
-
// | on(targetNode, mouse.leave, function(event){
|
|
26865
|
-
// | dojo.removeClass(targetNode, "highlighted");
|
|
26866
|
-
// | });
|
|
26867
|
-
|
|
26868
|
-
_eventHandler: eventHandler, // for dojo/touch
|
|
26869
|
-
|
|
26870
|
-
// enter: Synthetic Event
|
|
26871
|
-
// This is an extension event for the mouseenter that IE provides, emulating the
|
|
26872
|
-
// behavior on other browsers.
|
|
26873
|
-
enter: eventHandler("mouseover"),
|
|
26874
|
-
|
|
26875
|
-
// leave: Synthetic Event
|
|
26876
|
-
// This is an extension event for the mouseleave that IE provides, emulating the
|
|
26877
|
-
// behavior on other browsers.
|
|
26878
|
-
leave: eventHandler("mouseout"),
|
|
26879
|
-
|
|
26880
|
-
// wheel: Normalized Mouse Wheel Event
|
|
26881
|
-
// This is an extension event for the mousewheel that non-Mozilla browsers provide,
|
|
26882
|
-
// emulating the behavior on Mozilla based browsers.
|
|
26883
|
-
wheel: wheel,
|
|
26884
|
-
|
|
26885
|
-
isLeft: mouseButtons.isLeft,
|
|
26886
|
-
/*=====
|
|
26887
|
-
isLeft: function(){
|
|
26888
|
-
// summary:
|
|
26889
|
-
// Test an event object (from a mousedown event) to see if the left button was pressed.
|
|
26890
|
-
},
|
|
26891
|
-
=====*/
|
|
26892
|
-
|
|
26893
|
-
isMiddle: mouseButtons.isMiddle,
|
|
26894
|
-
/*=====
|
|
26895
|
-
isMiddle: function(){
|
|
26896
|
-
// summary:
|
|
26897
|
-
// Test an event object (from a mousedown event) to see if the middle button was pressed.
|
|
26898
|
-
},
|
|
26899
|
-
=====*/
|
|
26900
|
-
|
|
26901
|
-
isRight: mouseButtons.isRight
|
|
26902
|
-
/*=====
|
|
26903
|
-
, isRight: function(){
|
|
26904
|
-
// summary:
|
|
26905
|
-
// Test an event object (from a mousedown event) to see if the right button was pressed.
|
|
26906
|
-
}
|
|
26907
|
-
=====*/
|
|
26908
|
-
};
|
|
26909
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
26910
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
26911
|
-
|
|
26912
|
-
|
|
26913
|
-
/***/ }),
|
|
26914
|
-
|
|
26915
|
-
/***/ 8709:
|
|
26916
|
-
/*!******************************************************!*\
|
|
26917
|
-
!*** ../../node_modules/dijit/_OnDijitClickMixin.js ***!
|
|
26918
|
-
\******************************************************/
|
|
26919
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
26920
|
-
|
|
26921
|
-
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
26922
|
-
__webpack_require__(/*! dojo/on */ 2075),
|
|
26923
|
-
__webpack_require__(/*! dojo/_base/array */ 6974), // array.forEach
|
|
26924
|
-
__webpack_require__(/*! dojo/keys */ 4266), // keys.ENTER keys.SPACE
|
|
26925
|
-
__webpack_require__(/*! dojo/_base/declare */ 6345), // declare
|
|
26926
|
-
__webpack_require__(/*! dojo/has */ 6356), // has("dom-addeventlistener")
|
|
26927
|
-
__webpack_require__(/*! ./a11yclick */ 8240)
|
|
26928
|
-
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(on, array, keys, declare, has, a11yclick){
|
|
26929
|
-
|
|
26930
|
-
// module:
|
|
26931
|
-
// dijit/_OnDijitClickMixin
|
|
26932
|
-
|
|
26933
|
-
var ret = declare("dijit._OnDijitClickMixin", null, {
|
|
26934
|
-
// summary:
|
|
26935
|
-
// Deprecated. New code should access the dijit/a11yclick event directly, ex:
|
|
26936
|
-
// | this.own(on(node, a11yclick, function(){ ... }));
|
|
26937
|
-
//
|
|
26938
|
-
// Mixing in this class will make _WidgetBase.connect(node, "ondijitclick", ...) work.
|
|
26939
|
-
// It also used to be necessary to make templates with ondijitclick work, but now you can just require
|
|
26940
|
-
// dijit/a11yclick.
|
|
26941
|
-
|
|
26942
|
-
connect: function(obj, event, method){
|
|
26943
|
-
// override _WidgetBase.connect() to make this.connect(node, "ondijitclick", ...) work
|
|
26944
|
-
return this.inherited(arguments, [obj, event == "ondijitclick" ? a11yclick : event, method]);
|
|
26945
|
-
}
|
|
26946
|
-
});
|
|
26947
|
-
|
|
26948
|
-
ret.a11yclick = a11yclick; // back compat
|
|
26949
|
-
|
|
26950
|
-
return ret;
|
|
26951
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
26952
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
26953
|
-
|
|
26954
|
-
|
|
26955
|
-
/***/ }),
|
|
26956
|
-
|
|
26957
|
-
/***/ 8769:
|
|
26958
|
-
/*!******************************************!*\
|
|
26959
|
-
!*** ../../node_modules/dojo/request.js ***!
|
|
26960
|
-
\******************************************/
|
|
26961
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
26962
|
-
|
|
26963
|
-
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
26964
|
-
__webpack_require__(/*! ./request/default! */ 9648)/*=====,
|
|
26965
|
-
'./_base/declare',
|
|
26966
|
-
'./promise/Promise' =====*/
|
|
26967
|
-
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(request/*=====, declare, Promise =====*/){
|
|
26968
|
-
/*=====
|
|
26969
|
-
request = function(url, options){
|
|
26970
|
-
// summary:
|
|
26971
|
-
// Send a request using the default transport for the current platform.
|
|
26972
|
-
// url: String
|
|
26973
|
-
// The URL to request.
|
|
26974
|
-
// options: dojo/request.__Options?
|
|
26975
|
-
// Options for the request.
|
|
26976
|
-
// returns: dojo/request.__Promise
|
|
26977
|
-
};
|
|
26978
|
-
request.__Promise = declare(Promise, {
|
|
26979
|
-
// response: dojo/promise/Promise
|
|
26980
|
-
// A promise resolving to an object representing
|
|
26981
|
-
// the response from the server.
|
|
26982
|
-
});
|
|
26983
|
-
request.__BaseOptions = declare(null, {
|
|
26984
|
-
// query: String|Object?
|
|
26985
|
-
// Query parameters to append to the URL.
|
|
26986
|
-
// data: String|Object?
|
|
26987
|
-
// Data to transfer. This is ignored for GET and DELETE
|
|
26988
|
-
// requests.
|
|
26989
|
-
// preventCache: Boolean?
|
|
26990
|
-
// Whether to append a cache-busting parameter to the URL.
|
|
26991
|
-
// timeout: Integer?
|
|
26992
|
-
// Milliseconds to wait for the response. If this time
|
|
26993
|
-
// passes, the then the promise is rejected.
|
|
26994
|
-
// handleAs: String?
|
|
26995
|
-
// How to handle the response from the server. Default is
|
|
26996
|
-
// 'text'. Other values are 'json', 'javascript', and 'xml'.
|
|
26997
|
-
});
|
|
26998
|
-
request.__MethodOptions = declare(null, {
|
|
26999
|
-
// method: String?
|
|
27000
|
-
// The HTTP method to use to make the request. Must be
|
|
27001
|
-
// uppercase.
|
|
27002
|
-
});
|
|
27003
|
-
request.__Options = declare([request.__BaseOptions, request.__MethodOptions]);
|
|
27004
|
-
|
|
27005
|
-
request.get = function(url, options){
|
|
27006
|
-
// summary:
|
|
27007
|
-
// Send an HTTP GET request using the default transport for the current platform.
|
|
27008
|
-
// url: String
|
|
27009
|
-
// URL to request
|
|
27010
|
-
// options: dojo/request.__BaseOptions?
|
|
27011
|
-
// Options for the request.
|
|
27012
|
-
// returns: dojo/request.__Promise
|
|
27013
|
-
};
|
|
27014
|
-
request.post = function(url, options){
|
|
27015
|
-
// summary:
|
|
27016
|
-
// Send an HTTP POST request using the default transport for the current platform.
|
|
27017
|
-
// url: String
|
|
27018
|
-
// URL to request
|
|
27019
|
-
// options: dojo/request.__BaseOptions?
|
|
27020
|
-
// Options for the request.
|
|
27021
|
-
// returns: dojo/request.__Promise
|
|
27022
|
-
};
|
|
27023
|
-
request.put = function(url, options){
|
|
27024
|
-
// summary:
|
|
27025
|
-
// Send an HTTP POST request using the default transport for the current platform.
|
|
27026
|
-
// url: String
|
|
27027
|
-
// URL to request
|
|
27028
|
-
// options: dojo/request.__BaseOptions?
|
|
27029
|
-
// Options for the request.
|
|
27030
|
-
// returns: dojo/request.__Promise
|
|
27031
|
-
};
|
|
27032
|
-
request.del = function(url, options){
|
|
27033
|
-
// summary:
|
|
27034
|
-
// Send an HTTP DELETE request using the default transport for the current platform.
|
|
27035
|
-
// url: String
|
|
27036
|
-
// URL to request
|
|
27037
|
-
// options: dojo/request.__BaseOptions?
|
|
27038
|
-
// Options for the request.
|
|
27039
|
-
// returns: dojo/request.__Promise
|
|
27040
|
-
};
|
|
27041
|
-
=====*/
|
|
27042
|
-
return request;
|
|
27043
|
-
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
27044
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
27045
|
-
|
|
27046
|
-
|
|
27047
|
-
/***/ }),
|
|
27048
|
-
|
|
27049
|
-
/***/ 8810:
|
|
27050
|
-
/*!******************************************************************!*\
|
|
27051
|
-
!*** ../../../../../../../tmp/tmp-5913NTIcDVnVQIZ1/dojo/dojo.js ***!
|
|
27052
|
-
\******************************************************************/
|
|
27053
|
-
/***/ ((module) => {
|
|
27054
|
-
|
|
27055
|
-
module.exports = function(userConfig, defaultConfig, global, window) { this.loaderVersion = "1.17.3"; (function(
|
|
27056
|
-
userConfig,
|
|
27057
|
-
defaultConfig
|
|
27058
|
-
){
|
|
27059
|
-
// summary:
|
|
27060
|
-
// This is the "source loader" and is the entry point for Dojo during development. You may also load Dojo with
|
|
27061
|
-
// any AMD-compliant loader via the package main module dojo/main.
|
|
27062
|
-
// description:
|
|
27063
|
-
// This is the "source loader" for Dojo. It provides an AMD-compliant loader that can be configured
|
|
27064
|
-
// to operate in either synchronous or asynchronous modes. After the loader is defined, dojo is loaded
|
|
27065
|
-
// IAW the package main module dojo/main. In the event you wish to use a foreign loader, you may load dojo as a package
|
|
27066
|
-
// via the package main module dojo/main and this loader is not required; see dojo/package.json for details.
|
|
27067
|
-
//
|
|
27068
|
-
// In order to keep compatibility with the v1.x line, this loader includes additional machinery that enables
|
|
27069
|
-
// the dojo.provide, dojo.require et al API. This machinery is loaded by default, but may be dynamically removed
|
|
27070
|
-
// via the has.js API and statically removed via the build system.
|
|
27071
|
-
//
|
|
27072
|
-
// This loader includes sniffing machinery to determine the environment; the following environments are supported:
|
|
27073
|
-
//
|
|
27074
|
-
// - browser
|
|
27075
|
-
// - node.js
|
|
27076
|
-
// - rhino
|
|
27077
|
-
//
|
|
27078
|
-
// This is the so-called "source loader". As such, it includes many optional features that may be discarded by
|
|
27079
|
-
// building a customized version with the build system.
|
|
27080
|
-
|
|
27081
|
-
// Design and Implementation Notes
|
|
27082
|
-
//
|
|
27083
|
-
// This is a dojo-specific adaption of bdLoad, donated to the dojo foundation by Altoviso LLC.
|
|
27084
|
-
//
|
|
27085
|
-
// This function defines an AMD-compliant (http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition)
|
|
27086
|
-
// loader that can be configured to operate in either synchronous or asynchronous modes.
|
|
27087
|
-
//
|
|
27088
|
-
// Since this machinery implements a loader, it does not have the luxury of using a load system and/or
|
|
27089
|
-
// leveraging a utility library. This results in an unpleasantly long file; here is a road map of the contents:
|
|
27090
|
-
//
|
|
27091
|
-
// 1. Small library for use implementing the loader.
|
|
27092
|
-
// 2. Define the has.js API; this is used throughout the loader to bracket features.
|
|
27093
|
-
// 3. Define the node.js and rhino sniffs and sniff.
|
|
27094
|
-
// 4. Define the loader's data.
|
|
27095
|
-
// 5. Define the configuration machinery.
|
|
27096
|
-
// 6. Define the script element sniffing machinery and sniff for configuration data.
|
|
27097
|
-
// 7. Configure the loader IAW the provided user, default, and sniffing data.
|
|
27098
|
-
// 8. Define the global require function.
|
|
27099
|
-
// 9. Define the module resolution machinery.
|
|
27100
|
-
// 10. Define the module and plugin module definition machinery
|
|
27101
|
-
// 11. Define the script injection machinery.
|
|
27102
|
-
// 12. Define the window load detection.
|
|
27103
|
-
// 13. Define the logging API.
|
|
27104
|
-
// 14. Define the tracing API.
|
|
27105
|
-
// 16. Define the AMD define function.
|
|
27106
|
-
// 17. Define the dojo v1.x provide/require machinery--so called "legacy" modes.
|
|
27107
|
-
// 18. Publish global variables.
|
|
27108
|
-
//
|
|
27109
|
-
// Language and Acronyms and Idioms
|
|
27110
|
-
//
|
|
27111
|
-
// moduleId: a CJS module identifier, (used for public APIs)
|
|
27112
|
-
// mid: moduleId (used internally)
|
|
27113
|
-
// packageId: a package identifier (used for public APIs)
|
|
27114
|
-
// pid: packageId (used internally); the implied system or default package has pid===""
|
|
27115
|
-
// pack: package is used internally to reference a package object (since javascript has reserved words including "package")
|
|
27116
|
-
// prid: plugin resource identifier
|
|
27117
|
-
// The integer constant 1 is used in place of true and 0 in place of false.
|
|
27118
|
-
//
|
|
27119
|
-
// The "foreign-loader" has condition is defined if another loader is being used (e.g. webpack) and this code is only
|
|
27120
|
-
// needed for resolving module identifiers based on the config. In this case, only the functions require.toUrl and
|
|
27121
|
-
// require.toAbsMid are supported. The require and define functions are not supported.
|
|
27122
|
-
|
|
27123
|
-
// define global
|
|
27124
|
-
var globalObject = (function(){
|
|
27125
|
-
if (typeof global !== 'undefined' && typeof global !== 'function') {
|
|
27126
|
-
// global spec defines a reference to the global object called 'global'
|
|
27127
|
-
// https://github.com/tc39/proposal-global
|
|
27128
|
-
// `global` is also defined in NodeJS
|
|
27129
|
-
return global;
|
|
27130
|
-
}
|
|
27131
|
-
else if (typeof window !== 'undefined') {
|
|
27132
|
-
// window is defined in browsers
|
|
27133
|
-
return window;
|
|
27134
|
-
}
|
|
27135
|
-
else if (typeof self !== 'undefined') {
|
|
27136
|
-
// self is defined in WebWorkers
|
|
27137
|
-
return self;
|
|
27138
|
-
}
|
|
27139
|
-
return this;
|
|
27140
|
-
})();
|
|
27141
|
-
|
|
27142
|
-
// define a minimal library to help build the loader
|
|
27143
|
-
var noop = function(){
|
|
27144
|
-
},
|
|
27145
|
-
|
|
27146
|
-
toString = {}.toString,
|
|
27147
|
-
|
|
27148
|
-
isFunction = function(it){
|
|
27149
|
-
return toString.call(it) == "[object Function]";
|
|
27032
|
+
promise.otherwise(function (err) {
|
|
27033
|
+
emitError.call(self, err);
|
|
27034
|
+
});
|
|
27035
|
+
return promise;
|
|
27150
27036
|
},
|
|
27151
27037
|
|
|
27152
|
-
|
|
27153
|
-
|
|
27154
|
-
|
|
27038
|
+
removeRow: function (rowElement, preserveDom, options) {
|
|
27039
|
+
var row = {element: rowElement};
|
|
27040
|
+
// Check to see if we are now empty...
|
|
27041
|
+
if (!preserveDom && (this.up(row).element === rowElement) && (this.down(row).element === rowElement)) {
|
|
27042
|
+
// ...we are empty, so show the no data message.
|
|
27043
|
+
this._insertNoDataNode();
|
|
27044
|
+
}
|
|
27155
27045
|
|
|
27156
|
-
|
|
27157
|
-
if(
|
|
27158
|
-
|
|
27159
|
-
callback(vector[i++]);
|
|
27160
|
-
}
|
|
27046
|
+
var rows = (options && options.rows) || this._rows;
|
|
27047
|
+
if (rows) {
|
|
27048
|
+
delete rows[rowElement.rowIndex];
|
|
27161
27049
|
}
|
|
27050
|
+
|
|
27051
|
+
return this.inherited(arguments);
|
|
27162
27052
|
},
|
|
27163
27053
|
|
|
27164
|
-
|
|
27165
|
-
|
|
27166
|
-
|
|
27054
|
+
renderQueryResults: function (results, beforeNode, options) {
|
|
27055
|
+
// summary:
|
|
27056
|
+
// Renders objects from QueryResults as rows, before the given node.
|
|
27057
|
+
|
|
27058
|
+
options = lang.mixin({ rows: this._rows }, options);
|
|
27059
|
+
var self = this;
|
|
27060
|
+
|
|
27061
|
+
if (!has('dojo-built')) {
|
|
27062
|
+
// Check for null/undefined totalResults to help diagnose faulty services/stores
|
|
27063
|
+
results.totalLength.then(function (total) {
|
|
27064
|
+
if (total == null) {
|
|
27065
|
+
console.warn('Store reported null or undefined totalLength. ' +
|
|
27066
|
+
'Make sure your store (and service, if applicable) are reporting total correctly!');
|
|
27067
|
+
}
|
|
27068
|
+
});
|
|
27167
27069
|
}
|
|
27168
|
-
return dest;
|
|
27169
|
-
},
|
|
27170
27070
|
|
|
27171
|
-
|
|
27172
|
-
|
|
27071
|
+
return results.then(function (resolvedResults) {
|
|
27072
|
+
var resolvedRows = self.renderArray(resolvedResults, beforeNode, options);
|
|
27073
|
+
delete self._lastCollection; // used only for non-store List/Grid
|
|
27074
|
+
return resolvedRows;
|
|
27075
|
+
});
|
|
27173
27076
|
},
|
|
27174
27077
|
|
|
27175
|
-
|
|
27078
|
+
_observeCollection: function (collection, container, options) {
|
|
27079
|
+
var self = this,
|
|
27080
|
+
rows = options.rows,
|
|
27081
|
+
row;
|
|
27176
27082
|
|
|
27177
|
-
|
|
27178
|
-
|
|
27179
|
-
|
|
27180
|
-
|
|
27083
|
+
var handles = [
|
|
27084
|
+
collection.on('delete, update', function (event) {
|
|
27085
|
+
var from = event.previousIndex;
|
|
27086
|
+
var to = event.index;
|
|
27181
27087
|
|
|
27182
|
-
|
|
27088
|
+
if (from !== undefined && rows[from]) {
|
|
27089
|
+
if ('max' in rows && (to === undefined || to < rows.min || to > rows.max)) {
|
|
27090
|
+
rows.max--;
|
|
27091
|
+
}
|
|
27183
27092
|
|
|
27184
|
-
|
|
27185
|
-
|
|
27186
|
-
|
|
27187
|
-
|
|
27188
|
-
|
|
27189
|
-
){
|
|
27190
|
-
return contextRequire(config, dependencies, callback, 0, req);
|
|
27191
|
-
},
|
|
27093
|
+
// max should never be less than zero; if it is the logic in the 'add, update' handler
|
|
27094
|
+
// below will prevent insertion of rows (https://github.com/SitePen/dgrid/issues/1305)
|
|
27095
|
+
if (rows.max < 0) {
|
|
27096
|
+
rows.max = 0;
|
|
27097
|
+
}
|
|
27192
27098
|
|
|
27193
|
-
|
|
27194
|
-
global = globalObject,
|
|
27099
|
+
row = rows[from];
|
|
27195
27100
|
|
|
27196
|
-
|
|
27101
|
+
// check to make the sure the node is still there before we try to remove it
|
|
27102
|
+
// (in case it was moved to a different place in the DOM)
|
|
27103
|
+
if (row.parentNode === container) {
|
|
27104
|
+
self.removeRow(row, false, options);
|
|
27105
|
+
}
|
|
27197
27106
|
|
|
27198
|
-
|
|
27107
|
+
// remove the old slot
|
|
27108
|
+
rows.splice(from, 1);
|
|
27199
27109
|
|
|
27200
|
-
|
|
27201
|
-
|
|
27202
|
-
|
|
27110
|
+
if (event.type === 'delete' ||
|
|
27111
|
+
(event.type === 'update' && (from < to || to === undefined))) {
|
|
27112
|
+
// adjust the rowIndex so adjustRowIndices has the right starting point
|
|
27113
|
+
rows[from] && rows[from].rowIndex--;
|
|
27114
|
+
}
|
|
27115
|
+
}
|
|
27116
|
+
if (event.type === 'delete') {
|
|
27117
|
+
// Reset row in case this is later followed by an add;
|
|
27118
|
+
// only update events should retain the row variable below
|
|
27119
|
+
row = null;
|
|
27120
|
+
}
|
|
27121
|
+
}),
|
|
27203
27122
|
|
|
27204
|
-
|
|
27123
|
+
collection.on('add, update', function (event) {
|
|
27124
|
+
var from = event.previousIndex;
|
|
27125
|
+
var to = event.index;
|
|
27126
|
+
var nextNode;
|
|
27205
27127
|
|
|
27206
|
-
|
|
27207
|
-
|
|
27208
|
-
|
|
27128
|
+
function advanceNext() {
|
|
27129
|
+
nextNode = (nextNode.connected || nextNode).nextSibling;
|
|
27130
|
+
}
|
|
27209
27131
|
|
|
27210
|
-
|
|
27211
|
-
|
|
27212
|
-
|
|
27213
|
-
|
|
27132
|
+
// When possible, restrict observations to the actually rendered range
|
|
27133
|
+
if (to !== undefined && (!('max' in rows) || (to >= rows.min && to <= rows.max))) {
|
|
27134
|
+
if ('max' in rows && (from === undefined || from < rows.min || from > rows.max)) {
|
|
27135
|
+
rows.max++;
|
|
27136
|
+
}
|
|
27137
|
+
// Add to new slot (either before an existing row, or at the end)
|
|
27138
|
+
// First determine the DOM node that this should be placed before.
|
|
27139
|
+
if (rows.length) {
|
|
27140
|
+
nextNode = rows[to];
|
|
27141
|
+
if (!nextNode) {
|
|
27142
|
+
nextNode = rows[to - 1];
|
|
27143
|
+
if (nextNode) {
|
|
27144
|
+
// Make sure to skip connected nodes, so we don't accidentally
|
|
27145
|
+
// insert a row in between a parent and its children.
|
|
27146
|
+
advanceNext();
|
|
27147
|
+
}
|
|
27148
|
+
}
|
|
27149
|
+
}
|
|
27150
|
+
else {
|
|
27151
|
+
// There are no rows. Allow for subclasses to insert new rows somewhere other than
|
|
27152
|
+
// at the end of the parent node.
|
|
27153
|
+
nextNode = self._getFirstRowSibling && self._getFirstRowSibling(container);
|
|
27154
|
+
}
|
|
27155
|
+
// Make sure we don't trip over a stale reference to a
|
|
27156
|
+
// node that was removed, or try to place a node before
|
|
27157
|
+
// itself (due to overlapped queries)
|
|
27158
|
+
if (row && nextNode && row.id === nextNode.id) {
|
|
27159
|
+
advanceNext();
|
|
27160
|
+
}
|
|
27161
|
+
if (nextNode && !nextNode.parentNode) {
|
|
27162
|
+
nextNode = document.getElementById(nextNode.id);
|
|
27163
|
+
}
|
|
27164
|
+
rows.splice(to, 0, undefined);
|
|
27165
|
+
row = self.insertRow(event.target, container, nextNode, to, options);
|
|
27166
|
+
self.highlightRow(row);
|
|
27167
|
+
}
|
|
27168
|
+
// Reset row so it doesn't get reused on the next event
|
|
27169
|
+
row = null;
|
|
27170
|
+
}),
|
|
27214
27171
|
|
|
27215
|
-
|
|
27216
|
-
|
|
27217
|
-
|
|
27218
|
-
|
|
27219
|
-
|
|
27220
|
-
{
|
|
27221
|
-
req.async = 1;
|
|
27222
|
-
}
|
|
27172
|
+
collection.on('add, delete, update', function (event) {
|
|
27173
|
+
var from = (typeof event.previousIndex !== 'undefined') ? event.previousIndex : Infinity,
|
|
27174
|
+
to = (typeof event.index !== 'undefined') ? event.index : Infinity,
|
|
27175
|
+
adjustAtIndex = Math.min(from, to);
|
|
27176
|
+
from !== to && rows[adjustAtIndex] && self.adjustRowIndices(rows[adjustAtIndex]);
|
|
27223
27177
|
|
|
27224
|
-
|
|
27225
|
-
|
|
27226
|
-
|
|
27227
|
-
|
|
27228
|
-
function(){} ;
|
|
27178
|
+
// the removal of rows could cause us to need to page in more items
|
|
27179
|
+
if (from !== Infinity && self._processScroll && (rows[from] || rows[from - 1])) {
|
|
27180
|
+
self._processScroll();
|
|
27181
|
+
}
|
|
27229
27182
|
|
|
27230
|
-
|
|
27231
|
-
|
|
27232
|
-
|
|
27233
|
-
|
|
27183
|
+
// Fire _onNotification, even for out-of-viewport notifications,
|
|
27184
|
+
// since some things may still need to update (e.g. Pagination's status/navigation)
|
|
27185
|
+
self._onNotification(rows, event, collection);
|
|
27186
|
+
|
|
27187
|
+
// Update _total after _onNotification so that it can potentially
|
|
27188
|
+
// decide whether to perform actions based on whether the total changed
|
|
27189
|
+
if (collection === self._renderedCollection && 'totalLength' in event) {
|
|
27190
|
+
self._total = event.totalLength;
|
|
27191
|
+
}
|
|
27192
|
+
})
|
|
27193
|
+
];
|
|
27234
27194
|
|
|
27235
|
-
//
|
|
27236
|
-
// loader micro events API
|
|
27237
|
-
//
|
|
27238
|
-
var listenerQueues = {},
|
|
27239
|
-
error = "error";
|
|
27240
|
-
req.signal = function(type, args){
|
|
27241
|
-
var queue = listenerQueues[type];
|
|
27242
|
-
// notice we run a copy of the queue; this allows listeners to add/remove
|
|
27243
|
-
// other listeners without affecting this particular signal
|
|
27244
|
-
forEach(queue && queue.slice(0), function(listener){
|
|
27245
|
-
listener.apply(null, isArray(args) ? args : [args]);
|
|
27246
|
-
});
|
|
27247
|
-
};
|
|
27248
|
-
var on = req.on = function(type, listener){
|
|
27249
|
-
// notice a queue is not created until a client actually connects
|
|
27250
|
-
var queue = listenerQueues[type] || (listenerQueues[type] = []);
|
|
27251
|
-
queue.push(listener);
|
|
27252
27195
|
return {
|
|
27253
|
-
remove:function(){
|
|
27254
|
-
|
|
27255
|
-
|
|
27256
|
-
queue.splice(i, 1);
|
|
27257
|
-
return;
|
|
27258
|
-
}
|
|
27196
|
+
remove: function () {
|
|
27197
|
+
while (handles.length > 0) {
|
|
27198
|
+
handles.pop().remove();
|
|
27259
27199
|
}
|
|
27260
27200
|
}
|
|
27261
27201
|
};
|
|
27262
|
-
}
|
|
27263
|
-
|
|
27264
|
-
// configuration machinery; with an optimized/built defaultConfig, all configuration machinery can be discarded
|
|
27265
|
-
// lexical variables hold key loader data structures to help with minification; these may be completely,
|
|
27266
|
-
// one-time initialized by defaultConfig for optimized/built versions
|
|
27267
|
-
var aliases
|
|
27268
|
-
// a vector of pairs of [regexs or string, replacement] => (alias, actual)
|
|
27269
|
-
= [],
|
|
27270
|
-
|
|
27271
|
-
pathsMapProg
|
|
27272
|
-
// list of (from-path, to-path, regex, length) derived from paths;
|
|
27273
|
-
// a "program" to apply paths; see computeMapProg
|
|
27274
|
-
= [],
|
|
27202
|
+
},
|
|
27275
27203
|
|
|
27276
|
-
|
|
27277
|
-
//
|
|
27278
|
-
|
|
27204
|
+
_onNotification: function () {
|
|
27205
|
+
// summary:
|
|
27206
|
+
// Protected method called whenever a store notification is observed.
|
|
27207
|
+
// Intended to be extended as necessary by mixins/extensions.
|
|
27208
|
+
// rows: Array
|
|
27209
|
+
// A sparse array of row nodes corresponding to data objects in the collection.
|
|
27210
|
+
// event: Object
|
|
27211
|
+
// The notification event
|
|
27212
|
+
// collection: Object
|
|
27213
|
+
// The collection that the notification is relevant to.
|
|
27214
|
+
// Useful for distinguishing child-level from top-level notifications.
|
|
27215
|
+
}
|
|
27216
|
+
});
|
|
27217
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
27218
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
27279
27219
|
|
|
27280
|
-
req.map
|
|
27281
|
-
// AMD map config variable; dojo/_base/kernel needs req.map to figure out the scope map
|
|
27282
|
-
= {};
|
|
27283
27220
|
|
|
27284
|
-
|
|
27285
|
-
// vector of quads as described by computeMapProg; map-key is AMD map key, map-value is AMD map value
|
|
27286
|
-
= [],
|
|
27221
|
+
/***/ }),
|
|
27287
27222
|
|
|
27288
|
-
|
|
27289
|
-
|
|
27290
|
-
|
|
27291
|
-
|
|
27292
|
-
|
|
27293
|
-
// url: the URL from which the module was retrieved
|
|
27294
|
-
// pack: the package object of the package to which the module belongs
|
|
27295
|
-
// executed: 0 => not executed; executing => in the process of traversing deps and running factory; executed => factory has been executed
|
|
27296
|
-
// deps: the dependency vector for this module (vector of modules objects)
|
|
27297
|
-
// def: the factory for this module
|
|
27298
|
-
// result: the result of the running the factory for this module
|
|
27299
|
-
// injected: (0 | requested | arrived) the status of the module; nonmodule means the resource did not call define
|
|
27300
|
-
// load: plugin load function; applicable only for plugins
|
|
27301
|
-
//
|
|
27302
|
-
// Modules go through several phases in creation:
|
|
27303
|
-
//
|
|
27304
|
-
// 1. Requested: some other module's definition or a require application contained the requested module in
|
|
27305
|
-
// its dependency vector or executing code explicitly demands a module via req.require.
|
|
27306
|
-
//
|
|
27307
|
-
// 2. Injected: a script element has been appended to the insert-point element demanding the resource implied by the URL
|
|
27308
|
-
//
|
|
27309
|
-
// 3. Loaded: the resource injected in [2] has been evaluated.
|
|
27310
|
-
//
|
|
27311
|
-
// 4. Defined: the resource contained a define statement that advised the loader about the module. Notice that some
|
|
27312
|
-
// resources may just contain a bundle of code and never formally define a module via define
|
|
27313
|
-
//
|
|
27314
|
-
// 5. Evaluated: the module was defined via define and the loader has evaluated the factory and computed a result.
|
|
27315
|
-
= {},
|
|
27223
|
+
/***/ 8471:
|
|
27224
|
+
/*!****************************************!*\
|
|
27225
|
+
!*** ../../node_modules/dojo/mouse.js ***!
|
|
27226
|
+
\****************************************/
|
|
27227
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
27316
27228
|
|
|
27317
|
-
|
|
27318
|
-
// query string to append to module URLs to bust browser cache
|
|
27319
|
-
= "",
|
|
27229
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ./_base/kernel */ 1054), __webpack_require__(/*! ./on */ 2075), __webpack_require__(/*! ./has */ 6356), __webpack_require__(/*! ./dom */ 2284), __webpack_require__(/*! ./_base/window */ 5075)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(dojo, on, has, dom, win){
|
|
27320
27230
|
|
|
27321
|
-
|
|
27322
|
-
|
|
27323
|
-
//
|
|
27324
|
-
// A cache of resources. The resources arrive via a config.cache object, which is a hash from either mid --> function or
|
|
27325
|
-
// url --> string. The url key is distinguished from the mid key by always containing the prefix "url:". url keys as provided
|
|
27326
|
-
// by config.cache always have a string value that represents the contents of the resource at the given url. mid keys as provided
|
|
27327
|
-
// by configl.cache always have a function value that causes the same code to execute as if the module was script injected.
|
|
27328
|
-
//
|
|
27329
|
-
// Both kinds of key-value pairs are entered into cache via the function consumePendingCache, which may relocate keys as given
|
|
27330
|
-
// by any mappings *iff* the config.cache was received as part of a module resource request.
|
|
27331
|
-
//
|
|
27332
|
-
// Further, for mid keys, the implied url is computed and the value is entered into that key as well. This allows mapped modules
|
|
27333
|
-
// to retrieve cached items that may have arrived consequent to another namespace.
|
|
27334
|
-
//
|
|
27335
|
-
= {};
|
|
27231
|
+
// module:
|
|
27232
|
+
// dojo/mouse
|
|
27336
27233
|
|
|
27337
|
-
|
|
27338
|
-
|
|
27339
|
-
|
|
27340
|
-
pathsMapProg = defaultConfig.pathsMapProg;
|
|
27341
|
-
packs = defaultConfig.packs;
|
|
27342
|
-
aliases = defaultConfig.aliases;
|
|
27343
|
-
mapProgs = defaultConfig.mapProgs;
|
|
27344
|
-
modules = defaultConfig.modules;
|
|
27345
|
-
cache = defaultConfig.cache;
|
|
27346
|
-
cacheBust = defaultConfig.cacheBust;
|
|
27234
|
+
has.add("dom-quirks", win.doc && win.doc.compatMode == "BackCompat");
|
|
27235
|
+
has.add("events-mouseenter", win.doc && "onmouseenter" in win.doc.createElement("div"));
|
|
27236
|
+
has.add("events-mousewheel", win.doc && 'onmousewheel' in win.doc);
|
|
27347
27237
|
|
|
27348
|
-
|
|
27349
|
-
|
|
27238
|
+
var mouseButtons;
|
|
27239
|
+
if((has("dom-quirks") && has("ie")) || !has("dom-addeventlistener")){
|
|
27240
|
+
mouseButtons = {
|
|
27241
|
+
LEFT: 1,
|
|
27242
|
+
MIDDLE: 4,
|
|
27243
|
+
RIGHT: 2,
|
|
27244
|
+
// helper functions
|
|
27245
|
+
isButton: function(e, button){ return e.button & button; },
|
|
27246
|
+
isLeft: function(e){ return e.button & 1; },
|
|
27247
|
+
isMiddle: function(e){ return e.button & 4; },
|
|
27248
|
+
isRight: function(e){ return e.button & 2; }
|
|
27249
|
+
};
|
|
27250
|
+
}else {
|
|
27251
|
+
mouseButtons = {
|
|
27252
|
+
LEFT: 0,
|
|
27253
|
+
MIDDLE: 1,
|
|
27254
|
+
RIGHT: 2,
|
|
27255
|
+
// helper functions
|
|
27256
|
+
isButton: function(e, button){ return e.button == button; },
|
|
27257
|
+
isLeft: function(e){ return e.button == 0; },
|
|
27258
|
+
isMiddle: function(e){ return e.button == 1; },
|
|
27259
|
+
isRight: function(e){ return e.button == 2; }
|
|
27260
|
+
};
|
|
27350
27261
|
}
|
|
27262
|
+
dojo.mouseButtons = mouseButtons;
|
|
27351
27263
|
|
|
27264
|
+
/*=====
|
|
27265
|
+
dojo.mouseButtons = {
|
|
27266
|
+
// LEFT: Number
|
|
27267
|
+
// Numeric value of the left mouse button for the platform.
|
|
27268
|
+
LEFT: 0,
|
|
27269
|
+
// MIDDLE: Number
|
|
27270
|
+
// Numeric value of the middle mouse button for the platform.
|
|
27271
|
+
MIDDLE: 1,
|
|
27272
|
+
// RIGHT: Number
|
|
27273
|
+
// Numeric value of the right mouse button for the platform.
|
|
27274
|
+
RIGHT: 2,
|
|
27352
27275
|
|
|
27353
|
-
|
|
27276
|
+
isButton: function(e, button){
|
|
27277
|
+
// summary:
|
|
27278
|
+
// Checks an event object for a pressed button
|
|
27279
|
+
// e: Event
|
|
27280
|
+
// Event object to examine
|
|
27281
|
+
// button: Number
|
|
27282
|
+
// The button value (example: dojo.mouseButton.LEFT)
|
|
27283
|
+
return e.button == button; // Boolean
|
|
27284
|
+
},
|
|
27285
|
+
isLeft: function(e){
|
|
27286
|
+
// summary:
|
|
27287
|
+
// Checks an event object for the pressed left button
|
|
27288
|
+
// e: Event
|
|
27289
|
+
// Event object to examine
|
|
27290
|
+
return e.button == 0; // Boolean
|
|
27291
|
+
},
|
|
27292
|
+
isMiddle: function(e){
|
|
27293
|
+
// summary:
|
|
27294
|
+
// Checks an event object for the pressed middle button
|
|
27295
|
+
// e: Event
|
|
27296
|
+
// Event object to examine
|
|
27297
|
+
return e.button == 1; // Boolean
|
|
27298
|
+
},
|
|
27299
|
+
isRight: function(e){
|
|
27300
|
+
// summary:
|
|
27301
|
+
// Checks an event object for the pressed right button
|
|
27302
|
+
// e: Event
|
|
27303
|
+
// Event object to examine
|
|
27304
|
+
return e.button == 2; // Boolean
|
|
27305
|
+
}
|
|
27306
|
+
};
|
|
27307
|
+
=====*/
|
|
27354
27308
|
|
|
27355
|
-
|
|
27356
|
-
|
|
27357
|
-
|
|
27358
|
-
|
|
27359
|
-
if(
|
|
27360
|
-
return
|
|
27309
|
+
function eventHandler(type, selectHandler){
|
|
27310
|
+
// emulation of mouseenter/leave with mouseover/out using descendant checking
|
|
27311
|
+
var handler = function(node, listener){
|
|
27312
|
+
return on(node, type, function(evt){
|
|
27313
|
+
if(selectHandler){
|
|
27314
|
+
return selectHandler(evt, listener);
|
|
27361
27315
|
}
|
|
27362
|
-
|
|
27363
|
-
|
|
27364
|
-
|
|
27365
|
-
|
|
27316
|
+
if(!dom.isDescendant(evt.relatedTarget, node)){
|
|
27317
|
+
return listener.call(this, evt);
|
|
27318
|
+
}
|
|
27319
|
+
});
|
|
27320
|
+
};
|
|
27321
|
+
handler.bubble = function(select){
|
|
27322
|
+
return eventHandler(type, function(evt, listener){
|
|
27323
|
+
// using a selector, use the select function to determine if the mouse moved inside the selector and was previously outside the selector
|
|
27324
|
+
var target = select(evt.target);
|
|
27325
|
+
var relatedTarget = evt.relatedTarget;
|
|
27326
|
+
if(target && (target != (relatedTarget && relatedTarget.nodeType == 1 && select(relatedTarget)))){
|
|
27327
|
+
return listener.call(target, evt);
|
|
27328
|
+
}
|
|
27329
|
+
});
|
|
27330
|
+
};
|
|
27331
|
+
return handler;
|
|
27332
|
+
}
|
|
27333
|
+
var wheel;
|
|
27334
|
+
if(has("events-mousewheel")){
|
|
27335
|
+
wheel = 'mousewheel';
|
|
27336
|
+
}else { //firefox
|
|
27337
|
+
wheel = function(node, listener){
|
|
27338
|
+
return on(node, 'DOMMouseScroll', function(evt){
|
|
27339
|
+
evt.wheelDelta = -evt.detail;
|
|
27340
|
+
listener.call(this, evt);
|
|
27341
|
+
});
|
|
27342
|
+
};
|
|
27343
|
+
}
|
|
27344
|
+
return {
|
|
27345
|
+
// summary:
|
|
27346
|
+
// This module provide mouse event handling utility functions and exports
|
|
27347
|
+
// mouseenter and mouseleave event emulation.
|
|
27348
|
+
// example:
|
|
27349
|
+
// To use these events, you register a mouseenter like this:
|
|
27350
|
+
// | define(["dojo/on", "dojo/mouse"], function(on, mouse){
|
|
27351
|
+
// | on(targetNode, mouse.enter, function(event){
|
|
27352
|
+
// | dojo.addClass(targetNode, "highlighted");
|
|
27353
|
+
// | });
|
|
27354
|
+
// | on(targetNode, mouse.leave, function(event){
|
|
27355
|
+
// | dojo.removeClass(targetNode, "highlighted");
|
|
27356
|
+
// | });
|
|
27366
27357
|
|
|
27367
|
-
|
|
27368
|
-
var result = [],
|
|
27369
|
-
segment, lastSegment;
|
|
27370
|
-
path = path.replace(/\\/g, '/').split('/');
|
|
27371
|
-
while(path.length){
|
|
27372
|
-
segment = path.shift();
|
|
27373
|
-
if(segment==".." && result.length && lastSegment!=".."){
|
|
27374
|
-
result.pop();
|
|
27375
|
-
lastSegment = result[result.length - 1];
|
|
27376
|
-
}else if(segment!="."){
|
|
27377
|
-
result.push(lastSegment= segment);
|
|
27378
|
-
} // else ignore "."
|
|
27379
|
-
}
|
|
27380
|
-
return result.join("/");
|
|
27381
|
-
},
|
|
27358
|
+
_eventHandler: eventHandler, // for dojo/touch
|
|
27382
27359
|
|
|
27383
|
-
|
|
27384
|
-
|
|
27385
|
-
|
|
27386
|
-
|
|
27360
|
+
// enter: Synthetic Event
|
|
27361
|
+
// This is an extension event for the mouseenter that IE provides, emulating the
|
|
27362
|
+
// behavior on other browsers.
|
|
27363
|
+
enter: eventHandler("mouseover"),
|
|
27364
|
+
|
|
27365
|
+
// leave: Synthetic Event
|
|
27366
|
+
// This is an extension event for the mouseleave that IE provides, emulating the
|
|
27367
|
+
// behavior on other browsers.
|
|
27368
|
+
leave: eventHandler("mouseout"),
|
|
27369
|
+
|
|
27370
|
+
// wheel: Normalized Mouse Wheel Event
|
|
27371
|
+
// This is an extension event for the mousewheel that non-Mozilla browsers provide,
|
|
27372
|
+
// emulating the behavior on Mozilla based browsers.
|
|
27373
|
+
wheel: wheel,
|
|
27374
|
+
|
|
27375
|
+
isLeft: mouseButtons.isLeft,
|
|
27376
|
+
/*=====
|
|
27377
|
+
isLeft: function(){
|
|
27378
|
+
// summary:
|
|
27379
|
+
// Test an event object (from a mousedown event) to see if the left button was pressed.
|
|
27387
27380
|
},
|
|
27381
|
+
=====*/
|
|
27388
27382
|
|
|
27389
|
-
|
|
27390
|
-
|
|
27391
|
-
|
|
27392
|
-
|
|
27393
|
-
|
|
27394
|
-
|
|
27395
|
-
|
|
27396
|
-
// whatever it is, it's not a module but just a URL of some sort
|
|
27397
|
-
// note: pid===0 indicates the routine is returning an unmodified mid
|
|
27383
|
+
isMiddle: mouseButtons.isMiddle,
|
|
27384
|
+
/*=====
|
|
27385
|
+
isMiddle: function(){
|
|
27386
|
+
// summary:
|
|
27387
|
+
// Test an event object (from a mousedown event) to see if the middle button was pressed.
|
|
27388
|
+
},
|
|
27389
|
+
=====*/
|
|
27398
27390
|
|
|
27399
|
-
|
|
27400
|
-
|
|
27401
|
-
|
|
27402
|
-
|
|
27403
|
-
|
|
27404
|
-
|
|
27405
|
-
|
|
27406
|
-
|
|
27391
|
+
isRight: mouseButtons.isRight
|
|
27392
|
+
/*=====
|
|
27393
|
+
, isRight: function(){
|
|
27394
|
+
// summary:
|
|
27395
|
+
// Test an event object (from a mousedown event) to see if the right button was pressed.
|
|
27396
|
+
}
|
|
27397
|
+
=====*/
|
|
27398
|
+
};
|
|
27399
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
27400
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
27407
27401
|
|
|
27408
|
-
// map the mid
|
|
27409
|
-
if(!isRelative && mapProgs.star){
|
|
27410
|
-
mapItem = runMapProg(mid, mapProgs.star[1]);
|
|
27411
|
-
}
|
|
27412
|
-
if(!mapItem && referenceModule){
|
|
27413
|
-
mapItem = runMapProg(referenceModule.mid, mapProgs);
|
|
27414
|
-
mapItem = mapItem && runMapProg(mid, mapItem[1]);
|
|
27415
|
-
}
|
|
27416
27402
|
|
|
27417
|
-
|
|
27418
|
-
mid = mapItem[1] + mid.substring(mapItem[3]);
|
|
27419
|
-
}
|
|
27403
|
+
/***/ }),
|
|
27420
27404
|
|
|
27421
|
-
|
|
27422
|
-
|
|
27423
|
-
|
|
27424
|
-
|
|
27425
|
-
|
|
27426
|
-
pid = "";
|
|
27427
|
-
}
|
|
27405
|
+
/***/ 8709:
|
|
27406
|
+
/*!******************************************************!*\
|
|
27407
|
+
!*** ../../node_modules/dijit/_OnDijitClickMixin.js ***!
|
|
27408
|
+
\******************************************************/
|
|
27409
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
27428
27410
|
|
|
27429
|
-
|
|
27430
|
-
|
|
27431
|
-
|
|
27432
|
-
|
|
27433
|
-
|
|
27434
|
-
|
|
27435
|
-
|
|
27436
|
-
|
|
27437
|
-
});
|
|
27438
|
-
if(candidate){
|
|
27439
|
-
return getModuleInfo_(candidate, 0, packs, modules, baseUrl, mapProgs, pathsMapProg, aliases, alwaysCreate);
|
|
27440
|
-
}
|
|
27411
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
27412
|
+
__webpack_require__(/*! dojo/on */ 2075),
|
|
27413
|
+
__webpack_require__(/*! dojo/_base/array */ 6974), // array.forEach
|
|
27414
|
+
__webpack_require__(/*! dojo/keys */ 4266), // keys.ENTER keys.SPACE
|
|
27415
|
+
__webpack_require__(/*! dojo/_base/declare */ 6345), // declare
|
|
27416
|
+
__webpack_require__(/*! dojo/has */ 6356), // has("dom-addeventlistener")
|
|
27417
|
+
__webpack_require__(/*! ./a11yclick */ 8240)
|
|
27418
|
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(on, array, keys, declare, has, a11yclick){
|
|
27441
27419
|
|
|
27442
|
-
|
|
27443
|
-
|
|
27444
|
-
return alwaysCreate ? makeModuleInfo(result.pid, result.mid, result.pack, result.url) : modules[mid];
|
|
27445
|
-
}
|
|
27446
|
-
}
|
|
27447
|
-
// get here iff the sought-after module does not yet exist; therefore, we need to compute the URL given the
|
|
27448
|
-
// fully resolved (i.e., all relative indicators and package mapping resolved) module id
|
|
27420
|
+
// module:
|
|
27421
|
+
// dijit/_OnDijitClickMixin
|
|
27449
27422
|
|
|
27450
|
-
|
|
27451
|
-
|
|
27452
|
-
|
|
27453
|
-
|
|
27454
|
-
|
|
27455
|
-
|
|
27456
|
-
|
|
27457
|
-
|
|
27458
|
-
}
|
|
27459
|
-
// if result is not absolute, add baseUrl
|
|
27460
|
-
if(!(/(^\/)|(\:)/.test(url))){
|
|
27461
|
-
url = baseUrl + url;
|
|
27462
|
-
}
|
|
27463
|
-
url += ".js";
|
|
27464
|
-
return makeModuleInfo(pid, mid, pack, compactPath(url));
|
|
27465
|
-
},
|
|
27423
|
+
var ret = declare("dijit._OnDijitClickMixin", null, {
|
|
27424
|
+
// summary:
|
|
27425
|
+
// Deprecated. New code should access the dijit/a11yclick event directly, ex:
|
|
27426
|
+
// | this.own(on(node, a11yclick, function(){ ... }));
|
|
27427
|
+
//
|
|
27428
|
+
// Mixing in this class will make _WidgetBase.connect(node, "ondijitclick", ...) work.
|
|
27429
|
+
// It also used to be necessary to make templates with ondijitclick work, but now you can just require
|
|
27430
|
+
// dijit/a11yclick.
|
|
27466
27431
|
|
|
27467
|
-
|
|
27468
|
-
|
|
27469
|
-
|
|
27432
|
+
connect: function(obj, event, method){
|
|
27433
|
+
// override _WidgetBase.connect() to make this.connect(node, "ondijitclick", ...) work
|
|
27434
|
+
return this.inherited(arguments, [obj, event == "ondijitclick" ? a11yclick : event, method]);
|
|
27435
|
+
}
|
|
27436
|
+
});
|
|
27470
27437
|
|
|
27471
|
-
|
|
27472
|
-
return getModuleInfo(mid, referenceModule).mid;
|
|
27473
|
-
};
|
|
27438
|
+
ret.a11yclick = a11yclick; // back compat
|
|
27474
27439
|
|
|
27475
|
-
|
|
27476
|
-
|
|
27477
|
-
|
|
27478
|
-
return fixupUrl(moduleInfo.pid===0 ?
|
|
27479
|
-
// if pid===0, then name had a protocol or absolute path; either way, toUrl is the identify function in such cases
|
|
27480
|
-
name :
|
|
27481
|
-
// "/x.js" since getModuleInfo automatically appends ".js" and we appended "/x" to make name look like a module id
|
|
27482
|
-
url.substring(0, url.length-5)
|
|
27483
|
-
);
|
|
27484
|
-
};
|
|
27440
|
+
return ret;
|
|
27441
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
27442
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
27485
27443
|
|
|
27486
|
-
var fixupUrl= typeof userConfig.fixupUrl == "function" ? userConfig.fixupUrl : function(url){
|
|
27487
|
-
url += ""; // make sure url is a Javascript string (some paths may be a Java string)
|
|
27488
|
-
return url + (cacheBust ? ((/\?/.test(url) ? "&" : "?") + cacheBust) : "");
|
|
27489
|
-
};
|
|
27490
27444
|
|
|
27491
|
-
|
|
27492
|
-
req.log = noop;
|
|
27493
|
-
}
|
|
27445
|
+
/***/ }),
|
|
27494
27446
|
|
|
27495
|
-
|
|
27496
|
-
|
|
27497
|
-
|
|
27498
|
-
|
|
27499
|
-
|
|
27500
|
-
}
|
|
27501
|
-
// allow config to override default implementation of named functions; this is useful for
|
|
27502
|
-
// non-browser environments, e.g., overriding injectUrl, getText, log, etc. in node.js, Rhino, etc.
|
|
27503
|
-
// also useful for testing and monkey patching loader
|
|
27504
|
-
mix(mix(req, defaultConfig.loaderPatch), userConfig.loaderPatch);
|
|
27447
|
+
/***/ 8769:
|
|
27448
|
+
/*!******************************************!*\
|
|
27449
|
+
!*** ../../node_modules/dojo/request.js ***!
|
|
27450
|
+
\******************************************/
|
|
27451
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
27505
27452
|
|
|
27506
|
-
|
|
27507
|
-
|
|
27508
|
-
|
|
27509
|
-
|
|
27510
|
-
|
|
27511
|
-
|
|
27512
|
-
|
|
27513
|
-
|
|
27514
|
-
|
|
27515
|
-
|
|
27516
|
-
|
|
27453
|
+
__webpack_require__.dj.r;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
|
27454
|
+
__webpack_require__(/*! ./request/default! */ 9648)/*=====,
|
|
27455
|
+
'./_base/declare',
|
|
27456
|
+
'./promise/Promise' =====*/
|
|
27457
|
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function(request/*=====, declare, Promise =====*/){
|
|
27458
|
+
/*=====
|
|
27459
|
+
request = function(url, options){
|
|
27460
|
+
// summary:
|
|
27461
|
+
// Send a request using the default transport for the current platform.
|
|
27462
|
+
// url: String
|
|
27463
|
+
// The URL to request.
|
|
27464
|
+
// options: dojo/request.__Options?
|
|
27465
|
+
// Options for the request.
|
|
27466
|
+
// returns: dojo/request.__Promise
|
|
27467
|
+
};
|
|
27468
|
+
request.__Promise = declare(Promise, {
|
|
27469
|
+
// response: dojo/promise/Promise
|
|
27470
|
+
// A promise resolving to an object representing
|
|
27471
|
+
// the response from the server.
|
|
27517
27472
|
});
|
|
27518
|
-
|
|
27519
|
-
|
|
27520
|
-
|
|
27521
|
-
|
|
27522
|
-
|
|
27523
|
-
|
|
27473
|
+
request.__BaseOptions = declare(null, {
|
|
27474
|
+
// query: String|Object?
|
|
27475
|
+
// Query parameters to append to the URL.
|
|
27476
|
+
// data: String|Object?
|
|
27477
|
+
// Data to transfer. This is ignored for GET and DELETE
|
|
27478
|
+
// requests.
|
|
27479
|
+
// preventCache: Boolean?
|
|
27480
|
+
// Whether to append a cache-busting parameter to the URL.
|
|
27481
|
+
// timeout: Integer?
|
|
27482
|
+
// Milliseconds to wait for the response. If this time
|
|
27483
|
+
// passes, the then the promise is rejected.
|
|
27484
|
+
// handleAs: String?
|
|
27485
|
+
// How to handle the response from the server. Default is
|
|
27486
|
+
// 'text'. Other values are 'json', 'javascript', and 'xml'.
|
|
27487
|
+
});
|
|
27488
|
+
request.__MethodOptions = declare(null, {
|
|
27489
|
+
// method: String?
|
|
27490
|
+
// The HTTP method to use to make the request. Must be
|
|
27491
|
+
// uppercase.
|
|
27524
27492
|
});
|
|
27493
|
+
request.__Options = declare([request.__BaseOptions, request.__MethodOptions]);
|
|
27494
|
+
|
|
27495
|
+
request.get = function(url, options){
|
|
27496
|
+
// summary:
|
|
27497
|
+
// Send an HTTP GET request using the default transport for the current platform.
|
|
27498
|
+
// url: String
|
|
27499
|
+
// URL to request
|
|
27500
|
+
// options: dojo/request.__BaseOptions?
|
|
27501
|
+
// Options for the request.
|
|
27502
|
+
// returns: dojo/request.__Promise
|
|
27503
|
+
};
|
|
27504
|
+
request.post = function(url, options){
|
|
27505
|
+
// summary:
|
|
27506
|
+
// Send an HTTP POST request using the default transport for the current platform.
|
|
27507
|
+
// url: String
|
|
27508
|
+
// URL to request
|
|
27509
|
+
// options: dojo/request.__BaseOptions?
|
|
27510
|
+
// Options for the request.
|
|
27511
|
+
// returns: dojo/request.__Promise
|
|
27512
|
+
};
|
|
27513
|
+
request.put = function(url, options){
|
|
27514
|
+
// summary:
|
|
27515
|
+
// Send an HTTP POST request using the default transport for the current platform.
|
|
27516
|
+
// url: String
|
|
27517
|
+
// URL to request
|
|
27518
|
+
// options: dojo/request.__BaseOptions?
|
|
27519
|
+
// Options for the request.
|
|
27520
|
+
// returns: dojo/request.__Promise
|
|
27521
|
+
};
|
|
27522
|
+
request.del = function(url, options){
|
|
27523
|
+
// summary:
|
|
27524
|
+
// Send an HTTP DELETE request using the default transport for the current platform.
|
|
27525
|
+
// url: String
|
|
27526
|
+
// URL to request
|
|
27527
|
+
// options: dojo/request.__BaseOptions?
|
|
27528
|
+
// Options for the request.
|
|
27529
|
+
// returns: dojo/request.__Promise
|
|
27530
|
+
};
|
|
27531
|
+
=====*/
|
|
27532
|
+
return request;
|
|
27533
|
+
}).apply(null, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
27534
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
27525
27535
|
|
|
27526
|
-
// the loader can be defined exactly once; look for global define which is the symbol AMD loaders are
|
|
27527
|
-
// *required* to define (as opposed to require, which is optional)
|
|
27528
|
-
if(global.define){
|
|
27529
|
-
return;
|
|
27530
|
-
}else {
|
|
27531
|
-
global.define = def;
|
|
27532
|
-
global.require = req;
|
|
27533
|
-
}
|
|
27534
|
-
})
|
|
27535
|
-
.call(this, userConfig, defaultConfig);};
|
|
27536
27536
|
|
|
27537
27537
|
/***/ }),
|
|
27538
27538
|
|
|
@@ -29972,7 +29972,7 @@
|
|
|
29972
29972
|
/******/ "dojo/_base/query":4203,
|
|
29973
29973
|
/******/ "dojo/_base/NodeList":6659,
|
|
29974
29974
|
/******/ "dojo/NodeList-dom":8288
|
|
29975
|
-
/******/ // "/tmp/tmp-
|
|
29975
|
+
/******/ // "/tmp/tmp-5915xSdKDAV2AL3m/dojo/dojo.js" = 2093
|
|
29976
29976
|
/******/ });
|
|
29977
29977
|
/******/
|
|
29978
29978
|
/******/ globalObj.require = req;
|
|
@@ -30008,7 +30008,7 @@
|
|
|
30008
30008
|
/******/ return url;
|
|
30009
30009
|
/******/ })}));
|
|
30010
30010
|
/******/ var defaultConfig = ({'hasCache':({'webpack':1,'host-browser':1,'dom':1,'dojo-loader':1,'dojo-has-api':1,'dojo-dom-ready-api':1,'dojo-sniff':1,'dojo-test-sniff':1,'config-deferredInstrumentation':1,'config-tlmSiblingOfDojo':1}),'paths':({'js':'js','theme':'theme','css':'//chuckdumont.github.io/dojo-css-plugin/1.0.0/css'}),'pathsMapProg':[['theme','theme',/^theme(\/|$)/,5],['css','//chuckdumont.github.io/dojo-css-plugin/1.0.0/css',/^css(\/|$)/,3],['js','js',/^js(\/|$)/,2]],'packs':({'dojo':({'main':'main','name':'dojo','location':'./dist/dojo','lib':'.'}),'dijit':({'main':'main','name':'dijit','location':'./dist/dijit','lib':'.'}),'dojox':({'main':'main','name':'dojox','location':'./dist/dojox','lib':'.'}),'dijit-themes':({'main':'main','name':'dijit-themes','location':'./dist/dijit-themes','lib':'.'}),'dgrid':({'main':'main','name':'dgrid','location':'./dist/dgrid','lib':'.'}),'dstore':({'main':'main','name':'dstore','location':'./dist/dojo-dstore','lib':'.'})}),'aliases':[],'mapProgs':[],'cacheBust':undefined,'modules':({}),'cache':({})});
|
|
30011
|
-
/******/ var dojoLoader = __webpack_require__(
|
|
30011
|
+
/******/ var dojoLoader = __webpack_require__(2093);
|
|
30012
30012
|
/******/ dojoLoader.call(loaderScope, userConfig, defaultConfig, loaderScope, loaderScope);
|
|
30013
30013
|
/******/ loaderScope.require.baseUrl = "./";
|
|
30014
30014
|
/******/ Object.keys(loaderScope.require.packs).forEach(function(key) {
|