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