").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/jquery_1.11.0/jquery.min.map b/adc-da-main/target/classes/static/editor-app/libs/jquery_1.11.0/jquery.min.map
deleted file mode 100644
index 2dd27a6..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/jquery_1.11.0/jquery.min.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"jquery-1.10.2.min.js","sources":["jquery-1.10.2.js"],"names":["window","undefined","readyList","rootjQuery","core_strundefined","location","document","docElem","documentElement","_jQuery","jQuery","_$","$","class2type","core_deletedIds","core_version","core_concat","concat","core_push","push","core_slice","slice","core_indexOf","indexOf","core_toString","toString","core_hasOwn","hasOwnProperty","core_trim","trim","selector","context","fn","init","core_pnum","source","core_rnotwhite","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","completed","event","addEventListener","type","readyState","detach","ready","removeEventListener","detachEvent","prototype","jquery","constructor","match","elem","this","charAt","length","exec","find","merge","parseHTML","nodeType","ownerDocument","test","isPlainObject","isFunction","attr","getElementById","parentNode","id","makeArray","toArray","call","get","num","pushStack","elems","ret","prevObject","each","callback","args","promise","done","apply","arguments","first","eq","last","i","len","j","map","end","sort","splice","extend","src","copyIsArray","copy","name","options","clone","target","deep","isArray","expando","Math","random","replace","noConflict","isReady","readyWait","holdReady","hold","wait","body","setTimeout","resolveWith","trigger","off","obj","Array","isWindow","isNumeric","isNaN","parseFloat","isFinite","String","key","e","support","ownLast","isEmptyObject","error","msg","Error","data","keepScripts","parsed","scripts","createElement","buildFragment","remove","childNodes","parseJSON","JSON","parse","Function","parseXML","xml","tmp","DOMParser","parseFromString","ActiveXObject","async","loadXML","getElementsByTagName","noop","globalEval","execScript","camelCase","string","nodeName","toLowerCase","value","isArraylike","text","arr","results","Object","inArray","max","second","l","grep","inv","retVal","arg","guid","proxy","access","chainable","emptyGet","raw","bulk","now","Date","getTime","swap","old","style","Deferred","attachEvent","top","frameElement","doScroll","doScrollCheck","split","cachedruns","Expr","getText","isXML","compile","outermostContext","sortInput","setDocument","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","hasDuplicate","sortOrder","a","b","strundefined","MAX_NEGATIVE","hasOwn","pop","push_native","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","RegExp","rcomma","rcombinators","rsibling","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rnative","rinputs","rheader","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","fromCharCode","els","Sizzle","seed","m","groups","nid","newContext","newSelector","getElementsByClassName","qsa","tokenize","getAttribute","setAttribute","toSelector","join","querySelectorAll","qsaError","removeAttribute","select","keys","cache","cacheLength","shift","markFunction","assert","div","removeChild","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","node","doc","parent","defaultView","className","appendChild","createComment","innerHTML","firstChild","getById","getElementsByName","filter","attrId","getAttributeNode","tag","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","dirkey","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","group","contexts","token","div1","defaultValue","unique","isXMLDoc","optionsCache","createOptions","object","flag","Callbacks","firing","memory","fired","firingLength","firingIndex","firingStart","list","stack","once","fire","stopOnFalse","self","disable","add","index","lock","locked","fireWith","func","tuples","state","always","deferred","fail","then","fns","newDefer","tuple","action","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","progressContexts","resolveContexts","fragment","opt","eventName","isSupported","cssText","getSetAttribute","leadingWhitespace","tbody","htmlSerialize","hrefNormalized","opacity","cssFloat","checkOn","optSelected","enctype","html5Clone","cloneNode","outerHTML","inlineBlockNeedsLayout","shrinkWrapBlocks","pixelPosition","deleteExpando","noCloneEvent","reliableMarginRight","boxSizingReliable","noCloneChecked","optDisabled","radioValue","createDocumentFragment","appendChecked","checkClone","click","change","focusin","backgroundClip","clearCloneStyle","container","marginDiv","tds","divReset","offsetHeight","display","reliableHiddenOffsets","zoom","boxSizing","offsetWidth","getComputedStyle","width","marginRight","rbrace","rmultiDash","internalData","pvt","acceptData","thisCache","internalKey","isNode","toJSON","internalRemoveData","isEmptyDataObject","cleanData","noData","applet","embed","hasData","removeData","_data","_removeData","dataAttr","queue","dequeue","startLength","hooks","_queueHooks","next","stop","setter","delay","time","fx","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","rclass","rreturn","rfocusable","rclickable","ruseDefault","getSetInput","removeAttr","prop","removeProp","propFix","addClass","classes","clazz","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","valHooks","set","option","one","optionSet","nType","attrHooks","propName","attrNames","for","class","notxml","propHooks","tabindex","parseInt","getter","setAttributeNode","createAttribute","coords","contenteditable","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","global","types","events","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","originalEvent","fixHook","fixHooks","mouseHooks","keyHooks","props","srcElement","metaKey","original","which","charCode","keyCode","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","orig","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","origFn","triggerHandler","isSimple","rparentsprev","rneedsContext","guaranteedUnique","children","contents","prev","targets","winnow","is","closest","pos","prevAll","addBack","sibling","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","contentDocument","contentWindow","reverse","n","r","qualifier","createSafeFragment","nodeNames","safeFrag","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","manipulation_rcheckableType","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","domManip","manipulationTarget","prepend","insertBefore","before","after","keepData","getAll","setGlobalEval","dataAndEvents","deepDataAndEvents","html","replaceWith","allowIntersection","hasScripts","iNoClone","disableScript","restoreScript","_evalUrl","content","refElements","cloneCopyEvent","dest","oldData","curData","fixCloneNodeIssues","defaultChecked","defaultSelected","appendTo","prependTo","insertAfter","replaceAll","insert","found","fixDefaultChecked","destElements","srcElements","inPage","selection","wrap","safe","nodes","url","ajax","dataType","throws","wrapAll","wrapInner","unwrap","iframe","getStyles","curCSS","ralpha","ropacity","rposition","rdisplayswap","rmargin","rnumsplit","rnumnonpx","rrelNum","elemdisplay","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssExpand","cssPrefixes","vendorPropName","capName","origName","isHidden","el","css","showHide","show","hidden","css_defaultDisplay","styles","hide","toggle","cssHooks","computed","cssNumber","columnCount","fillOpacity","lineHeight","order","orphans","widows","zIndex","cssProps","float","extra","_computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","setPositiveNumber","subtract","augmentWidthOrHeight","isBorderBox","getWidthOrHeight","valueIsBorderBox","actualDisplay","write","close","$1","visible","margin","padding","border","prefix","suffix","expand","expanded","parts","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","traditional","s","encodeURIComponent","ajaxSettings","buildParams","v","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","ajaxLocParts","ajaxLocation","ajax_nonce","ajax_rquery","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","_load","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","params","response","responseText","complete","status","active","lastModified","etag","isLocal","processData","contentType","accepts","*","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","cacheURL","responseHeadersString","timeoutTimer","fireGlobals","transport","responseHeaders","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","mimeType","code","abort","statusText","finalText","success","method","crossDomain","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","modified","ajaxHandleResponses","ajaxConvert","rejectWith","getJSON","getScript","firstDataType","ct","finalDataType","conv2","current","conv","dataFilter","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","xhrCallbacks","xhrSupported","xhrId","xhrOnUnloadAbort","createStandardXHR","XMLHttpRequest","createActiveXHR","xhr","cors","username","open","xhrFields","firefoxAccessException","unload","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","tween","createTween","unit","scale","maxIterations","createFxNow","animation","collection","Animation","properties","stopped","tick","currentTime","startTime","duration","percent","tweens","run","opts","specialEasing","originalProperties","Tween","easing","gotoEnd","propFilter","timer","anim","tweener","prefilter","oldfire","dataShow","unqueued","overflow","overflowX","overflowY","eased","step","cssFn","speed","animate","genFx","fadeTo","to","optall","doAnimation","finish","stopQueue","timers","includeWidth","height","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","interval","setInterval","clearInterval","slow","fast","animated","offset","setOffset","win","box","getBoundingClientRect","getWindow","pageYOffset","pageXOffset","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","curTop","curLeft","using","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","module","exports","define","amd"],"mappings":"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"}
diff --git a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/LICENSE b/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/LICENSE
deleted file mode 100644
index 6d42c54..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2012-2013 Kit Cambridge.
-http://kitcambridge.be/
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.js b/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.js
deleted file mode 100644
index ea4a0ea..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.js
+++ /dev/null
@@ -1,861 +0,0 @@
-/*! JSON v3.2.6 | http://bestiejs.github.io/json3 | Copyright 2012-2013, Kit Cambridge | http://kit.mit-license.org */
-;(function (window) {
- // Convenience aliases.
- var getClass = {}.toString, isProperty, forEach, undef;
-
- // Detect the `define` function exposed by asynchronous module loaders. The
- // strict `define` check is necessary for compatibility with `r.js`.
- var isLoader = typeof define === "function" && define.amd;
-
- // Detect native implementations.
- var nativeJSON = typeof JSON == "object" && JSON;
-
- // Set up the JSON 3 namespace, preferring the CommonJS `exports` object if
- // available.
- var JSON3 = typeof exports == "object" && exports && !exports.nodeType && exports;
-
- if (JSON3 && nativeJSON) {
- // Explicitly delegate to the native `stringify` and `parse`
- // implementations in CommonJS environments.
- JSON3.stringify = nativeJSON.stringify;
- JSON3.parse = nativeJSON.parse;
- } else {
- // Export for web browsers, JavaScript engines, and asynchronous module
- // loaders, using the global `JSON` object if available.
- JSON3 = window.JSON = nativeJSON || {};
- }
-
- // Test the `Date#getUTC*` methods. Based on work by @Yaffle.
- var isExtended = new Date(-3509827334573292);
- try {
- // The `getUTCFullYear`, `Month`, and `Date` methods return nonsensical
- // results for certain dates in Opera >= 10.53.
- isExtended = isExtended.getUTCFullYear() == -109252 && isExtended.getUTCMonth() === 0 && isExtended.getUTCDate() === 1 &&
- // Safari < 2.0.2 stores the internal millisecond time value correctly,
- // but clips the values returned by the date methods to the range of
- // signed 32-bit integers ([-2 ** 31, 2 ** 31 - 1]).
- isExtended.getUTCHours() == 10 && isExtended.getUTCMinutes() == 37 && isExtended.getUTCSeconds() == 6 && isExtended.getUTCMilliseconds() == 708;
- } catch (exception) {}
-
- // Internal: Determines whether the native `JSON.stringify` and `parse`
- // implementations are spec-compliant. Based on work by Ken Snyder.
- function has(name) {
- if (has[name] !== undef) {
- // Return cached feature test result.
- return has[name];
- }
-
- var isSupported;
- if (name == "bug-string-char-index") {
- // IE <= 7 doesn't support accessing string characters using square
- // bracket notation. IE 8 only supports this for primitives.
- isSupported = "a"[0] != "a";
- } else if (name == "json") {
- // Indicates whether both `JSON.stringify` and `JSON.parse` are
- // supported.
- isSupported = has("json-stringify") && has("json-parse");
- } else {
- var value, serialized = '{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';
- // Test `JSON.stringify`.
- if (name == "json-stringify") {
- var stringify = JSON3.stringify, stringifySupported = typeof stringify == "function" && isExtended;
- if (stringifySupported) {
- // A test function object with a custom `toJSON` method.
- (value = function () {
- return 1;
- }).toJSON = value;
- try {
- stringifySupported =
- // Firefox 3.1b1 and b2 serialize string, number, and boolean
- // primitives as object literals.
- stringify(0) === "0" &&
- // FF 3.1b1, b2, and JSON 2 serialize wrapped primitives as object
- // literals.
- stringify(new Number()) === "0" &&
- stringify(new String()) == '""' &&
- // FF 3.1b1, 2 throw an error if the value is `null`, `undefined`, or
- // does not define a canonical JSON representation (this applies to
- // objects with `toJSON` properties as well, *unless* they are nested
- // within an object or array).
- stringify(getClass) === undef &&
- // IE 8 serializes `undefined` as `"undefined"`. Safari <= 5.1.7 and
- // FF 3.1b3 pass this test.
- stringify(undef) === undef &&
- // Safari <= 5.1.7 and FF 3.1b3 throw `Error`s and `TypeError`s,
- // respectively, if the value is omitted entirely.
- stringify() === undef &&
- // FF 3.1b1, 2 throw an error if the given value is not a number,
- // string, array, object, Boolean, or `null` literal. This applies to
- // objects with custom `toJSON` methods as well, unless they are nested
- // inside object or array literals. YUI 3.0.0b1 ignores custom `toJSON`
- // methods entirely.
- stringify(value) === "1" &&
- stringify([value]) == "[1]" &&
- // Prototype <= 1.6.1 serializes `[undefined]` as `"[]"` instead of
- // `"[null]"`.
- stringify([undef]) == "[null]" &&
- // YUI 3.0.0b1 fails to serialize `null` literals.
- stringify(null) == "null" &&
- // FF 3.1b1, 2 halts serialization if an array contains a function:
- // `[1, true, getClass, 1]` serializes as "[1,true,],". FF 3.1b3
- // elides non-JSON values from objects and arrays, unless they
- // define custom `toJSON` methods.
- stringify([undef, getClass, null]) == "[null,null,null]" &&
- // Simple serialization test. FF 3.1b1 uses Unicode escape sequences
- // where character escape codes are expected (e.g., `\b` => `\u0008`).
- stringify({ "a": [value, true, false, null, "\x00\b\n\f\r\t"] }) == serialized &&
- // FF 3.1b1 and b2 ignore the `filter` and `width` arguments.
- stringify(null, value) === "1" &&
- stringify([1, 2], null, 1) == "[\n 1,\n 2\n]" &&
- // JSON 2, Prototype <= 1.7, and older WebKit builds incorrectly
- // serialize extended years.
- stringify(new Date(-8.64e15)) == '"-271821-04-20T00:00:00.000Z"' &&
- // The milliseconds are optional in ES 5, but required in 5.1.
- stringify(new Date(8.64e15)) == '"+275760-09-13T00:00:00.000Z"' &&
- // Firefox <= 11.0 incorrectly serializes years prior to 0 as negative
- // four-digit years instead of six-digit years. Credits: @Yaffle.
- stringify(new Date(-621987552e5)) == '"-000001-01-01T00:00:00.000Z"' &&
- // Safari <= 5.1.5 and Opera >= 10.53 incorrectly serialize millisecond
- // values less than 1000. Credits: @Yaffle.
- stringify(new Date(-1)) == '"1969-12-31T23:59:59.999Z"';
- } catch (exception) {
- stringifySupported = false;
- }
- }
- isSupported = stringifySupported;
- }
- // Test `JSON.parse`.
- if (name == "json-parse") {
- var parse = JSON3.parse;
- if (typeof parse == "function") {
- try {
- // FF 3.1b1, b2 will throw an exception if a bare literal is provided.
- // Conforming implementations should also coerce the initial argument to
- // a string prior to parsing.
- if (parse("0") === 0 && !parse(false)) {
- // Simple parsing test.
- value = parse(serialized);
- var parseSupported = value["a"].length == 5 && value["a"][0] === 1;
- if (parseSupported) {
- try {
- // Safari <= 5.1.2 and FF 3.1b1 allow unescaped tabs in strings.
- parseSupported = !parse('"\t"');
- } catch (exception) {}
- if (parseSupported) {
- try {
- // FF 4.0 and 4.0.1 allow leading `+` signs and leading
- // decimal points. FF 4.0, 4.0.1, and IE 9-10 also allow
- // certain octal literals.
- parseSupported = parse("01") !== 1;
- } catch (exception) {}
- }
- if (parseSupported) {
- try {
- // FF 4.0, 4.0.1, and Rhino 1.7R3-R4 allow trailing decimal
- // points. These environments, along with FF 3.1b1 and 2,
- // also allow trailing commas in JSON objects and arrays.
- parseSupported = parse("1.") !== 1;
- } catch (exception) {}
- }
- }
- }
- } catch (exception) {
- parseSupported = false;
- }
- }
- isSupported = parseSupported;
- }
- }
- return has[name] = !!isSupported;
- }
-
- if (!has("json")) {
- // Common `[[Class]]` name aliases.
- var functionClass = "[object Function]";
- var dateClass = "[object Date]";
- var numberClass = "[object Number]";
- var stringClass = "[object String]";
- var arrayClass = "[object Array]";
- var booleanClass = "[object Boolean]";
-
- // Detect incomplete support for accessing string characters by index.
- var charIndexBuggy = has("bug-string-char-index");
-
- // Define additional utility methods if the `Date` methods are buggy.
- if (!isExtended) {
- var floor = Math.floor;
- // A mapping between the months of the year and the number of days between
- // January 1st and the first of the respective month.
- var Months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
- // Internal: Calculates the number of days between the Unix epoch and the
- // first day of the given month.
- var getDay = function (year, month) {
- return Months[month] + 365 * (year - 1970) + floor((year - 1969 + (month = +(month > 1))) / 4) - floor((year - 1901 + month) / 100) + floor((year - 1601 + month) / 400);
- };
- }
-
- // Internal: Determines if a property is a direct property of the given
- // object. Delegates to the native `Object#hasOwnProperty` method.
- if (!(isProperty = {}.hasOwnProperty)) {
- isProperty = function (property) {
- var members = {}, constructor;
- if ((members.__proto__ = null, members.__proto__ = {
- // The *proto* property cannot be set multiple times in recent
- // versions of Firefox and SeaMonkey.
- "toString": 1
- }, members).toString != getClass) {
- // Safari <= 2.0.3 doesn't implement `Object#hasOwnProperty`, but
- // supports the mutable *proto* property.
- isProperty = function (property) {
- // Capture and break the object's prototype chain (see section 8.6.2
- // of the ES 5.1 spec). The parenthesized expression prevents an
- // unsafe transformation by the Closure Compiler.
- var original = this.__proto__, result = property in (this.__proto__ = null, this);
- // Restore the original prototype chain.
- this.__proto__ = original;
- return result;
- };
- } else {
- // Capture a reference to the top-level `Object` constructor.
- constructor = members.constructor;
- // Use the `constructor` property to simulate `Object#hasOwnProperty` in
- // other environments.
- isProperty = function (property) {
- var parent = (this.constructor || constructor).prototype;
- return property in this && !(property in parent && this[property] === parent[property]);
- };
- }
- members = null;
- return isProperty.call(this, property);
- };
- }
-
- // Internal: A set of primitive types used by `isHostType`.
- var PrimitiveTypes = {
- 'boolean': 1,
- 'number': 1,
- 'string': 1,
- 'undefined': 1
- };
-
- // Internal: Determines if the given object `property` value is a
- // non-primitive.
- var isHostType = function (object, property) {
- var type = typeof object[property];
- return type == 'object' ? !!object[property] : !PrimitiveTypes[type];
- };
-
- // Internal: Normalizes the `for...in` iteration algorithm across
- // environments. Each enumerated key is yielded to a `callback` function.
- forEach = function (object, callback) {
- var size = 0, Properties, members, property;
-
- // Tests for bugs in the current environment's `for...in` algorithm. The
- // `valueOf` property inherits the non-enumerable flag from
- // `Object.prototype` in older versions of IE, Netscape, and Mozilla.
- (Properties = function () {
- this.valueOf = 0;
- }).prototype.valueOf = 0;
-
- // Iterate over a new instance of the `Properties` class.
- members = new Properties();
- for (property in members) {
- // Ignore all properties inherited from `Object.prototype`.
- if (isProperty.call(members, property)) {
- size++;
- }
- }
- Properties = members = null;
-
- // Normalize the iteration algorithm.
- if (!size) {
- // A list of non-enumerable properties inherited from `Object.prototype`.
- members = ["valueOf", "toString", "toLocaleString", "propertyIsEnumerable", "isPrototypeOf", "hasOwnProperty", "constructor"];
- // IE <= 8, Mozilla 1.0, and Netscape 6.2 ignore shadowed non-enumerable
- // properties.
- forEach = function (object, callback) {
- var isFunction = getClass.call(object) == functionClass, property, length;
- var hasProperty = !isFunction && typeof object.constructor != 'function' && isHostType(object, 'hasOwnProperty') ? object.hasOwnProperty : isProperty;
- for (property in object) {
- // Gecko <= 1.0 enumerates the `prototype` property of functions under
- // certain conditions; IE does not.
- if (!(isFunction && property == "prototype") && hasProperty.call(object, property)) {
- callback(property);
- }
- }
- // Manually invoke the callback for each non-enumerable property.
- for (length = members.length; property = members[--length]; hasProperty.call(object, property) && callback(property));
- };
- } else if (size == 2) {
- // Safari <= 2.0.4 enumerates shadowed properties twice.
- forEach = function (object, callback) {
- // Create a set of iterated properties.
- var members = {}, isFunction = getClass.call(object) == functionClass, property;
- for (property in object) {
- // Store each property name to prevent double enumeration. The
- // `prototype` property of functions is not enumerated due to cross-
- // environment inconsistencies.
- if (!(isFunction && property == "prototype") && !isProperty.call(members, property) && (members[property] = 1) && isProperty.call(object, property)) {
- callback(property);
- }
- }
- };
- } else {
- // No bugs detected; use the standard `for...in` algorithm.
- forEach = function (object, callback) {
- var isFunction = getClass.call(object) == functionClass, property, isConstructor;
- for (property in object) {
- if (!(isFunction && property == "prototype") && isProperty.call(object, property) && !(isConstructor = property === "constructor")) {
- callback(property);
- }
- }
- // Manually invoke the callback for the `constructor` property due to
- // cross-environment inconsistencies.
- if (isConstructor || isProperty.call(object, (property = "constructor"))) {
- callback(property);
- }
- };
- }
- return forEach(object, callback);
- };
-
- // Public: Serializes a JavaScript `value` as a JSON string. The optional
- // `filter` argument may specify either a function that alters how object and
- // array members are serialized, or an array of strings and numbers that
- // indicates which properties should be serialized. The optional `width`
- // argument may be either a string or number that specifies the indentation
- // level of the output.
- if (!has("json-stringify")) {
- // Internal: A map of control characters and their escaped equivalents.
- var Escapes = {
- 92: "\\\\",
- 34: '\\"',
- 8: "\\b",
- 12: "\\f",
- 10: "\\n",
- 13: "\\r",
- 9: "\\t"
- };
-
- // Internal: Converts `value` into a zero-padded string such that its
- // length is at least equal to `width`. The `width` must be <= 6.
- var leadingZeroes = "000000";
- var toPaddedString = function (width, value) {
- // The `|| 0` expression is necessary to work around a bug in
- // Opera <= 7.54u2 where `0 == -0`, but `String(-0) !== "0"`.
- return (leadingZeroes + (value || 0)).slice(-width);
- };
-
- // Internal: Double-quotes a string `value`, replacing all ASCII control
- // characters (characters with code unit values between 0 and 31) with
- // their escaped equivalents. This is an implementation of the
- // `Quote(value)` operation defined in ES 5.1 section 15.12.3.
- var unicodePrefix = "\\u00";
- var quote = function (value) {
- var result = '"', index = 0, length = value.length, isLarge = length > 10 && charIndexBuggy, symbols;
- if (isLarge) {
- symbols = value.split("");
- }
- for (; index < length; index++) {
- var charCode = value.charCodeAt(index);
- // If the character is a control character, append its Unicode or
- // shorthand escape sequence; otherwise, append the character as-is.
- switch (charCode) {
- case 8: case 9: case 10: case 12: case 13: case 34: case 92:
- result += Escapes[charCode];
- break;
- default:
- if (charCode < 32) {
- result += unicodePrefix + toPaddedString(2, charCode.toString(16));
- break;
- }
- result += isLarge ? symbols[index] : charIndexBuggy ? value.charAt(index) : value[index];
- }
- }
- return result + '"';
- };
-
- // Internal: Recursively serializes an object. Implements the
- // `Str(key, holder)`, `JO(value)`, and `JA(value)` operations.
- var serialize = function (property, object, callback, properties, whitespace, indentation, stack) {
- var value, className, year, month, date, time, hours, minutes, seconds, milliseconds, results, element, index, length, prefix, result;
- try {
- // Necessary for host object support.
- value = object[property];
- } catch (exception) {}
- if (typeof value == "object" && value) {
- className = getClass.call(value);
- if (className == dateClass && !isProperty.call(value, "toJSON")) {
- if (value > -1 / 0 && value < 1 / 0) {
- // Dates are serialized according to the `Date#toJSON` method
- // specified in ES 5.1 section 15.9.5.44. See section 15.9.1.15
- // for the ISO 8601 date time string format.
- if (getDay) {
- // Manually compute the year, month, date, hours, minutes,
- // seconds, and milliseconds if the `getUTC*` methods are
- // buggy. Adapted from @Yaffle's `date-shim` project.
- date = floor(value / 864e5);
- for (year = floor(date / 365.2425) + 1970 - 1; getDay(year + 1, 0) <= date; year++);
- for (month = floor((date - getDay(year, 0)) / 30.42); getDay(year, month + 1) <= date; month++);
- date = 1 + date - getDay(year, month);
- // The `time` value specifies the time within the day (see ES
- // 5.1 section 15.9.1.2). The formula `(A % B + B) % B` is used
- // to compute `A modulo B`, as the `%` operator does not
- // correspond to the `modulo` operation for negative numbers.
- time = (value % 864e5 + 864e5) % 864e5;
- // The hours, minutes, seconds, and milliseconds are obtained by
- // decomposing the time within the day. See section 15.9.1.10.
- hours = floor(time / 36e5) % 24;
- minutes = floor(time / 6e4) % 60;
- seconds = floor(time / 1e3) % 60;
- milliseconds = time % 1e3;
- } else {
- year = value.getUTCFullYear();
- month = value.getUTCMonth();
- date = value.getUTCDate();
- hours = value.getUTCHours();
- minutes = value.getUTCMinutes();
- seconds = value.getUTCSeconds();
- milliseconds = value.getUTCMilliseconds();
- }
- // Serialize extended years correctly.
- value = (year <= 0 || year >= 1e4 ? (year < 0 ? "-" : "+") + toPaddedString(6, year < 0 ? -year : year) : toPaddedString(4, year)) +
- "-" + toPaddedString(2, month + 1) + "-" + toPaddedString(2, date) +
- // Months, dates, hours, minutes, and seconds should have two
- // digits; milliseconds should have three.
- "T" + toPaddedString(2, hours) + ":" + toPaddedString(2, minutes) + ":" + toPaddedString(2, seconds) +
- // Milliseconds are optional in ES 5.0, but required in 5.1.
- "." + toPaddedString(3, milliseconds) + "Z";
- } else {
- value = null;
- }
- } else if (typeof value.toJSON == "function" && ((className != numberClass && className != stringClass && className != arrayClass) || isProperty.call(value, "toJSON"))) {
- // Prototype <= 1.6.1 adds non-standard `toJSON` methods to the
- // `Number`, `String`, `Date`, and `Array` prototypes. JSON 3
- // ignores all `toJSON` methods on these objects unless they are
- // defined directly on an instance.
- value = value.toJSON(property);
- }
- }
- if (callback) {
- // If a replacement function was provided, call it to obtain the value
- // for serialization.
- value = callback.call(object, property, value);
- }
- if (value === null) {
- return "null";
- }
- className = getClass.call(value);
- if (className == booleanClass) {
- // Booleans are represented literally.
- return "" + value;
- } else if (className == numberClass) {
- // JSON numbers must be finite. `Infinity` and `NaN` are serialized as
- // `"null"`.
- return value > -1 / 0 && value < 1 / 0 ? "" + value : "null";
- } else if (className == stringClass) {
- // Strings are double-quoted and escaped.
- return quote("" + value);
- }
- // Recursively serialize objects and arrays.
- if (typeof value == "object") {
- // Check for cyclic structures. This is a linear search; performance
- // is inversely proportional to the number of unique nested objects.
- for (length = stack.length; length--;) {
- if (stack[length] === value) {
- // Cyclic structures cannot be serialized by `JSON.stringify`.
- throw TypeError();
- }
- }
- // Add the object to the stack of traversed objects.
- stack.push(value);
- results = [];
- // Save the current indentation level and indent one additional level.
- prefix = indentation;
- indentation += whitespace;
- if (className == arrayClass) {
- // Recursively serialize array elements.
- for (index = 0, length = value.length; index < length; index++) {
- element = serialize(index, value, callback, properties, whitespace, indentation, stack);
- results.push(element === undef ? "null" : element);
- }
- result = results.length ? (whitespace ? "[\n" + indentation + results.join(",\n" + indentation) + "\n" + prefix + "]" : ("[" + results.join(",") + "]")) : "[]";
- } else {
- // Recursively serialize object members. Members are selected from
- // either a user-specified list of property names, or the object
- // itself.
- forEach(properties || value, function (property) {
- var element = serialize(property, value, callback, properties, whitespace, indentation, stack);
- if (element !== undef) {
- // According to ES 5.1 section 15.12.3: "If `gap` {whitespace}
- // is not the empty string, let `member` {quote(property) + ":"}
- // be the concatenation of `member` and the `space` character."
- // The "`space` character" refers to the literal space
- // character, not the `space` {width} argument provided to
- // `JSON.stringify`.
- results.push(quote(property) + ":" + (whitespace ? " " : "") + element);
- }
- });
- result = results.length ? (whitespace ? "{\n" + indentation + results.join(",\n" + indentation) + "\n" + prefix + "}" : ("{" + results.join(",") + "}")) : "{}";
- }
- // Remove the object from the traversed object stack.
- stack.pop();
- return result;
- }
- };
-
- // Public: `JSON.stringify`. See ES 5.1 section 15.12.3.
- JSON3.stringify = function (source, filter, width) {
- var whitespace, callback, properties, className;
- if (typeof filter == "function" || typeof filter == "object" && filter) {
- if ((className = getClass.call(filter)) == functionClass) {
- callback = filter;
- } else if (className == arrayClass) {
- // Convert the property names array into a makeshift set.
- properties = {};
- for (var index = 0, length = filter.length, value; index < length; value = filter[index++], ((className = getClass.call(value)), className == stringClass || className == numberClass) && (properties[value] = 1));
- }
- }
- if (width) {
- if ((className = getClass.call(width)) == numberClass) {
- // Convert the `width` to an integer and create a string containing
- // `width` number of space characters.
- if ((width -= width % 1) > 0) {
- for (whitespace = "", width > 10 && (width = 10); whitespace.length < width; whitespace += " ");
- }
- } else if (className == stringClass) {
- whitespace = width.length <= 10 ? width : width.slice(0, 10);
- }
- }
- // Opera <= 7.54u2 discards the values associated with empty string keys
- // (`""`) only if they are used directly within an object member list
- // (e.g., `!("" in { "": 1})`).
- return serialize("", (value = {}, value[""] = source, value), callback, properties, whitespace, "", []);
- };
- }
-
- // Public: Parses a JSON source string.
- if (!has("json-parse")) {
- var fromCharCode = String.fromCharCode;
-
- // Internal: A map of escaped control characters and their unescaped
- // equivalents.
- var Unescapes = {
- 92: "\\",
- 34: '"',
- 47: "/",
- 98: "\b",
- 116: "\t",
- 110: "\n",
- 102: "\f",
- 114: "\r"
- };
-
- // Internal: Stores the parser state.
- var Index, Source;
-
- // Internal: Resets the parser state and throws a `SyntaxError`.
- var abort = function() {
- Index = Source = null;
- throw SyntaxError();
- };
-
- // Internal: Returns the next token, or `"$"` if the parser has reached
- // the end of the source string. A token may be a string, number, `null`
- // literal, or Boolean literal.
- var lex = function () {
- var source = Source, length = source.length, value, begin, position, isSigned, charCode;
- while (Index < length) {
- charCode = source.charCodeAt(Index);
- switch (charCode) {
- case 9: case 10: case 13: case 32:
- // Skip whitespace tokens, including tabs, carriage returns, line
- // feeds, and space characters.
- Index++;
- break;
- case 123: case 125: case 91: case 93: case 58: case 44:
- // Parse a punctuator token (`{`, `}`, `[`, `]`, `:`, or `,`) at
- // the current position.
- value = charIndexBuggy ? source.charAt(Index) : source[Index];
- Index++;
- return value;
- case 34:
- // `"` delimits a JSON string; advance to the next character and
- // begin parsing the string. String tokens are prefixed with the
- // sentinel `@` character to distinguish them from punctuators and
- // end-of-string tokens.
- for (value = "@", Index++; Index < length;) {
- charCode = source.charCodeAt(Index);
- if (charCode < 32) {
- // Unescaped ASCII control characters (those with a code unit
- // less than the space character) are not permitted.
- abort();
- } else if (charCode == 92) {
- // A reverse solidus (`\`) marks the beginning of an escaped
- // control character (including `"`, `\`, and `/`) or Unicode
- // escape sequence.
- charCode = source.charCodeAt(++Index);
- switch (charCode) {
- case 92: case 34: case 47: case 98: case 116: case 110: case 102: case 114:
- // Revive escaped control characters.
- value += Unescapes[charCode];
- Index++;
- break;
- case 117:
- // `\u` marks the beginning of a Unicode escape sequence.
- // Advance to the first character and validate the
- // four-digit code point.
- begin = ++Index;
- for (position = Index + 4; Index < position; Index++) {
- charCode = source.charCodeAt(Index);
- // A valid sequence comprises four hexdigits (case-
- // insensitive) that form a single hexadecimal value.
- if (!(charCode >= 48 && charCode <= 57 || charCode >= 97 && charCode <= 102 || charCode >= 65 && charCode <= 70)) {
- // Invalid Unicode escape sequence.
- abort();
- }
- }
- // Revive the escaped character.
- value += fromCharCode("0x" + source.slice(begin, Index));
- break;
- default:
- // Invalid escape sequence.
- abort();
- }
- } else {
- if (charCode == 34) {
- // An unescaped double-quote character marks the end of the
- // string.
- break;
- }
- charCode = source.charCodeAt(Index);
- begin = Index;
- // Optimize for the common case where a string is valid.
- while (charCode >= 32 && charCode != 92 && charCode != 34) {
- charCode = source.charCodeAt(++Index);
- }
- // Append the string as-is.
- value += source.slice(begin, Index);
- }
- }
- if (source.charCodeAt(Index) == 34) {
- // Advance to the next character and return the revived string.
- Index++;
- return value;
- }
- // Unterminated string.
- abort();
- default:
- // Parse numbers and literals.
- begin = Index;
- // Advance past the negative sign, if one is specified.
- if (charCode == 45) {
- isSigned = true;
- charCode = source.charCodeAt(++Index);
- }
- // Parse an integer or floating-point value.
- if (charCode >= 48 && charCode <= 57) {
- // Leading zeroes are interpreted as octal literals.
- if (charCode == 48 && ((charCode = source.charCodeAt(Index + 1)), charCode >= 48 && charCode <= 57)) {
- // Illegal octal literal.
- abort();
- }
- isSigned = false;
- // Parse the integer component.
- for (; Index < length && ((charCode = source.charCodeAt(Index)), charCode >= 48 && charCode <= 57); Index++);
- // Floats cannot contain a leading decimal point; however, this
- // case is already accounted for by the parser.
- if (source.charCodeAt(Index) == 46) {
- position = ++Index;
- // Parse the decimal component.
- for (; position < length && ((charCode = source.charCodeAt(position)), charCode >= 48 && charCode <= 57); position++);
- if (position == Index) {
- // Illegal trailing decimal.
- abort();
- }
- Index = position;
- }
- // Parse exponents. The `e` denoting the exponent is
- // case-insensitive.
- charCode = source.charCodeAt(Index);
- if (charCode == 101 || charCode == 69) {
- charCode = source.charCodeAt(++Index);
- // Skip past the sign following the exponent, if one is
- // specified.
- if (charCode == 43 || charCode == 45) {
- Index++;
- }
- // Parse the exponential component.
- for (position = Index; position < length && ((charCode = source.charCodeAt(position)), charCode >= 48 && charCode <= 57); position++);
- if (position == Index) {
- // Illegal empty exponent.
- abort();
- }
- Index = position;
- }
- // Coerce the parsed value to a JavaScript number.
- return +source.slice(begin, Index);
- }
- // A negative sign may only precede numbers.
- if (isSigned) {
- abort();
- }
- // `true`, `false`, and `null` literals.
- if (source.slice(Index, Index + 4) == "true") {
- Index += 4;
- return true;
- } else if (source.slice(Index, Index + 5) == "false") {
- Index += 5;
- return false;
- } else if (source.slice(Index, Index + 4) == "null") {
- Index += 4;
- return null;
- }
- // Unrecognized token.
- abort();
- }
- }
- // Return the sentinel `$` character if the parser has reached the end
- // of the source string.
- return "$";
- };
-
- // Internal: Parses a JSON `value` token.
- var get = function (value) {
- var results, hasMembers;
- if (value == "$") {
- // Unexpected end of input.
- abort();
- }
- if (typeof value == "string") {
- if ((charIndexBuggy ? value.charAt(0) : value[0]) == "@") {
- // Remove the sentinel `@` character.
- return value.slice(1);
- }
- // Parse object and array literals.
- if (value == "[") {
- // Parses a JSON array, returning a new JavaScript array.
- results = [];
- for (;; hasMembers || (hasMembers = true)) {
- value = lex();
- // A closing square bracket marks the end of the array literal.
- if (value == "]") {
- break;
- }
- // If the array literal contains elements, the current token
- // should be a comma separating the previous element from the
- // next.
- if (hasMembers) {
- if (value == ",") {
- value = lex();
- if (value == "]") {
- // Unexpected trailing `,` in array literal.
- abort();
- }
- } else {
- // A `,` must separate each array element.
- abort();
- }
- }
- // Elisions and leading commas are not permitted.
- if (value == ",") {
- abort();
- }
- results.push(get(value));
- }
- return results;
- } else if (value == "{") {
- // Parses a JSON object, returning a new JavaScript object.
- results = {};
- for (;; hasMembers || (hasMembers = true)) {
- value = lex();
- // A closing curly brace marks the end of the object literal.
- if (value == "}") {
- break;
- }
- // If the object literal contains members, the current token
- // should be a comma separator.
- if (hasMembers) {
- if (value == ",") {
- value = lex();
- if (value == "}") {
- // Unexpected trailing `,` in object literal.
- abort();
- }
- } else {
- // A `,` must separate each object member.
- abort();
- }
- }
- // Leading commas are not permitted, object property names must be
- // double-quoted strings, and a `:` must separate each property
- // name and value.
- if (value == "," || typeof value != "string" || (charIndexBuggy ? value.charAt(0) : value[0]) != "@" || lex() != ":") {
- abort();
- }
- results[value.slice(1)] = get(lex());
- }
- return results;
- }
- // Unexpected token encountered.
- abort();
- }
- return value;
- };
-
- // Internal: Updates a traversed object member.
- var update = function(source, property, callback) {
- var element = walk(source, property, callback);
- if (element === undef) {
- delete source[property];
- } else {
- source[property] = element;
- }
- };
-
- // Internal: Recursively traverses a parsed JSON object, invoking the
- // `callback` function for each value. This is an implementation of the
- // `Walk(holder, name)` operation defined in ES 5.1 section 15.12.2.
- var walk = function (source, property, callback) {
- var value = source[property], length;
- if (typeof value == "object" && value) {
- // `forEach` can't be used to traverse an array in Opera <= 8.54
- // because its `Object#hasOwnProperty` implementation returns `false`
- // for array indices (e.g., `![1, 2, 3].hasOwnProperty("0")`).
- if (getClass.call(value) == arrayClass) {
- for (length = value.length; length--;) {
- update(value, length, callback);
- }
- } else {
- forEach(value, function (property) {
- update(value, property, callback);
- });
- }
- }
- return callback.call(source, property, value);
- };
-
- // Public: `JSON.parse`. See ES 5.1 section 15.12.2.
- JSON3.parse = function (source, callback) {
- var result, value;
- Index = 0;
- Source = "" + source;
- result = get(lex());
- // If a JSON string contains multiple tokens, it is invalid.
- if (lex() != "$") {
- abort();
- }
- // Reset the parser state.
- Index = Source = null;
- return callback && getClass.call(callback) == functionClass ? walk((value = {}, value[""] = result, value), "", callback) : result;
- };
- }
- }
-
- // Export for asynchronous module loaders.
- if (isLoader) {
- define(function () {
- return JSON3;
- });
- }
-}(this));
diff --git a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.min.js b/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.min.js
deleted file mode 100644
index f9a45ce..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/json3_3.2.6/lib/json3.min.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*! JSON v3.2.6 | http://bestiejs.github.io/json3 | Copyright 2012-2013, Kit Cambridge | http://kit.mit-license.org */
-;(function(){var n=null;
-(function(G){function m(a){if(m[a]!==s)return m[a];var c;if("bug-string-char-index"==a)c="a"!="a"[0];else if("json"==a)c=m("json-stringify")&&m("json-parse");else{var e;if("json-stringify"==a){c=o.stringify;var b="function"==typeof c&&l;if(b){(e=function(){return 1}).toJSON=e;try{b="0"===c(0)&&"0"===c(new Number)&&'""'==c(new String)&&c(p)===s&&c(s)===s&&c()===s&&"1"===c(e)&&"[1]"==c([e])&&"[null]"==c([s])&&"null"==c(n)&&"[null,null,null]"==c([s,p,n])&&'{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}'==c({a:[e,
-!0,!1,n,"\x00\u0008\n\u000c\r\t"]})&&"1"===c(n,e)&&"[\n 1,\n 2\n]"==c([1,2],n,1)&&'"-271821-04-20T00:00:00.000Z"'==c(new Date(-864E13))&&'"+275760-09-13T00:00:00.000Z"'==c(new Date(864E13))&&'"-000001-01-01T00:00:00.000Z"'==c(new Date(-621987552E5))&&'"1969-12-31T23:59:59.999Z"'==c(new Date(-1))}catch(f){b=!1}}c=b}if("json-parse"==a){c=o.parse;if("function"==typeof c)try{if(0===c("0")&&!c(!1)){e=c('{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}');var j=5==e.a.length&&1===e.a[0];if(j){try{j=!c('"\t"')}catch(d){}if(j)try{j=
-1!==c("01")}catch(h){}if(j)try{j=1!==c("1.")}catch(k){}}}}catch(N){j=!1}c=j}}return m[a]=!!c}var p={}.toString,q,x,s,H=typeof define==="function"&&define.amd,y="object"==typeof JSON&&JSON,o="object"==typeof exports&&exports&&!exports.nodeType&&exports;o&&y?(o.stringify=y.stringify,o.parse=y.parse):o=G.JSON=y||{};var l=new Date(-3509827334573292);try{l=-109252==l.getUTCFullYear()&&0===l.getUTCMonth()&&1===l.getUTCDate()&&10==l.getUTCHours()&&37==l.getUTCMinutes()&&6==l.getUTCSeconds()&&708==l.getUTCMilliseconds()}catch(O){}if(!m("json")){var t=
-m("bug-string-char-index");if(!l)var u=Math.floor,I=[0,31,59,90,120,151,181,212,243,273,304,334],z=function(a,c){return I[c]+365*(a-1970)+u((a-1969+(c=+(c>1)))/4)-u((a-1901+c)/100)+u((a-1601+c)/400)};if(!(q={}.hasOwnProperty))q=function(a){var c={},e;if((c.__proto__=n,c.__proto__={toString:1},c).toString!=p)q=function(a){var c=this.__proto__,a=a in(this.__proto__=n,this);this.__proto__=c;return a};else{e=c.constructor;q=function(a){var c=(this.constructor||e).prototype;return a in this&&!(a in c&&
-this[a]===c[a])}}c=n;return q.call(this,a)};var J={"boolean":1,number:1,string:1,undefined:1};x=function(a,c){var e=0,b,f,j;(b=function(){this.valueOf=0}).prototype.valueOf=0;f=new b;for(j in f)q.call(f,j)&&e++;b=f=n;if(e)x=e==2?function(a,c){var e={},b=p.call(a)=="[object Function]",f;for(f in a)!(b&&f=="prototype")&&!q.call(e,f)&&(e[f]=1)&&q.call(a,f)&&c(f)}:function(a,c){var e=p.call(a)=="[object Function]",b,f;for(b in a)!(e&&b=="prototype")&&q.call(a,b)&&!(f=b==="constructor")&&c(b);(f||q.call(a,
-b="constructor"))&&c(b)};else{f=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"];x=function(a,c){var e=p.call(a)=="[object Function]",b,g;if(g=!e)if(g=typeof a.constructor!="function"){g=typeof a.hasOwnProperty;g=g=="object"?!!a.hasOwnProperty:!J[g]}g=g?a.hasOwnProperty:q;for(b in a)!(e&&b=="prototype")&&g.call(a,b)&&c(b);for(e=f.length;b=f[--e];g.call(a,b)&&c(b));}}return x(a,c)};if(!m("json-stringify")){var K={92:"\\\\",34:'\\"',8:"\\b",
-12:"\\f",10:"\\n",13:"\\r",9:"\\t"},v=function(a,c){return("000000"+(c||0)).slice(-a)},D=function(a){var c='"',b=0,g=a.length,f=g>10&&t,j;for(f&&(j=a.split(""));b
-1/0&&h<1/0){if(z){l=u(h/864E5);for(k=u(l/365.2425)+1970-1;z(k+1,0)<=l;k++);for(i=u((l-z(k,0))/30.42);z(k,i+1)<=l;i++);l=1+l-z(k,i);m=(h%864E5+864E5)%864E5;o=u(m/36E5)%24;r=u(m/6E4)%60;t=u(m/1E3)%60;m=m%1E3}else{k=h.getUTCFullYear();i=h.getUTCMonth();l=h.getUTCDate();o=h.getUTCHours();r=h.getUTCMinutes();t=h.getUTCSeconds();m=h.getUTCMilliseconds()}h=(k<=0||k>=1E4?(k<0?"-":"+")+v(6,k<0?-k:k):v(4,k))+"-"+v(2,i+1)+"-"+v(2,l)+"T"+v(2,o)+":"+v(2,r)+":"+v(2,t)+"."+v(3,m)+"Z"}else h=
-n;else if(typeof h.toJSON=="function"&&(k!="[object Number]"&&k!="[object String]"&&k!="[object Array]"||q.call(h,"toJSON")))h=h.toJSON(a)}b&&(h=b.call(c,a,h));if(h===n)return"null";k=p.call(h);if(k=="[object Boolean]")return""+h;if(k=="[object Number]")return h>-1/0&&h<1/0?""+h:"null";if(k=="[object String]")return D(""+h);if(typeof h=="object"){for(a=d.length;a--;)if(d[a]===h)throw TypeError();d.push(h);w=[];c=j;j=j+f;if(k=="[object Array]"){i=0;for(a=h.length;i0){g="";for(b>10&&(b=10);g.length=48&&d<=57||d>=97&&d<=102||d>=65&&d<=70||i()}e=e+L("0x"+a.slice(g,b));break;default:i()}}else{if(d==34)break;d=a.charCodeAt(b);for(g=b;d>=32&&d!=92&&d!=34;)d=a.charCodeAt(++b);
-e=e+a.slice(g,b)}}if(a.charCodeAt(b)==34){b++;return e}i();default:g=b;if(d==45){j=true;d=a.charCodeAt(++b)}if(d>=48&&d<=57){for(d==48&&(d=a.charCodeAt(b+1),d>=48&&d<=57)&&i();b=48&&d<=57);b++);if(a.charCodeAt(b)==46){for(f=++b;f=48&&d<=57);f++);f==b&&i();b=f}d=a.charCodeAt(b);if(d==101||d==69){d=a.charCodeAt(++b);(d==43||d==45)&&b++;for(f=b;f=48&&d<=57);f++);f==b&&i();b=f}return+a.slice(g,b)}j&&i();if(a.slice(b,b+4)=="true"){b=
-b+4;return true}if(a.slice(b,b+5)=="false"){b=b+5;return false}if(a.slice(b,b+4)=="null"){b=b+4;return n}i()}}return"$"},C=function(a){var c,b;a=="$"&&i();if(typeof a=="string"){if((t?a.charAt(0):a[0])=="@")return a.slice(1);if(a=="["){for(c=[];;b||(b=true)){a=r();if(a=="]")break;if(b)if(a==","){a=r();a=="]"&&i()}else i();a==","&&i();c.push(C(a))}return c}if(a=="{"){for(c={};;b||(b=true)){a=r();if(a=="}")break;if(b)if(a==","){a=r();a=="}"&&i()}else i();(a==","||typeof a!="string"||(t?a.charAt(0):
-a[0])!="@"||r()!=":")&&i();c[a.slice(1)]=C(r())}return c}i()}return a},F=function(a,b,e){e=E(a,b,e);e===s?delete a[b]:a[b]=e},E=function(a,b,e){var g=a[b],f;if(typeof g=="object"&&g)if(p.call(g)=="[object Array]")for(f=g.length;f--;)F(g,f,e);else x(g,function(a){F(g,a,e)});return e.call(a,b,g)};o.parse=function(a,c){var e,g;b=0;A=""+a;e=C(r());r()!="$"&&i();b=A=n;return c&&p.call(c)=="[object Function]"?E((g={},g[""]=e,g),"",c):e}}}H&&define(function(){return o})})(this);
-}());
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/momentjs_2.5.1/momentjs.min.js b/adc-da-main/target/classes/static/editor-app/libs/momentjs_2.5.1/momentjs.min.js
deleted file mode 100644
index 29e1cef..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/momentjs_2.5.1/momentjs.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//! moment.js
-//! version : 2.5.1
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-(function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){return function(c){return k(a.call(this,c),b)}}function d(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function e(){}function f(a){w(a),h(this,a)}function g(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function h(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function i(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&qb.hasOwnProperty(b)&&(c[b]=a[b]);return c}function j(a){return 0>a?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&s(a[d])!==s(b[d]))&&g++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().utc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&&a%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-"):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&&rb)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&o(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(wb.lastIndex=0;d>=0&&wb.test(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"DDDD":return Ib;case"YYYY":case"GGGG":case"gggg":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Kb:Ab;case"S":if(d)return Gb;case"SS":if(d)return Hb;case"SSS":if(d)return Ib;case"DDD":return yb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Cb;case"a":case"A":return C(b._l)._meridiemParse;case"X":return Fb;case"Z":case"ZZ":return Db;case"T":return Eb;case"SSSS":return Bb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Hb:xb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return xb;default:return c=new RegExp(P(O(a.replace("\\","")),"i"))}}function I(a){a=a||"";var b=a.match(Db)||[],c=b[b.length-1]||[],d=(c+"").match(Qb)||["-",0,0],e=+(60*d[1])+s(d[2]);return"+"===d[0]?-e:e}function J(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[jb]=s(b)-1);break;case"MMM":case"MMMM":d=C(c._l).monthsParse(b),null!=d?e[jb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[kb]=s(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=s(b));break;case"YY":e[ib]=s(b)+(s(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ib]=s(b);break;case"a":case"A":c._isPm=C(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[lb]=s(b);break;case"m":case"mm":e[mb]=s(b);break;case"s":case"ss":e[nb]=s(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ob]=s(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=I(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function K(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=M(a),a._w&&null==a._a[kb]&&null==a._a[jb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ib]?db().weekYear():a._a[ib]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Z(f(g.GG),g.W||1,g.E,4,1):(i=C(a._l),j=null!=g.d?V(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&ju(e)&&(a._pf._overflowDayOfYear=!0),c=U(e,0,a._dayOfYear),a._a[jb]=c.getUTCMonth(),a._a[kb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[lb]+=s((a._tzm||0)/60),l[mb]+=s((a._tzm||0)%60),a._d=(a._useUTC?U:T).apply(null,l)}}function L(a){var b;a._d||(b=q(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],K(a))}function M(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function N(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=C(a._l),h=""+a._i,i=h.length,j=0;for(d=G(a._f,g).match(vb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Yb[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),J(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[lb]<12&&(a._a[lb]+=12),a._isPm===!1&&12===a._a[lb]&&(a._a[lb]=0),K(a),w(a)}function O(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function P(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,a._d=new Date(0/0),void 0;for(f=0;fg)&&(e=g,d=c));h(a,d||c)}function R(a){var b,c,d=a._i,e=Mb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Ob.length;c>b;b++)if(Ob[b][1].exec(d)){a._f=Ob[b][0]+(e[6]||" ");break}for(b=0,c=Pb.length;c>b;b++)if(Pb[b][1].exec(d)){a._f+=Pb[b][0];break}d.match(Db)&&(a._f+="Z"),N(a)}else a._d=new Date(d)}function S(b){var c=b._i,d=sb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?R(b):m(c)?(b._a=c.slice(0),K(b)):n(c)?b._d=new Date(+c):"object"==typeof c?L(b):b._d=new Date(c)}function T(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function U(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function V(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function W(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function X(a,b,c){var d=hb(Math.abs(a)/1e3),e=hb(d/60),f=hb(e/60),g=hb(f/24),h=hb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",hb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,W.apply({},i)}function Y(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=db(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Z(a,b,c,d,e){var f,g,h=U(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:u(a-1)+g}}function $(a){var b=a._i,c=a._f;return null===b?db.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=C().preparse(b)),db.isMoment(b)?(a=i(b),a._d=new Date(+b._d)):c?m(c)?Q(a):N(a):S(a),new f(a))}function _(a,b){db.fn[a]=db.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),db.updateOffset(this),this):this._d["get"+c+b]()}}function ab(a){db.duration.fn[a]=function(){return this._data[a]}}function bb(a,b){db.duration.fn["as"+a]=function(){return+this/b}}function cb(a){var b=!1,c=db;"undefined"==typeof ender&&(a?(gb.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)},h(gb.moment,c)):gb.moment=db)}for(var db,eb,fb="2.5.1",gb=this,hb=Math.round,ib=0,jb=1,kb=2,lb=3,mb=4,nb=5,ob=6,pb={},qb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},rb="undefined"!=typeof module&&module.exports&&"undefined"!=typeof require,sb=/^\/?Date\((\-?\d+)/i,tb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ub=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,vb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,wb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,xb=/\d\d?/,yb=/\d{1,3}/,zb=/\d{1,4}/,Ab=/[+\-]?\d{1,6}/,Bb=/\d+/,Cb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Db=/Z|[\+\-]\d\d:?\d\d/gi,Eb=/T/i,Fb=/[\+\-]?\d+(\.\d{1,3})?/,Gb=/\d/,Hb=/\d\d/,Ib=/\d{3}/,Jb=/\d{4}/,Kb=/[+-]?\d{6}/,Lb=/[+-]?\d+/,Mb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nb="YYYY-MM-DDTHH:mm:ssZ",Ob=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Pb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Qb=/([\+\-]|\d\d)/gi,Rb="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Sb={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Tb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Ub={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Vb={},Wb="DDD w W M D d".split(" "),Xb="M D H h m s w W".split(" "),Yb={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+k(Math.abs(a),6)},gg:function(){return k(this.weekYear()%100,2)},gggg:function(){return k(this.weekYear(),4)},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return k(this.isoWeekYear(),4)},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return s(this.milliseconds()/100)},SS:function(){return k(s(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+":"+k(s(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+k(s(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Zb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Wb.length;)eb=Wb.pop(),Yb[eb+"o"]=d(Yb[eb],eb);for(;Xb.length;)eb=Xb.pop(),Yb[eb+eb]=c(Yb[eb],2);for(Yb.DDDD=c(Yb.DDD,3),h(e.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=db.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=db([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return Y(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),db=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),$(g)},db.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),$(g).utc()},db.unix=function(a){return db(1e3*a)},db.duration=function(a,b){var c,d,e,f=a,h=null;return db.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=tb.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:s(h[kb])*c,h:s(h[lb])*c,m:s(h[mb])*c,s:s(h[nb])*c,ms:s(h[ob])*c}):(h=ub.exec(a))&&(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}),d=new g(f),db.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},db.version=fb,db.defaultFormat=Nb,db.updateOffset=function(){},db.lang=function(a,b){var c;return a?(b?A(y(a),b):null===b?(B(a),a="en"):pb[a]||C(a),c=db.duration.fn._lang=db.fn._lang=C(a),c._abbr):db.fn._lang._abbr},db.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),C(a)},db.isMoment=function(a){return a instanceof f||null!=a&&a.hasOwnProperty("_isAMomentObject")},db.isDuration=function(a){return a instanceof g},eb=Zb.length-1;eb>=0;--eb)r(Zb[eb]);for(db.normalizeUnits=function(a){return p(a)},db.invalid=function(a){var b=db.utc(0/0);return null!=a?h(b._pf,a):b._pf.userInvalidated=!0,b},db.parseZone=function(a){return db(a).parseZone()},h(db.fn=f.prototype,{clone:function(){return db(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=db(this).utc();return 00:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=F(this,a||db.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,-1),this},diff:function(a,b,c){var d,e,f=z(a,this),g=6e4*(this.zone()-f.zone());return b=p(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-db(this).startOf("month")-(f-db(f).startOf("month")))/d,e-=6e4*(this.zone()-db(this).startOf("month").zone()-(f.zone()-db(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:j(e)},from:function(a,b){return db.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(db(),a)},calendar:function(){var a=z(db(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return v(this.year())},isDST:function(){return this.zone()+db(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+db(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+z(a,this).startOf(b)},min:function(a){return a=db.apply(null,arguments),this>a?this:a},max:function(a){return a=db.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=I(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&l(this,db.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?db(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return t(this.year(),this.month())},dayOfYear:function(a){var b=hb((db(this).startOf("day")-db(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=Y(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=Y(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=Y(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=p(a),this[a]()},set:function(a,b){return a=p(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=C(b),this)}}),eb=0;ebg||h.hasOwnProperty(g)&&(p[h[g]]=g)}e=p[c]?"keydown":"keypress"}"keypress"==e&&f.length&&(e="keydown");return{key:d,modifiers:f,action:e}}function F(a,b,c,d,e){q[a+":"+c]=b;a=a.replace(/\s+/g," ");var f=a.split(" ");1":".","?":"/","|":"\\"},G={option:"alt",command:"meta","return":"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},p,l={},q={},n={},D,z=!1,I=!1,u=!1;for(f=1;20>f;++f)h[111+f]="f"+f;for(f=0;9>=f;++f)h[f+96]=f;s(r,"keypress",y);s(r,"keydown",y);s(r,"keyup",y);var m={bind:function(a,b,c){a=a instanceof Array?a:[a];for(var d=0;d/;e.ngGrid={},e.ngGrid.i18n={},angular.module("ngGrid.services",[]);var p=angular.module("ngGrid.directives",[]),m=angular.module("ngGrid.filters",[]);angular.module("ngGrid",["ngGrid.services","ngGrid.directives","ngGrid.filters"]);var v=function(e,t,o,i){if(void 0===e.selectionProvider.selectedItems)return!0;var r,l=o.which||o.keyCode,a=!1,s=!1,c=void 0===e.selectionProvider.lastClickedRow?1:e.selectionProvider.lastClickedRow.rowIndex,g=e.columns.filter(function(e){return e.visible}),d=e.columns.filter(function(e){return e.pinned});if(e.col&&(r=g.indexOf(e.col)),37!==l&&38!==l&&39!==l&&40!==l&&9!==l&&13!==l)return!0;if(e.enableCellSelection){9===l&&o.preventDefault();var u=e.showSelectionCheckbox?1===e.col.index:0===e.col.index,f=1===e.$index||0===e.$index,h=e.$index===e.renderedColumns.length-1||e.$index===e.renderedColumns.length-2,p=g.indexOf(e.col)===g.length-1,m=d.indexOf(e.col)===d.length-1;if(37===l||9===l&&o.shiftKey){var v=0;u||(r-=1),f?u&&9===l&&o.shiftKey?(v=i.$canvas.width(),r=g.length-1,s=!0):v=i.$viewport.scrollLeft()-e.col.width:d.length>0&&(v=i.$viewport.scrollLeft()-g[r].width),i.$viewport.scrollLeft(v)}else(39===l||9===l&&!o.shiftKey)&&(h?p&&9===l&&!o.shiftKey?(i.$viewport.scrollLeft(0),r=e.showSelectionCheckbox?1:0,a=!0):i.$viewport.scrollLeft(i.$viewport.scrollLeft()+e.col.width):m&&i.$viewport.scrollLeft(0),p||(r+=1))}var w;w=e.configGroups.length>0?i.rowFactory.parsedData.filter(function(e){return!e.isAggRow}):i.filteredRows;var C=0;if(0!==c&&(38===l||13===l&&o.shiftKey||9===l&&o.shiftKey&&s)?C=-1:c!==w.length-1&&(40===l||13===l&&!o.shiftKey||9===l&&a)&&(C=1),C){var b=w[c+C];b.beforeSelectionChange(b,o)&&(b.continueSelection(o),e.$emit("ngGridEventDigestGridParent"),e.selectionProvider.lastClickedRow.renderedRowIndex>=e.renderedRows.length-n-2?i.$viewport.scrollTop(i.$viewport.scrollTop()+e.rowHeight):n+2>=e.selectionProvider.lastClickedRow.renderedRowIndex&&i.$viewport.scrollTop(i.$viewport.scrollTop()-e.rowHeight))}return e.enableCellSelection&&setTimeout(function(){e.domAccessProvider.focusCellElement(e,e.renderedColumns.indexOf(g[r]))},3),!1};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var t=this.length>>>0,n=Number(arguments[1])||0;for(n=0>n?Math.ceil(n):Math.floor(n),0>n&&(n+=t);t>n;n++)if(n in this&&this[n]===e)return n;return-1}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var o=[],i=arguments[1],r=0;n>r;r++)if(r in t){var l=t[r];e.call(i,l,r,t)&&o.push(l)}return o}),m.filter("checkmark",function(){return function(e){return e?"✔":"✘"}}),m.filter("ngColumns",function(){return function(e){return e.filter(function(e){return!e.isAggCol})}}),angular.module("ngGrid.services").factory("$domUtilityService",["$utilityService",function(e){var n={},o={},i=function(){var e=t("
");e.appendTo("body"),e.height(100).width(100).css("position","absolute").css("overflow","scroll"),e.append('
'),n.ScrollH=e.height()-e[0].clientHeight,n.ScrollW=e.width()-e[0].clientWidth,e.empty(),e.attr("style",""),e.append('M '),n.LetterW=e.children().first().width(),e.remove()};return n.eventStorage={},n.AssignGridContainers=function(e,o,i){i.$root=t(o),i.$topPanel=i.$root.find(".ngTopPanel"),i.$groupPanel=i.$root.find(".ngGroupPanel"),i.$headerContainer=i.$topPanel.find(".ngHeaderContainer"),e.$headerContainer=i.$headerContainer,i.$headerScroller=i.$topPanel.find(".ngHeaderScroller"),i.$headers=i.$headerScroller.children(),i.$viewport=i.$root.find(".ngViewport"),i.$canvas=i.$viewport.find(".ngCanvas"),i.$footerPanel=i.$root.find(".ngFooterPanel"),e.$watch(function(){return i.$viewport.scrollLeft()},function(e){return i.$headerContainer.scrollLeft(e)}),n.UpdateGridLayout(e,i)},n.getRealWidth=function(e){var n=0,o={visibility:"hidden",display:"block"},i=e.parents().andSelf().not(":visible");return t.swap(i[0],o,function(){n=e.outerWidth()}),n},n.UpdateGridLayout=function(e,t){var o=t.$viewport.scrollTop();t.elementDims.rootMaxW=t.$root.width(),t.$root.is(":hidden")&&(t.elementDims.rootMaxW=n.getRealWidth(t.$root)),t.elementDims.rootMaxH=t.$root.height(),t.refreshDomSizes(),e.adjustScrollTop(o,!0)},n.numberOfGrids=0,n.BuildStyles=function(o,i,r){var l,a=i.config.rowHeight,s=i.$styleSheet,c=i.gridId,g=o.columns,d=0;s||(s=t("#"+c),s[0]||(s=t("").appendTo(i.$root))),s.empty();var u=o.totalRowWidth();l="."+c+" .ngCanvas { width: "+u+"px; }"+"."+c+" .ngRow { width: "+u+"px; }"+"."+c+" .ngCanvas { width: "+u+"px; }"+"."+c+" .ngHeaderScroller { width: "+(u+n.ScrollH)+"px}";for(var f=0;g.length>f;f++){var h=g[f];h.visible!==!1&&(l+="."+c+" .col"+f+" { width: "+h.width+"px; left: "+d+"px; height: "+a+"px }"+"."+c+" .colt"+f+" { width: "+h.width+"px; }",d+=h.width)}e.isIe?s[0].styleSheet.cssText=l:s[0].appendChild(document.createTextNode(l)),i.$styleSheet=s,o.adjustScrollLeft(i.$viewport.scrollLeft()),r&&n.digest(o)},n.setColLeft=function(t,n,i){if(i.$styleSheet){var r=o[t.index];r||(r=o[t.index]=RegExp(".col"+t.index+" { width: [0-9]+px; left: [0-9]+px"));var l=i.$styleSheet.html(),a=l.replace(r,".col"+t.index+" { width: "+t.width+"px; left: "+n+"px");e.isIe?setTimeout(function(){i.$styleSheet.html(a)}):i.$styleSheet.html(a)}},n.setColLeft.immediate=1,n.RebuildGrid=function(e,t){n.UpdateGridLayout(e,t),(null==t.config.maintainColumnRatios||t.config.maintainColumnRatios)&&t.configureColumnWidths(),e.adjustScrollLeft(t.$viewport.scrollLeft()),n.BuildStyles(e,t,!0)},n.digest=function(e){e.$root.$$phase||e.$digest()},n.ScrollH=17,n.ScrollW=17,n.LetterW=10,i(),n}]),angular.module("ngGrid.services").factory("$sortService",["$parse",function(e){var t={};return t.colSortFnCache={},t.guessSortFn=function(e){var n=typeof e;switch(n){case"number":return t.sortNumber;case"boolean":return t.sortBool;case"string":return e.match(/^[-+]?[£$¤]?[\d,.]+%?$/)?t.sortNumberStr:t.sortAlpha;default:return"[object Date]"===Object.prototype.toString.call(e)?t.sortDate:t.basicSort}},t.basicSort=function(e,t){return e===t?0:t>e?-1:1},t.sortNumber=function(e,t){return e-t},t.sortNumberStr=function(e,t){var n,o,i=!1,r=!1;return n=parseFloat(e.replace(/[^0-9.-]/g,"")),isNaN(n)&&(i=!0),o=parseFloat(t.replace(/[^0-9.-]/g,"")),isNaN(o)&&(r=!0),i&&r?0:i?1:r?-1:n-o},t.sortAlpha=function(e,t){var n=e.toLowerCase(),o=t.toLowerCase();return n===o?0:o>n?-1:1},t.sortDate=function(e,t){var n=e.getTime(),o=t.getTime();return n===o?0:o>n?-1:1},t.sortBool=function(e,t){return e&&t?0:e||t?e?1:-1:0},t.sortData=function(n,o){if(o&&n){var r,l,a=n.fields.length,s=n.fields,c=o.slice(0);o.sort(function(o,g){for(var d,u=0,f=0;0===u&&a>f;){r=n.columns[f],l=n.directions[f],d=t.getSortFn(r,c);var h=e(s[f])(o),p=e(s[f])(g);!h&&0!==h||!p&&0!==p?p||h?h?p||(u=-1):u=1:u=0:u=d(h,p),f++}return l===i?u:0-u})}},t.Sort=function(e,n){t.isSorting||(t.isSorting=!0,t.sortData(e,n),t.isSorting=!1)},t.getSortFn=function(n,o){var i,r;if(t.colSortFnCache[n.field])i=t.colSortFnCache[n.field];else if(void 0!==n.sortingAlgorithm)i=n.sortingAlgorithm,t.colSortFnCache[n.field]=n.sortingAlgorithm;else{if(r=o[0],!r)return i;i=t.guessSortFn(e(n.field)(r)),i?t.colSortFnCache[n.field]=i:i=t.sortAlpha}return i},t}]),angular.module("ngGrid.services").factory("$utilityService",["$parse",function(n){var o=/function (.{1,})\(/,i={visualLength:function(e){var n=document.getElementById("testDataLength");return n||(n=document.createElement("SPAN"),n.id="testDataLength",n.style.visibility="hidden",document.body.appendChild(n)),t(n).css("font",t(e).css("font")),t(n).css("font-size",t(e).css("font-size")),t(n).css("font-family",t(e).css("font-family")),n.innerHTML=t(e).text(),n.offsetWidth},forIn:function(e,t){for(var n in e)e.hasOwnProperty(n)&&t(e[n],n)},evalProperty:function(e,t){return n(t)(e)},endsWith:function(e,t){return e&&t&&"string"==typeof e?-1!==e.indexOf(t,e.length-t.length):!1},isNullOrUndefined:function(e){return void 0===e||null===e?!0:!1},getElementsByClassName:function(e){for(var t=[],n=RegExp("\\b"+e+"\\b"),o=document.getElementsByTagName("*"),i=0;o.length>i;i++){var r=o[i].className;n.test(r)&&t.push(o[i])}return t},newId:function(){var e=(new Date).getTime();return function(){return e+=1}}(),seti18n:function(t,n){var o=e.ngGrid.i18n[n];for(var i in o)t.i18n[i]=o[i]},getInstanceType:function(e){var t=o.exec(""+e.constructor);if(t&&t.length>1){var n=t[1].replace(/^\s+|\s+$/g,"");return n}return""},ieVersion:function(){var e=3,t=document.createElement("div"),n=t.getElementsByTagName("i");do t.innerHTML="";while(n[0]);return e>4?e:void 0}()};return t.extend(i,{isIe:function(){return void 0!==i.ieVersion}()}),i}]);var w=function(e,t,n,o){this.rowIndex=0,this.offsetTop=this.rowIndex*n,this.entity=e,this.label=e.gLabel,this.field=e.gField,this.depth=e.gDepth,this.parent=e.parent,this.children=e.children,this.aggChildren=e.aggChildren,this.aggIndex=e.aggIndex,this.collapsed=o,this.groupInitState=o,this.rowFactory=t,this.rowHeight=n,this.isAggRow=!0,this.offsetLeft=25*e.gDepth,this.aggLabelFilter=e.aggLabelFilter};w.prototype.toggleExpand=function(){this.collapsed=this.collapsed?!1:!0,this.orig&&(this.orig.collapsed=this.collapsed),this.notifyChildren()},w.prototype.setExpand=function(e){this.collapsed=e,this.notifyChildren()},w.prototype.notifyChildren=function(){for(var e=Math.max(this.rowFactory.aggCache.length,this.children.length),t=0;e>t;t++)if(this.aggChildren[t]&&(this.aggChildren[t].entity[s]=this.collapsed,this.collapsed&&this.aggChildren[t].setExpand(this.collapsed)),this.children[t]&&(this.children[t][s]=this.collapsed),t>this.aggIndex&&this.rowFactory.aggCache[t]){var n=this.rowFactory.aggCache[t],o=30*this.children.length;n.offsetTop=this.collapsed?n.offsetTop-o:n.offsetTop+o}this.rowFactory.renderedChange()},w.prototype.aggClass=function(){return this.collapsed?"ngAggArrowCollapsed":"ngAggArrowExpanded"},w.prototype.totalChildren=function(){if(this.aggChildren.length>0){var e=0,t=function(n){n.aggChildren.length>0?angular.forEach(n.aggChildren,function(e){t(e)}):e+=n.children.length};return t(this),e}return this.children.length},w.prototype.copy=function(){var e=new w(this.entity,this.rowFactory,this.rowHeight,this.groupInitState);return e.orig=this,e};var C=function(e,n,o,l,a,s){var c=this,d=e.colDef,u=500,f=0,p=null;c.colDef=e.colDef,c.width=d.width,c.groupIndex=0,c.isGroupedBy=!1,c.minWidth=d.minWidth?d.minWidth:50,c.maxWidth=d.maxWidth?d.maxWidth:9e3,c.enableCellEdit=void 0!==d.enableCellEdit?d.enableCellEdit:e.enableCellEdit||e.enableCellEditOnFocus,c.headerRowHeight=e.headerRowHeight,c.displayName=void 0===d.displayName?d.field:d.displayName,c.index=e.index,c.isAggCol=e.isAggCol,c.cellClass=d.cellClass,c.sortPriority=void 0,c.cellFilter=d.cellFilter?d.cellFilter:"",c.field=d.field,c.aggLabelFilter=d.cellFilter||d.aggLabelFilter,c.visible=s.isNullOrUndefined(d.visible)||d.visible,c.sortable=!1,c.resizable=!1,c.pinnable=!1,c.pinned=e.enablePinning&&d.pinned,c.originalIndex=null==e.originalIndex?c.index:e.originalIndex,c.groupable=s.isNullOrUndefined(d.groupable)||d.groupable,e.enableSort&&(c.sortable=s.isNullOrUndefined(d.sortable)||d.sortable),e.enableResize&&(c.resizable=s.isNullOrUndefined(d.resizable)||d.resizable),e.enablePinning&&(c.pinnable=s.isNullOrUndefined(d.pinnable)||d.pinnable),c.sortDirection=void 0,c.sortingAlgorithm=d.sortFn,c.headerClass=d.headerClass,c.cursor=c.sortable?"pointer":"default",c.headerCellTemplate=d.headerCellTemplate||a.get("headerCellTemplate.html"),c.cellTemplate=d.cellTemplate||a.get("cellTemplate.html").replace(g,c.cellFilter?"|"+c.cellFilter:""),c.enableCellEdit&&(c.cellEditTemplate=a.get("cellEditTemplate.html"),c.editableCellTemplate=d.editableCellTemplate||a.get("editableCellTemplate.html")),d.cellTemplate&&!h.test(d.cellTemplate)&&(c.cellTemplate=t.ajax({type:"GET",url:d.cellTemplate,async:!1}).responseText),c.enableCellEdit&&d.editableCellTemplate&&!h.test(d.editableCellTemplate)&&(c.editableCellTemplate=t.ajax({type:"GET",url:d.editableCellTemplate,async:!1}).responseText),d.headerCellTemplate&&!h.test(d.headerCellTemplate)&&(c.headerCellTemplate=t.ajax({type:"GET",url:d.headerCellTemplate,async:!1}).responseText),c.colIndex=function(){var e=c.pinned?"pinned ":"";return e+="col"+c.index+" colt"+c.index,c.cellClass&&(e+=" "+c.cellClass),e},c.groupedByClass=function(){return c.isGroupedBy?"ngGroupedByIcon":"ngGroupIcon"},c.toggleVisible=function(){c.visible=!c.visible},c.showSortButtonUp=function(){return c.sortable?c.sortDirection===r:c.sortable},c.showSortButtonDown=function(){return c.sortable?c.sortDirection===i:c.sortable},c.noSortVisible=function(){return!c.sortDirection},c.sort=function(t){if(!c.sortable)return!0;var n=c.sortDirection===i?r:i;return c.sortDirection=n,e.sortCallback(c,t),!1},c.gripClick=function(){f++,1===f?p=setTimeout(function(){f=0},u):(clearTimeout(p),e.resizeOnDataCallback(c),f=0)},c.gripOnMouseDown=function(e){return n.isColumnResizing=!0,e.ctrlKey&&!c.pinned?(c.toggleVisible(),l.BuildStyles(n,o),!0):(e.target.parentElement.style.cursor="col-resize",c.startMousePosition=e.clientX,c.origWidth=c.width,t(document).mousemove(c.onMouseMove),t(document).mouseup(c.gripOnMouseUp),!1)},c.onMouseMove=function(e){var t=e.clientX-c.startMousePosition,i=t+c.origWidth;return c.width=c.minWidth>i?c.minWidth:i>c.maxWidth?c.maxWidth:i,n.hasUserChangedGridColumnWidths=!0,l.BuildStyles(n,o),!1},c.gripOnMouseUp=function(e){return t(document).off("mousemove",c.onMouseMove),t(document).off("mouseup",c.gripOnMouseUp),e.target.parentElement.style.cursor="default",l.digest(n),n.isColumnResizing=!1,!1},c.copy=function(){var t=new C(e,n,o,l,a);return t.isClone=!0,t.orig=c,t},c.setVars=function(e){c.orig=e,c.width=e.width,c.groupIndex=e.groupIndex,c.isGroupedBy=e.isGroupedBy,c.displayName=e.displayName,c.index=e.index,c.isAggCol=e.isAggCol,c.cellClass=e.cellClass,c.cellFilter=e.cellFilter,c.field=e.field,c.aggLabelFilter=e.aggLabelFilter,c.visible=e.visible,c.sortable=e.sortable,c.resizable=e.resizable,c.pinnable=e.pinnable,c.pinned=e.pinned,c.originalIndex=e.originalIndex,c.sortDirection=e.sortDirection,c.sortingAlgorithm=e.sortingAlgorithm,c.headerClass=e.headerClass,c.headerCellTemplate=e.headerCellTemplate,c.cellTemplate=e.cellTemplate,c.cellEditTemplate=e.cellEditTemplate}},b=function(e){this.outerHeight=null,this.outerWidth=null,t.extend(this,e)},S=function(e){this.previousColumn=null,this.grid=e};S.prototype.changeUserSelect=function(e,t){e.css({"-webkit-touch-callout":t,"-webkit-user-select":t,"-khtml-user-select":t,"-moz-user-select":"none"===t?"-moz-none":t,"-ms-user-select":t,"user-select":t})},S.prototype.focusCellElement=function(e,t){if(e.selectionProvider.lastClickedRow){var n=void 0!==t?t:this.previousColumn,o=e.selectionProvider.lastClickedRow.clone?e.selectionProvider.lastClickedRow.clone.elm:e.selectionProvider.lastClickedRow.elm;if(void 0!==n&&o){var i=angular.element(o[0].children).filter(function(){return 8!==this.nodeType}),r=Math.max(Math.min(e.renderedColumns.length-1,n),0);this.grid.config.showSelectionCheckbox&&angular.element(i[r]).scope()&&0===angular.element(i[r]).scope().col.index&&(r=1),i[r]&&i[r].children[1].children[0].focus(),this.previousColumn=n}}},S.prototype.selectionHandlers=function(e,t){var n=!1,o=this;t.bind("keydown",function(i){if(16===i.keyCode)return o.changeUserSelect(t,"none",i),!0;if(!n){n=!0;var r=v(e,t,i,o.grid);return n=!1,r}return!0}),t.bind("keyup",function(e){return 16===e.keyCode&&o.changeUserSelect(t,"text",e),!0})};var x=function(n,o,i,r){var l=this;l.colToMove=void 0,l.groupToMove=void 0,l.assignEvents=function(){n.config.jqueryUIDraggable&&!n.config.enablePinning?n.$groupPanel.droppable({addClasses:!1,drop:function(e){l.onGroupDrop(e)}}):(n.$groupPanel.on("mousedown",l.onGroupMouseDown).on("dragover",l.dragOver).on("drop",l.onGroupDrop),n.$headerScroller.on("mousedown",l.onHeaderMouseDown).on("dragover",l.dragOver),n.config.enableColumnReordering&&!n.config.enablePinning&&n.$headerScroller.on("drop",l.onHeaderDrop)),o.$watch("renderedColumns",function(){r(l.setDraggables)})},l.dragStart=function(e){e.dataTransfer.setData("text","")},l.dragOver=function(e){e.preventDefault()},l.setDraggables=function(){if(n.config.jqueryUIDraggable)n.$root.find(".ngHeaderSortColumn").draggable({helper:"clone",appendTo:"body",stack:"div",addClasses:!1,start:function(e){l.onHeaderMouseDown(e)}}).droppable({drop:function(e){l.onHeaderDrop(e)}});else{var e=n.$root.find(".ngHeaderSortColumn");angular.forEach(e,function(e){e.className&&-1!==e.className.indexOf("ngHeaderSortColumn")&&(e.setAttribute("draggable","true"),e.addEventListener&&e.addEventListener("dragstart",l.dragStart))}),-1!==navigator.userAgent.indexOf("MSIE")&&n.$root.find(".ngHeaderSortColumn").bind("selectstart",function(){return this.dragDrop(),!1})}},l.onGroupMouseDown=function(e){var o=t(e.target);if("ngRemoveGroup"!==o[0].className){var i=angular.element(o).scope();i&&(n.config.jqueryUIDraggable||(o.attr("draggable","true"),this.addEventListener&&this.addEventListener("dragstart",l.dragStart),-1!==navigator.userAgent.indexOf("MSIE")&&o.bind("selectstart",function(){return this.dragDrop(),!1})),l.groupToMove={header:o,groupName:i.group,index:i.$index})}else l.groupToMove=void 0},l.onGroupDrop=function(e){e.stopPropagation();var i,r;l.groupToMove?(i=t(e.target).closest(".ngGroupElement"),"ngGroupPanel"===i.context.className?(o.configGroups.splice(l.groupToMove.index,1),o.configGroups.push(l.groupToMove.groupName)):(r=angular.element(i).scope(),r&&l.groupToMove.index!==r.$index&&(o.configGroups.splice(l.groupToMove.index,1),o.configGroups.splice(r.$index,0,l.groupToMove.groupName))),l.groupToMove=void 0,n.fixGroupIndexes()):l.colToMove&&(-1===o.configGroups.indexOf(l.colToMove.col)&&(i=t(e.target).closest(".ngGroupElement"),"ngGroupPanel"===i.context.className||"ngGroupPanelDescription ng-binding"===i.context.className?o.groupBy(l.colToMove.col):(r=angular.element(i).scope(),r&&o.removeGroup(r.$index))),l.colToMove=void 0),o.$$phase||o.$apply()},l.onHeaderMouseDown=function(e){var n=t(e.target).closest(".ngHeaderSortColumn"),o=angular.element(n).scope();o&&(l.colToMove={header:n,col:o.col})},l.onHeaderDrop=function(e){if(l.colToMove&&!l.colToMove.col.pinned){var r=t(e.target).closest(".ngHeaderSortColumn"),a=angular.element(r).scope();if(a){if(l.colToMove.col===a.col)return;o.columns.splice(l.colToMove.col.index,1),o.columns.splice(a.col.index,0,l.colToMove.col),n.fixColumnIndexes(),l.colToMove=void 0,i.digest(o)}}},l.assignGridEventHandlers=function(){-1===n.config.tabIndex?(n.$viewport.attr("tabIndex",i.numberOfGrids),i.numberOfGrids++):n.$viewport.attr("tabIndex",n.config.tabIndex);var r;t(e).resize(function(){clearTimeout(r),r=setTimeout(function(){i.RebuildGrid(o,n)},100)});var l;t(n.$root.parent()).on("resize",function(){clearTimeout(l),l=setTimeout(function(){i.RebuildGrid(o,n)},100)})},l.assignGridEventHandlers(),l.assignEvents()},y=function(e,t){e.maxRows=function(){var n=Math.max(e.totalServerItems,t.data.length);return n},e.multiSelect=t.config.enableRowSelection&&t.config.multiSelect,e.selectedItemCount=t.selectedItemCount,e.maxPages=function(){return Math.ceil(e.maxRows()/e.pagingOptions.pageSize)},e.pageForward=function(){var t=e.pagingOptions.currentPage;e.totalServerItems>0?e.pagingOptions.currentPage=Math.min(t+1,e.maxPages()):e.pagingOptions.currentPage++},e.pageBackward=function(){var t=e.pagingOptions.currentPage;e.pagingOptions.currentPage=Math.max(t-1,1)},e.pageToFirst=function(){e.pagingOptions.currentPage=1},e.pageToLast=function(){var t=e.maxPages();e.pagingOptions.currentPage=t},e.cantPageForward=function(){var n=e.pagingOptions.currentPage,o=e.maxPages();return e.totalServerItems>0?n>=o:1>t.data.length},e.cantPageToLast=function(){return e.totalServerItems>0?e.cantPageForward():!0},e.cantPageBackward=function(){var t=e.pagingOptions.currentPage;return 1>=t}},T=function(i,r,l,a,c,g,d,u,f,p,m){var v={aggregateTemplate:void 0,afterSelectionChange:function(){},beforeSelectionChange:function(){return!0},checkboxCellTemplate:void 0,checkboxHeaderTemplate:void 0,columnDefs:void 0,data:[],dataUpdated:function(){},enableCellEdit:!1,enableCellEditOnFocus:!1,enableCellSelection:!1,enableColumnResize:!1,enableColumnReordering:!1,enableColumnHeavyVirt:!1,enablePaging:!1,enablePinning:!1,enableRowSelection:!0,enableSorting:!0,enableHighlighting:!1,excludeProperties:[],filterOptions:{filterText:"",useExternalFilter:!1},footerRowHeight:55,footerTemplate:void 0,groups:[],groupsCollapsedByDefault:!0,headerRowHeight:30,headerRowTemplate:void 0,jqueryUIDraggable:!1,jqueryUITheme:!1,keepLastSelected:!0,maintainColumnRatios:void 0,menuTemplate:void 0,multiSelect:!0,pagingOptions:{pageSizes:[250,500,1e3],pageSize:250,currentPage:1},pinSelectionCheckbox:!1,plugins:[],primaryKey:void 0,rowHeight:30,rowTemplate:void 0,selectedItems:[],selectWithCheckboxOnly:!1,showColumnMenu:!1,showFilter:!1,showFooter:!1,showGroupPanel:!1,showSelectionCheckbox:!1,sortInfo:{fields:[],columns:[],directions:[]},tabIndex:-1,totalServerItems:0,useExternalSorting:!1,i18n:"en",virtualizationThreshold:50},w=this;w.maxCanvasHt=0,w.config=t.extend(v,e.ngGrid.config,r),w.config.showSelectionCheckbox=w.config.showSelectionCheckbox&&w.config.enableColumnHeavyVirt===!1,w.config.enablePinning=w.config.enablePinning&&w.config.enableColumnHeavyVirt===!1,w.config.selectWithCheckboxOnly=w.config.selectWithCheckboxOnly&&w.config.showSelectionCheckbox!==!1,w.config.pinSelectionCheckbox=w.config.enablePinning,"string"==typeof r.columnDefs&&(w.config.columnDefs=i.$eval(r.columnDefs)),w.rowCache=[],w.rowMap=[],w.gridId="ng"+d.newId(),w.$root=null,w.$groupPanel=null,w.$topPanel=null,w.$headerContainer=null,w.$headerScroller=null,w.$headers=null,w.$viewport=null,w.$canvas=null,w.rootDim=w.config.gridDim,w.data=[],w.lateBindColumns=!1,w.filteredRows=[],w.initTemplates=function(){var e=["rowTemplate","aggregateTemplate","headerRowTemplate","checkboxCellTemplate","checkboxHeaderTemplate","menuTemplate","footerTemplate"],t=[];return angular.forEach(e,function(e){t.push(w.getTemplate(e))}),m.all(t)},w.getTemplate=function(e){var t=w.config[e],n=w.gridId+e+".html",o=m.defer();if(t&&!h.test(t))p.get(t,{cache:g}).success(function(e){g.put(n,e),o.resolve()}).error(function(){o.reject("Could not load template: "+t)});else if(t)g.put(n,t),o.resolve();else{var i=e+".html";g.put(n,g.get(i)),o.resolve()}return o.promise},"object"==typeof w.config.data&&(w.data=w.config.data),w.calcMaxCanvasHeight=function(){var e;return e=w.config.groups.length>0?w.rowFactory.parsedData.filter(function(e){return!e[s]}).length*w.config.rowHeight:w.filteredRows.length*w.config.rowHeight},w.elementDims={scrollW:0,scrollH:0,rowIndexCellW:25,rowSelectedCellW:25,rootMaxW:0,rootMaxH:0},w.setRenderedRows=function(e){i.renderedRows.length=e.length;for(var t=0;e.length>t;t++)!i.renderedRows[t]||e[t].isAggRow||i.renderedRows[t].isAggRow?(i.renderedRows[t]=e[t].copy(),i.renderedRows[t].collapsed=e[t].collapsed,e[t].isAggRow||i.renderedRows[t].setVars(e[t])):i.renderedRows[t].setVars(e[t]),i.renderedRows[t].rowIndex=e[t].rowIndex,i.renderedRows[t].offsetTop=e[t].offsetTop,i.renderedRows[t].selected=e[t].selected,e[t].renderedRowIndex=t;w.refreshDomSizes(),i.$emit("ngGridEventRows",e)},w.minRowsToRender=function(){var e=i.viewportDimHeight()||1;return Math.floor(e/w.config.rowHeight)},w.refreshDomSizes=function(){var e=new b;e.outerWidth=w.elementDims.rootMaxW,e.outerHeight=w.elementDims.rootMaxH,w.rootDim=e,w.maxCanvasHt=w.calcMaxCanvasHeight()},w.buildColumnDefsFromData=function(){w.config.columnDefs=[];var e=w.data[0];return e?(d.forIn(e,function(e,t){-1===w.config.excludeProperties.indexOf(t)&&w.config.columnDefs.push({field:t})}),void 0):(w.lateBoundColumns=!0,void 0)},w.buildColumns=function(){var e=w.config.columnDefs,t=[];if(e||(w.buildColumnDefsFromData(),e=w.config.columnDefs),w.config.showSelectionCheckbox&&t.push(new C({colDef:{field:"✔",width:w.elementDims.rowSelectedCellW,sortable:!1,resizable:!1,groupable:!1,headerCellTemplate:g.get(i.gridId+"checkboxHeaderTemplate.html"),cellTemplate:g.get(i.gridId+"checkboxCellTemplate.html"),pinned:w.config.pinSelectionCheckbox},index:0,headerRowHeight:w.config.headerRowHeight,sortCallback:w.sortData,resizeOnDataCallback:w.resizeOnData,enableResize:w.config.enableColumnResize,enableSort:w.config.enableSorting,enablePinning:w.config.enablePinning},i,w,a,g,d)),e.length>0){var n=w.config.showSelectionCheckbox?1:0,o=i.configGroups.length;i.configGroups.length=0,angular.forEach(e,function(e,r){r+=n;var l=new C({colDef:e,index:r+o,originalIndex:r,headerRowHeight:w.config.headerRowHeight,sortCallback:w.sortData,resizeOnDataCallback:w.resizeOnData,enableResize:w.config.enableColumnResize,enableSort:w.config.enableSorting,enablePinning:w.config.enablePinning,enableCellEdit:w.config.enableCellEdit||w.config.enableCellEditOnFocus},i,w,a,g,d),s=w.config.groups.indexOf(e.field);-1!==s&&(l.isGroupedBy=!0,i.configGroups.splice(s,0,l),l.groupIndex=i.configGroups.length),t.push(l)}),i.columns=t,w.config.groups.length>0&&w.rowFactory.getGrouping(w.config.groups)}},w.configureColumnWidths=function(){var e=[],t=[],n=0,o=0,r={};if(angular.forEach(i.columns,function(e,t){if(!d.isNullOrUndefined(e.originalIndex)){var n=e.originalIndex;w.config.showSelectionCheckbox&&(0===e.originalIndex&&e.visible&&(o+=25),n--),r[n]=t}}),angular.forEach(w.config.columnDefs,function(l,a){var s=i.columns[r[a]];l.index=a;var c,g=!1;if(d.isNullOrUndefined(l.width)?l.width="*":(g=isNaN(l.width)?d.endsWith(l.width,"%"):!1,c=g?l.width:parseInt(l.width,10)),isNaN(c)&&!i.hasUserChangedGridColumnWidths){if(c=l.width,"auto"===c){s.width=s.minWidth,o+=s.width;var u=s;return i.$on("ngGridEventData",function(){w.resizeOnData(u)}),void 0}if(-1!==c.indexOf("*"))return s.visible!==!1&&(n+=c.length),e.push(l),void 0;if(g)return t.push(l),void 0;throw'unable to parse column width, use percentage ("10%","20%", etc...) or "*" to use remaining width of grid'}s.visible!==!1&&(o+=s.width=parseInt(s.width,10))}),t.length>0){w.config.maintainColumnRatios=w.config.maintainColumnRatios!==!1;var l=0,s=0;angular.forEach(t,function(e){var t=i.columns[r[e.index]],n=e.width,o=parseInt(n.slice(0,-1),10)/100;l+=o,t.visible||(s+=o)});var c=l-s;angular.forEach(t,function(e){var t=i.columns[r[e.index]],n=e.width,a=parseInt(n.slice(0,-1),10)/100;a/=s>0?c:l;var g=w.rootDim.outerWidth*l;t.width=Math.floor(g*a),o+=t.width})}if(e.length>0){w.config.maintainColumnRatios=w.config.maintainColumnRatios!==!1;var g=w.rootDim.outerWidth-o;w.maxCanvasHt>i.viewportDimHeight()&&(g-=a.ScrollW);var u=Math.floor(g/n);angular.forEach(e,function(t,n){var l=i.columns[r[t.index]];l.width=u*t.width.length,l.visible!==!1&&(o+=l.width);var s=n===e.length-1;if(s&&w.rootDim.outerWidth>o){var c=w.rootDim.outerWidth-o;w.maxCanvasHt>i.viewportDimHeight()&&(c-=a.ScrollW),l.width+=c}})}},w.init=function(){return w.initTemplates().then(function(){i.selectionProvider=new D(w,i,f),i.domAccessProvider=new S(w),w.rowFactory=new R(w,i,a,g,d),w.searchProvider=new $(i,w,c),w.styleProvider=new L(i,w),i.$watch("configGroups",function(e){var t=[];angular.forEach(e,function(e){t.push(e.field||e)}),w.config.groups=t,w.rowFactory.filteredRowsChanged(),i.$emit("ngGridEventGroups",e)},!0),i.$watch("columns",function(e){i.isColumnResizing||a.RebuildGrid(i,w),i.$emit("ngGridEventColumns",e)},!0),i.$watch(function(){return r.i18n},function(e){d.seti18n(i,e)}),w.maxCanvasHt=w.calcMaxCanvasHeight(),w.config.sortInfo.fields&&w.config.sortInfo.fields.length>0&&i.$watch(function(){return w.config.sortInfo},function(){l.isSorting||(w.sortColumnsInit(),i.$emit("ngGridEventSorted",w.config.sortInfo))},!0)})},w.resizeOnData=function(e){var n=e.minWidth,o=d.getElementsByClassName("col"+e.index);angular.forEach(o,function(e,o){var i;if(0===o){var r=t(e).find(".ngHeaderText");i=d.visualLength(r)+10}else{var l=t(e).find(".ngCellText");i=d.visualLength(l)+10}i>n&&(n=i)}),e.width=e.longest=Math.min(e.maxWidth,n+7),a.BuildStyles(i,w,!0)},w.lastSortedColumns=[],w.sortData=function(e,n){if(n&&n.shiftKey&&w.config.sortInfo){var o=w.config.sortInfo.columns.indexOf(e);-1===o?(1===w.config.sortInfo.columns.length&&(w.config.sortInfo.columns[0].sortPriority=1),w.config.sortInfo.columns.push(e),e.sortPriority=w.config.sortInfo.columns.length,w.config.sortInfo.fields.push(e.field),w.config.sortInfo.directions.push(e.sortDirection),w.lastSortedColumns.push(e)):w.config.sortInfo.directions[o]=e.sortDirection}else{var r=t.isArray(e);w.config.sortInfo.columns.length=0,w.config.sortInfo.fields.length=0,w.config.sortInfo.directions.length=0;var l=function(e){w.config.sortInfo.columns.push(e),w.config.sortInfo.fields.push(e.field),w.config.sortInfo.directions.push(e.sortDirection),w.lastSortedColumns.push(e)};r?(w.clearSortingData(),angular.forEach(e,function(e,t){e.sortPriority=t+1,l(e)})):(w.clearSortingData(e),e.sortPriority=void 0,l(e))}w.sortActual(),w.searchProvider.evalFilter(),i.$emit("ngGridEventSorted",w.config.sortInfo)},w.sortColumnsInit=function(){w.config.sortInfo.columns?w.config.sortInfo.columns.length=0:w.config.sortInfo.columns=[],angular.forEach(i.columns,function(e){var t=w.config.sortInfo.fields.indexOf(e.field);-1!==t&&(e.sortDirection=w.config.sortInfo.directions[t]||"asc",w.config.sortInfo.columns[t]=e)}),angular.forEach(w.config.sortInfo.columns,function(e){w.sortData(e)})},w.sortActual=function(){if(!w.config.useExternalSorting){var e=w.data.slice(0);angular.forEach(e,function(e,t){var n=w.rowMap[t];if(void 0!==n){var o=w.rowCache[n];void 0!==o&&(e.preSortSelected=o.selected,e.preSortIndex=t)}}),l.Sort(w.config.sortInfo,e),angular.forEach(e,function(e,t){w.rowCache[t].entity=e,w.rowCache[t].selected=e.preSortSelected,w.rowMap[e.preSortIndex]=t,delete e.preSortSelected,delete e.preSortIndex})}},w.clearSortingData=function(e){e?(angular.forEach(w.lastSortedColumns,function(t){e.index!==t.index&&(t.sortDirection="",t.sortPriority=null)}),w.lastSortedColumns[0]=e,w.lastSortedColumns.length=1):(angular.forEach(w.lastSortedColumns,function(e){e.sortDirection="",e.sortPriority=null}),w.lastSortedColumns=[])},w.fixColumnIndexes=function(){for(var e=0;i.columns.length>e;e++)i.columns[e].index=e},w.fixGroupIndexes=function(){angular.forEach(i.configGroups,function(e,t){e.groupIndex=t+1})},i.elementsNeedMeasuring=!0,i.columns=[],i.renderedRows=[],i.renderedColumns=[],i.headerRow=null,i.rowHeight=w.config.rowHeight,i.jqueryUITheme=w.config.jqueryUITheme,i.showSelectionCheckbox=w.config.showSelectionCheckbox,i.enableCellSelection=w.config.enableCellSelection,i.enableCellEditOnFocus=w.config.enableCellEditOnFocus,i.footer=null,i.selectedItems=w.config.selectedItems,i.multiSelect=w.config.multiSelect,i.showFooter=w.config.showFooter,i.footerRowHeight=i.showFooter?w.config.footerRowHeight:0,i.showColumnMenu=w.config.showColumnMenu,i.showMenu=!1,i.configGroups=[],i.gridId=w.gridId,i.enablePaging=w.config.enablePaging,i.pagingOptions=w.config.pagingOptions,i.i18n={},d.seti18n(i,w.config.i18n),i.adjustScrollLeft=function(e){for(var t=0,n=0,o=i.columns.length,r=[],l=!w.config.enableColumnHeavyVirt,s=0,c=function(e){l?r.push(e):i.renderedColumns[s]?i.renderedColumns[s].setVars(e):i.renderedColumns[s]=e.copy(),s++},g=0;o>g;g++){var d=i.columns[g];if(d.visible!==!1){var u=d.width+t;if(d.pinned){c(d);var f=g>0?e+n:e;a.setColLeft(d,f,w),n+=d.width}else u>=e&&e+w.rootDim.outerWidth>=t&&c(d);t+=d.width}}l&&(i.renderedColumns=r)},w.prevScrollTop=0,w.prevScrollIndex=0,i.adjustScrollTop=function(e,t){if(w.prevScrollTop!==e||t){e>0&&w.$viewport[0].scrollHeight-e<=w.$viewport.outerHeight()&&i.$emit("ngGridEventScroll");
- var r,l=Math.floor(e/w.config.rowHeight);if(w.filteredRows.length>w.config.virtualizationThreshold){if(e>w.prevScrollTop&&w.prevScrollIndex+o>l)return;if(w.prevScrollTop>e&&l>w.prevScrollIndex-o)return;r=new P(Math.max(0,l-n),l+w.minRowsToRender()+n)}else{var a=i.configGroups.length>0?w.rowFactory.parsedData.length:w.data.length;r=new P(0,Math.max(a,w.minRowsToRender()+n))}w.prevScrollTop=e,w.rowFactory.UpdateViewableRange(r),w.prevScrollIndex=l}},i.toggleShowMenu=function(){i.showMenu=!i.showMenu},i.toggleSelectAll=function(e,t){i.selectionProvider.toggleSelectAll(e,!1,t)},i.totalFilteredItemsLength=function(){return w.filteredRows.length},i.showGroupPanel=function(){return w.config.showGroupPanel},i.topPanelHeight=function(){return w.config.showGroupPanel===!0?w.config.headerRowHeight+32:w.config.headerRowHeight},i.viewportDimHeight=function(){return Math.max(0,w.rootDim.outerHeight-i.topPanelHeight()-i.footerRowHeight-2)},i.groupBy=function(e){if(!(1>w.data.length)&&e.groupable&&e.field){e.sortDirection||e.sort({shiftKey:i.configGroups.length>0?!0:!1});var t=i.configGroups.indexOf(e);-1===t?(e.isGroupedBy=!0,i.configGroups.push(e),e.groupIndex=i.configGroups.length):i.removeGroup(t),w.$viewport.scrollTop(0),a.digest(i)}},i.removeGroup=function(e){var t=i.columns.filter(function(t){return t.groupIndex===e+1})[0];t.isGroupedBy=!1,t.groupIndex=0,i.columns[e].isAggCol&&(i.columns.splice(e,1),i.configGroups.splice(e,1),w.fixGroupIndexes()),0===i.configGroups.length&&(w.fixColumnIndexes(),a.digest(i)),i.adjustScrollLeft(0)},i.togglePin=function(e){for(var t=e.index,n=0,o=0;i.columns.length>o&&i.columns[o].pinned;o++)n++;e.pinned&&(n=Math.max(e.originalIndex,n-1)),e.pinned=!e.pinned,i.columns.splice(t,1),i.columns.splice(n,0,e),w.fixColumnIndexes(),a.BuildStyles(i,w,!0),w.$viewport.scrollLeft(w.$viewport.scrollLeft()-e.width)},i.totalRowWidth=function(){for(var e=0,t=i.columns,n=0;t.length>n;n++)t[n].visible!==!1&&(e+=t[n].width);return e},i.headerScrollerDim=function(){var e=i.viewportDimHeight(),t=w.maxCanvasHt,n=t>e,o=new b;return o.autoFitHeight=!0,o.outerWidth=i.totalRowWidth(),n?o.outerWidth+=w.elementDims.scrollW:w.elementDims.scrollH>=t-e&&(o.outerWidth+=w.elementDims.scrollW),o}},P=function(e,t){this.topRow=e,this.bottomRow=t},I=function(e,t,n,o,i){this.entity=e,this.config=t,this.selectionProvider=n,this.rowIndex=o,this.utils=i,this.selected=n.getSelection(e),this.cursor=this.config.enableRowSelection?"pointer":"default",this.beforeSelectionChange=t.beforeSelectionChangeCallback,this.afterSelectionChange=t.afterSelectionChangeCallback,this.offsetTop=this.rowIndex*t.rowHeight,this.rowDisplayIndex=0};I.prototype.setSelection=function(e){this.selectionProvider.setSelection(this,e),this.selectionProvider.lastClickedRow=this},I.prototype.continueSelection=function(e){this.selectionProvider.ChangeSelection(this,e)},I.prototype.ensureEntity=function(e){this.entity!==e&&(this.entity=e,this.selected=this.selectionProvider.getSelection(this.entity))},I.prototype.toggleSelected=function(e){if(!this.config.enableRowSelection&&!this.config.enableCellSelection)return!0;var t=e.target||e;return"checkbox"===t.type&&"ngSelectionCell ng-scope"!==t.parentElement.className?!0:this.config.selectWithCheckboxOnly&&"checkbox"!==t.type?(this.selectionProvider.lastClickedRow=this,!0):(this.beforeSelectionChange(this,e)&&this.continueSelection(e),!1)},I.prototype.alternatingRowClass=function(){var e=0===this.rowIndex%2,t={ngRow:!0,selected:this.selected,even:e,odd:!e,"ui-state-default":this.config.jqueryUITheme&&e,"ui-state-active":this.config.jqueryUITheme&&!e};return t},I.prototype.getProperty=function(e){return this.utils.evalProperty(this.entity,e)},I.prototype.copy=function(){return this.clone=new I(this.entity,this.config,this.selectionProvider,this.rowIndex,this.utils),this.clone.isClone=!0,this.clone.elm=this.elm,this.clone.orig=this,this.clone},I.prototype.setVars=function(e){e.clone=this,this.entity=e.entity,this.selected=e.selected,this.orig=e};var R=function(e,t,o,i,r){var g=this;g.aggCache={},g.parentCache=[],g.dataChanged=!0,g.parsedData=[],g.rowConfig={},g.selectionProvider=t.selectionProvider,g.rowHeight=30,g.numberOfAggregates=0,g.groupedData=void 0,g.rowHeight=e.config.rowHeight,g.rowConfig={enableRowSelection:e.config.enableRowSelection,rowClasses:e.config.rowClasses,selectedItems:t.selectedItems,selectWithCheckboxOnly:e.config.selectWithCheckboxOnly,beforeSelectionChangeCallback:e.config.beforeSelectionChange,afterSelectionChangeCallback:e.config.afterSelectionChange,jqueryUITheme:e.config.jqueryUITheme,enableCellSelection:e.config.enableCellSelection,rowHeight:e.config.rowHeight},g.renderedRange=new P(0,e.minRowsToRender()+n),g.buildEntityRow=function(e,t){return new I(e,g.rowConfig,g.selectionProvider,t,r)},g.buildAggregateRow=function(t,n){var o=g.aggCache[t.aggIndex];return o||(o=new w(t,g,g.rowConfig.rowHeight,e.config.groupsCollapsedByDefault),g.aggCache[t.aggIndex]=o),o.rowIndex=n,o.offsetTop=n*g.rowConfig.rowHeight,o},g.UpdateViewableRange=function(e){g.renderedRange=e,g.renderedChange()},g.filteredRowsChanged=function(){e.lateBoundColumns&&e.filteredRows.length>0&&(e.config.columnDefs=void 0,e.buildColumns(),e.lateBoundColumns=!1,t.$evalAsync(function(){t.adjustScrollLeft(0)})),g.dataChanged=!0,e.config.groups.length>0&&g.getGrouping(e.config.groups),g.UpdateViewableRange(g.renderedRange)},g.renderedChange=function(){if(!g.groupedData||1>e.config.groups.length)return g.renderedChangeNoGroups(),e.refreshDomSizes(),void 0;g.wasGrouped=!0,g.parentCache=[];var t=0,n=g.parsedData.filter(function(e){return e.isAggRow?e.parent&&e.parent.collapsed?!1:!0:(e[s]||(e.rowIndex=t++),!e[s])});g.totalRows=n.length;for(var o=[],i=g.renderedRange.topRow;g.renderedRange.bottomRow>i;i++)n[i]&&(n[i].offsetTop=i*e.config.rowHeight,o.push(n[i]));e.setRenderedRows(o)},g.renderedChangeNoGroups=function(){for(var t=[],n=g.renderedRange.topRow;g.renderedRange.bottomRow>n;n++)e.filteredRows[n]&&(e.filteredRows[n].rowIndex=n,e.filteredRows[n].offsetTop=n*e.config.rowHeight,t.push(e.filteredRows[n]));e.setRenderedRows(t)},g.fixRowCache=function(){var t=e.data.length,n=t-e.rowCache.length;if(0>n)e.rowCache.length=e.rowMap.length=t;else for(var o=e.rowCache.length;t>o;o++)e.rowCache[o]=e.rowFactory.buildEntityRow(e.data[o],o)},g.parseGroupData=function(e){if(e.values)for(var t=0;e.values.length>t;t++)g.parentCache[g.parentCache.length-1].children.push(e.values[t]),g.parsedData.push(e.values[t]);else for(var n in e)if(n!==l&&n!==a&&n!==c&&e.hasOwnProperty(n)){var o=g.buildAggregateRow({gField:e[l],gLabel:n,gDepth:e[a],isAggRow:!0,_ng_hidden_:!1,children:[],aggChildren:[],aggIndex:g.numberOfAggregates,aggLabelFilter:e[c].aggLabelFilter},0);g.numberOfAggregates++,o.parent=g.parentCache[o.depth-1],o.parent&&(o.parent.collapsed=!1,o.parent.aggChildren.push(o)),g.parsedData.push(o),g.parentCache[o.depth]=o,g.parseGroupData(e[n])}},g.getGrouping=function(n){function d(e,t){return e.filter(function(e){return e.field===t})}g.aggCache=[],g.numberOfAggregates=0,g.groupedData={};for(var u=e.filteredRows,f=n.length,h=t.columns,p=0;u.length>p;p++){var m=u[p].entity;if(!m)return;u[p][s]=e.config.groupsCollapsedByDefault;for(var v=g.groupedData,w=0;n.length>w;w++){var b=n[w],S=d(h,b)[0],x=r.evalProperty(m,b);x=x?""+x:"null",v[x]||(v[x]={}),v[l]||(v[l]=b),v[a]||(v[a]=w),v[c]||(v[c]=S),v=v[x]}v.values||(v.values=[]),v.values.push(u[p])}if(h.length>0)for(var y=0;n.length>y;y++)!h[y].isAggCol&&f>=y&&h.splice(0,0,new C({colDef:{field:"",width:25,sortable:!1,resizable:!1,headerCellTemplate:'',pinned:e.config.pinSelectionCheckbox},enablePinning:e.config.enablePinning,isAggCol:!0,headerRowHeight:e.config.headerRowHeight},t,e,o,i,r));e.fixColumnIndexes(),t.adjustScrollLeft(0),g.parsedData.length=0,g.parseGroupData(g.groupedData),g.fixRowCache()},e.config.groups.length>0&&e.filteredRows.length>0&&g.getGrouping(e.config.groups)},$=function(e,n,o){var i=this,r=[];i.extFilter=n.config.filterOptions.useExternalFilter,e.showFilter=n.config.showFilter,e.filterText="",i.fieldMap={};var l=function(e,t,n){var i;for(var r in t)if(t.hasOwnProperty(r)){var a=n[r.toLowerCase()];if(!a)continue;var s=t[r];if("object"==typeof s)return l(e,s,a);var c=null,g=null;if(a&&a.cellFilter&&(g=a.cellFilter.split(":"),c=o(g[0])),null!==s&&void 0!==s){if("function"==typeof c){var d=""+c(s,g[1]);i=e.regex.test(d)}else i=e.regex.test(""+s);if(i)return!0}}return!1},a=function(e,t){var n,r=i.fieldMap[e.columnDisplay];if(!r)return!1;var l=r.cellFilter.split(":"),a=r.cellFilter?o(l[0]):null,s=t[e.column]||t[r.field.split(".")[0]];if(null===s||void 0===s)return!1;if("function"==typeof a){var g=""+a("object"==typeof s?c(s,r.field):s,l[1]);n=e.regex.test(g)}else n=e.regex.test("object"==typeof s?""+c(s,r.field):""+s);return n?!0:!1},s=function(e){for(var t=0,n=r.length;n>t;t++){var o,s=r[t];if(o=s.column?a(s,e):l(s,e,i.fieldMap),!o)return!1}return!0};i.evalFilter=function(){n.filteredRows=0===r.length?n.rowCache:n.rowCache.filter(function(e){return s(e.entity)});for(var e=0;n.filteredRows.length>e;e++)n.filteredRows[e].rowIndex=e;n.rowFactory.filteredRowsChanged()};var c=function(e,t){if("object"!=typeof e||"string"!=typeof t)return e;var n=t.split("."),o=e;if(n.length>1){for(var i=1,r=n.length;r>i;i++)if(o=o[n[i]],!o)return e;return o}return e},g=function(e,t){try{return RegExp(e,t)}catch(n){return RegExp(e.replace(/(\^|\$|\(|\)|<|>|\[|\]|\{|\}|\\|\||\.|\*|\+|\?)/g,"\\$1"))}},d=function(e){r=[];var n;if(n=t.trim(e))for(var o=n.split(";"),i=0;o.length>i;i++){var l=o[i].split(":");if(l.length>1){var a=t.trim(l[0]),s=t.trim(l[1]);a&&s&&r.push({column:a,columnDisplay:a.replace(/\s+/g,"").toLowerCase(),regex:g(s,"i")})}else{var c=t.trim(l[0]);c&&r.push({column:"",regex:g(c,"i")})}}};i.extFilter||e.$watch("columns",function(e){for(var t=0;e.length>t;t++){var n=e[t];if(n.field)if(n.field.match(/\./g)){for(var o=n.field.split("."),r=i.fieldMap,l=0;o.length-1>l;l++)r[o[l]]=r[o[l]]||{},r=r[o[l]];r[o[o.length-1]]=n}else i.fieldMap[n.field.toLowerCase()]=n;n.displayName&&(i.fieldMap[n.displayName.toLowerCase().replace(/\s+/g,"")]=n)}}),e.$watch(function(){return n.config.filterOptions.filterText},function(t){e.filterText=t}),e.$watch("filterText",function(t){i.extFilter||(e.$emit("ngGridEventFilter",t),d(t),i.evalFilter())})},D=function(e,t,n){var o=this;o.multi=e.config.multiSelect,o.selectedItems=e.config.selectedItems,o.selectedIndex=e.config.selectedIndex,o.lastClickedRow=void 0,o.ignoreSelectedItemChanges=!1,o.pKeyParser=n(e.config.primaryKey),o.ChangeSelection=function(n,i){var r=i.which||i.keyCode,l=40===r||38===r;if(i&&i.shiftKey&&!i.keyCode&&o.multi&&e.config.enableRowSelection){if(o.lastClickedRow){var a;a=t.configGroups.length>0?e.rowFactory.parsedData.filter(function(e){return!e.isAggRow}):e.filteredRows;var s=n.rowIndex,c=o.lastClickedRowIndex;if(s===c)return!1;c>s?(s^=c,c=s^c,s^=c,s--):c++;for(var g=[];s>=c;c++)g.push(a[c]);if(g[g.length-1].beforeSelectionChange(g,i)){for(var d=0;g.length>d;d++){var u=g[d],f=u.selected;u.selected=!f,u.clone&&(u.clone.selected=u.selected);var h=o.selectedItems.indexOf(u.entity);-1===h?o.selectedItems.push(u.entity):o.selectedItems.splice(h,1)}g[g.length-1].afterSelectionChange(g,i)}return o.lastClickedRow=n,o.lastClickedRowIndex=n.rowIndex,!0}}else o.multi?(!i.keyCode||l&&!e.config.selectWithCheckboxOnly)&&o.setSelection(n,!n.selected):o.lastClickedRow===n?o.setSelection(o.lastClickedRow,e.config.keepLastSelected?!0:!n.selected):(o.lastClickedRow&&o.setSelection(o.lastClickedRow,!1),o.setSelection(n,!n.selected));return o.lastClickedRow=n,o.lastClickedRowIndex=n.rowIndex,!0},o.getSelection=function(t){var n=!1;if(e.config.primaryKey){var i=o.pKeyParser(t);angular.forEach(o.selectedItems,function(e){i===o.pKeyParser(e)&&(n=!0)})}else n=-1!==o.selectedItems.indexOf(t);return n},o.setSelection=function(t,n){if(e.config.enableRowSelection){if(n)-1===o.selectedItems.indexOf(t.entity)&&(!o.multi&&o.selectedItems.length>0&&o.toggleSelectAll(!1,!0),o.selectedItems.push(t.entity));else{var i=o.selectedItems.indexOf(t.entity);-1!==i&&o.selectedItems.splice(i,1)}t.selected=n,t.orig&&(t.orig.selected=n),t.clone&&(t.clone.selected=n),t.afterSelectionChange(t)}},o.toggleSelectAll=function(t,n,i){var r=i?e.filteredRows:e.rowCache;if(n||e.config.beforeSelectionChange(r,t)){var l=o.selectedItems.length;l>0&&(o.selectedItems.length=0);for(var a=0;r.length>a;a++)r[a].selected=t,r[a].clone&&(r[a].clone.selected=t),t&&o.selectedItems.push(r[a].entity);n||e.config.afterSelectionChange(r,t)}}},L=function(e,t){e.headerCellStyle=function(e){return{height:e.headerRowHeight+"px"}},e.rowStyle=function(t){var n={top:t.offsetTop+"px",height:e.rowHeight+"px"};return t.isAggRow&&(n.left=t.offsetLeft),n},e.canvasStyle=function(){return{height:t.maxCanvasHt+"px"}},e.headerScrollerStyle=function(){return{height:t.config.headerRowHeight+"px"}},e.topPanelStyle=function(){return{width:t.rootDim.outerWidth+"px",height:e.topPanelHeight()+"px"}},e.headerStyle=function(){return{width:t.rootDim.outerWidth+"px",height:t.config.headerRowHeight+"px"}},e.groupPanelStyle=function(){return{width:t.rootDim.outerWidth+"px",height:"32px"}},e.viewportStyle=function(){return{width:t.rootDim.outerWidth+"px",height:e.viewportDimHeight()+"px"}},e.footerStyle=function(){return{width:t.rootDim.outerWidth+"px",height:e.footerRowHeight+"px"}}};p.directive("ngCellHasFocus",["$domUtilityService",function(e){var t=function(t){t.isFocused=!0,e.digest(t),t.$broadcast("ngGridEventStartCellEdit"),t.$on("ngGridEventEndCellEdit",function(){t.isFocused=!1,e.digest(t)})};return function(e,n){var o=!1,i=!1;e.editCell=function(){e.enableCellEditOnFocus||setTimeout(function(){t(e,n)},0)},n.bind("mousedown",function(){return e.enableCellEditOnFocus?i=!0:n.focus(),!0}),n.bind("click",function(o){e.enableCellEditOnFocus&&(o.preventDefault(),i=!1,t(e,n))}),n.bind("focus",function(){return o=!0,e.enableCellEditOnFocus&&!i&&t(e,n),!0}),n.bind("blur",function(){return o=!1,!0}),n.bind("keydown",function(i){return e.enableCellEditOnFocus||(o&&37!==i.keyCode&&38!==i.keyCode&&39!==i.keyCode&&40!==i.keyCode&&9!==i.keyCode&&!i.shiftKey&&13!==i.keyCode&&t(e,n),o&&i.shiftKey&&i.keyCode>=65&&90>=i.keyCode&&t(e,n),27===i.keyCode&&n.focus()),!0})}}]),p.directive("ngCellText",function(){return function(e,t){t.bind("mouseover",function(e){e.preventDefault(),t.css({cursor:"text"})}),t.bind("mouseleave",function(e){e.preventDefault(),t.css({cursor:"default"})})}}),p.directive("ngCell",["$compile","$domUtilityService",function(e,t){var n={scope:!1,compile:function(){return{pre:function(t,n){var o,i=t.col.cellTemplate.replace(d,"row.entity."+t.col.field);t.col.enableCellEdit?(o=t.col.cellEditTemplate,o=o.replace(u,i),o=o.replace(f,t.col.editableCellTemplate.replace(d,"row.entity."+t.col.field))):o=i;var r=e(o)(t);t.enableCellSelection&&-1===r[0].className.indexOf("ngSelectionCell")&&(r[0].setAttribute("tabindex",0),r.addClass("ngCellElement")),n.append(r)},post:function(e,n){e.enableCellSelection&&e.domAccessProvider.selectionHandlers(e,n),e.$on("ngGridEventDigestCell",function(){t.digest(e)})}}}};return n}]),p.directive("ngEditCellIf",[function(){return{transclude:"element",priority:1e3,terminal:!0,restrict:"A",compile:function(e,t,n){return function(e,t,o){var i,r;e.$watch(o.ngEditCellIf,function(o){i&&(i.remove(),i=void 0),r&&(r.$destroy(),r=void 0),o&&(r=e.$new(),n(r,function(e){i=e,t.after(e)}))})}}}}]),p.directive("ngGridFooter",["$compile","$templateCache",function(e,t){var n={scope:!1,compile:function(){return{pre:function(n,o){0===o.children().length&&o.append(e(t.get(n.gridId+"footerTemplate.html"))(n))}}}};return n}]),p.directive("ngGridMenu",["$compile","$templateCache",function(e,t){var n={scope:!1,compile:function(){return{pre:function(n,o){0===o.children().length&&o.append(e(t.get(n.gridId+"menuTemplate.html"))(n))}}}};return n}]),p.directive("ngGrid",["$compile","$filter","$templateCache","$sortService","$domUtilityService","$utilityService","$timeout","$parse","$http","$q",function(e,n,o,i,r,l,a,s,c,g){var d={scope:!0,compile:function(){return{pre:function(d,u,f){var h=t(u),p=d.$eval(f.ngGrid);p.gridDim=new b({outerHeight:t(h).height(),outerWidth:t(h).width()});var m=new T(d,p,i,r,n,o,l,a,s,c,g);return m.init().then(function(){if("string"==typeof p.columnDefs?d.$parent.$watch(p.columnDefs,function(e){return e?(m.lateBoundColumns=!1,d.columns=[],m.config.columnDefs=e,m.buildColumns(),m.eventProvider.assignEvents(),r.RebuildGrid(d,m),void 0):(m.refreshDomSizes(),m.buildColumns(),void 0)},!0):m.buildColumns(),"string"==typeof p.totalServerItems?d.$parent.$watch(p.totalServerItems,function(e){d.totalServerItems=angular.isDefined(e)?e:0}):d.totalServerItems=0,"string"==typeof p.data){var n=function(e){m.data=t.extend([],e),m.rowFactory.fixRowCache(),angular.forEach(m.data,function(e,t){var n=m.rowMap[t]||t;m.rowCache[n]&&m.rowCache[n].ensureEntity(e),m.rowMap[n]=t}),m.searchProvider.evalFilter(),m.configureColumnWidths(),m.refreshDomSizes(),m.config.sortInfo.fields.length>0&&(m.sortColumnsInit(),d.$emit("ngGridEventSorted",m.config.sortInfo)),d.$emit("ngGridEventData",m.gridId)};d.$parent.$watch(p.data,n),d.$parent.$watch(p.data+".length",function(){n(d.$eval(p.data))})}return m.footerController=new y(d,m),u.addClass("ngGrid").addClass(""+m.gridId),p.enableHighlighting||u.addClass("unselectable"),p.jqueryUITheme&&u.addClass("ui-widget"),u.append(e(o.get("gridTemplate.html"))(d)),r.AssignGridContainers(d,u,m),m.eventProvider=new x(m,d,r,a),p.selectRow=function(e,t){m.rowCache[e]&&(m.rowCache[e].clone&&m.rowCache[e].clone.setSelection(t?!0:!1),m.rowCache[e].setSelection(t?!0:!1))},p.selectItem=function(e,t){p.selectRow(m.rowMap[e],t)},p.selectAll=function(e){d.toggleSelectAll(e)},p.selectVisible=function(e){d.toggleSelectAll(e,!0)},p.groupBy=function(e){if(e)d.groupBy(d.columns.filter(function(t){return t.field===e})[0]);else{var n=t.extend(!0,[],d.configGroups);angular.forEach(n,d.groupBy)}},p.sortBy=function(e){var t=d.columns.filter(function(t){return t.field===e})[0];t&&t.sort()},p.gridId=m.gridId,p.ngGrid=m,p.$gridScope=d,p.$gridServices={SortService:i,DomUtilityService:r,UtilityService:l},d.$on("ngGridEventDigestGrid",function(){r.digest(d.$parent)}),d.$on("ngGridEventDigestGridParent",function(){r.digest(d.$parent)}),d.$evalAsync(function(){d.adjustScrollLeft(0)}),angular.forEach(p.plugins,function(e){"function"==typeof e&&(e=new e),e.init(d.$new(),m,p.$gridServices),p.plugins[l.getInstanceType(e)]=e}),"function"==typeof p.init&&p.init(m,d),null})}}}};return d}]),p.directive("ngHeaderCell",["$compile",function(e){var t={scope:!1,compile:function(){return{pre:function(t,n){n.append(e(t.col.headerCellTemplate)(t))}}}};return t}]),p.directive("ngInput",[function(){return{require:"ngModel",link:function(e,t,n,o){var i,r=e.$watch("ngModel",function(){i=o.$modelValue,r()});t.bind("keydown",function(n){switch(n.keyCode){case 37:case 38:case 39:case 40:n.stopPropagation();break;case 27:e.$$phase||e.$apply(function(){o.$setViewValue(i),t.blur()});break;case 13:(e.enableCellEditOnFocus&&e.totalFilteredItemsLength()-1>e.row.rowIndex&&e.row.rowIndex>0||e.enableCellEdit)&&t.blur()}return!0}),t.bind("click",function(e){e.stopPropagation()}),t.bind("mousedown",function(e){e.stopPropagation()}),e.$on("ngGridEventStartCellEdit",function(){t.focus(),t.select()}),angular.element(t).bind("blur",function(){e.$emit("ngGridEventEndCellEdit")})}}}]),p.directive("ngRow",["$compile","$domUtilityService","$templateCache",function(e,t,n){var o={scope:!1,compile:function(){return{pre:function(o,i){if(o.row.elm=i,o.row.clone&&(o.row.clone.elm=i),o.row.isAggRow){var r=n.get(o.gridId+"aggregateTemplate.html");r=o.row.aggLabelFilter?r.replace(g,"| "+o.row.aggLabelFilter):r.replace(g,""),i.append(e(r)(o))}else i.append(e(n.get(o.gridId+"rowTemplate.html"))(o));o.$on("ngGridEventDigestRow",function(){t.digest(o)})}}}};return o}]),p.directive("ngViewport",[function(){return function(e,t){var n,o,i=0;t.bind("scroll",function(t){var r=t.target.scrollLeft,l=t.target.scrollTop;return e.$headerContainer&&e.$headerContainer.scrollLeft(r),e.adjustScrollLeft(r),e.adjustScrollTop(l),e.$root.$$phase||e.$digest(),o=r,i=l,n=!1,!0}),t.bind("mousewheel DOMMouseScroll",function(){return n=!0,t.focus&&t.focus(),!0}),e.enableCellSelection||e.domAccessProvider.selectionHandlers(e,t)}}]),e.ngGrid.i18n.da={ngAggregateLabel:"artikler",ngGroupPanelDescription:"Grupér rækker udfra en kolonne ved at trække dens overskift hertil.",ngSearchPlaceHolder:"Søg...",ngMenuText:"Vælg kolonner:",ngShowingItemsLabel:"Viste rækker:",ngTotalItemsLabel:"Rækker totalt:",ngSelectedItemsLabel:"Valgte rækker:",ngPageSizeLabel:"Side størrelse:",ngPagerFirstTitle:"Første side",ngPagerNextTitle:"Næste side",ngPagerPrevTitle:"Forrige side",ngPagerLastTitle:"Sidste side"},e.ngGrid.i18n.de={ngAggregateLabel:"artikel",ngGroupPanelDescription:"Ziehen Sie eine Spaltenüberschrift hier und legen Sie es der Gruppe nach dieser Spalte.",ngSearchPlaceHolder:"Suche...",ngMenuText:"Spalten auswählen:",ngShowingItemsLabel:"Zeige Artikel:",ngTotalItemsLabel:"Meiste Artikel:",ngSelectedItemsLabel:"Ausgewählte Artikel:",ngPageSizeLabel:"Größe Seite:",ngPagerFirstTitle:"Erste Page",ngPagerNextTitle:"Nächste Page",ngPagerPrevTitle:"Vorherige Page",ngPagerLastTitle:"Letzte Page"},e.ngGrid.i18n.en={ngAggregateLabel:"items",ngGroupPanelDescription:"Drag a column header here and drop it to group by that column.",ngSearchPlaceHolder:"Search...",ngMenuText:"Choose Columns:",ngShowingItemsLabel:"Showing Items:",ngTotalItemsLabel:"Total Items:",ngSelectedItemsLabel:"Selected Items:",ngPageSizeLabel:"Page Size:",ngPagerFirstTitle:"First Page",ngPagerNextTitle:"Next Page",ngPagerPrevTitle:"Previous Page",ngPagerLastTitle:"Last Page"},e.ngGrid.i18n.es={ngAggregateLabel:"Artículos",ngGroupPanelDescription:"Arrastre un encabezado de columna aquí y soltarlo para agrupar por esa columna.",ngSearchPlaceHolder:"Buscar...",ngMenuText:"Elegir columnas:",ngShowingItemsLabel:"Artículos Mostrando:",ngTotalItemsLabel:"Artículos Totales:",ngSelectedItemsLabel:"Artículos Seleccionados:",ngPageSizeLabel:"Tamaño de Página:",ngPagerFirstTitle:"Primera Página",ngPagerNextTitle:"Página Siguiente",ngPagerPrevTitle:"Página Anterior",ngPagerLastTitle:"Última Página"},e.ngGrid.i18n.fr={ngAggregateLabel:"articles",ngGroupPanelDescription:"Faites glisser un en-tête de colonne ici et déposez-le vers un groupe par cette colonne.",ngSearchPlaceHolder:"Recherche...",ngMenuText:"Choisir des colonnes:",ngShowingItemsLabel:"Articles Affichage des:",ngTotalItemsLabel:"Nombre total d'articles:",ngSelectedItemsLabel:"Éléments Articles:",ngPageSizeLabel:"Taille de page:",ngPagerFirstTitle:"Première page",ngPagerNextTitle:"Page Suivante",ngPagerPrevTitle:"Page précédente",ngPagerLastTitle:"Dernière page"},e.ngGrid.i18n["pt-br"]={ngAggregateLabel:"items",ngGroupPanelDescription:"Arraste e solte uma coluna aqui para agrupar por essa coluna",ngSearchPlaceHolder:"Procurar...",ngMenuText:"Selecione as colunas:",ngShowingItemsLabel:"Mostrando os Items:",ngTotalItemsLabel:"Total de Items:",ngSelectedItemsLabel:"Items Selecionados:",ngPageSizeLabel:"Tamanho da Página:",ngPagerFirstTitle:"Primeira Página",ngPagerNextTitle:"Próxima Página",ngPagerPrevTitle:"Página Anterior",ngPagerLastTitle:"Última Página"},e.ngGrid.i18n["zh-cn"]={ngAggregateLabel:"条目",ngGroupPanelDescription:"拖曳表头到此处以进行分组",ngSearchPlaceHolder:"搜索...",ngMenuText:"数据分组与选择列:",ngShowingItemsLabel:"当前显示条目:",ngTotalItemsLabel:"条目总数:",ngSelectedItemsLabel:"选中条目:",ngPageSizeLabel:"每页显示数:",ngPagerFirstTitle:"回到首页",ngPagerNextTitle:"下一页",ngPagerPrevTitle:"上一页",ngPagerLastTitle:"前往尾页"},e.ngGrid.i18n["zh-tw"]={ngAggregateLabel:"筆",ngGroupPanelDescription:"拖拉表頭到此處以進行分組",ngSearchPlaceHolder:"搜尋...",ngMenuText:"選擇欄位:",ngShowingItemsLabel:"目前顯示筆數:",ngTotalItemsLabel:"總筆數:",ngSelectedItemsLabel:"選取筆數:",ngPageSizeLabel:"每頁顯示:",ngPagerFirstTitle:"第一頁",ngPagerNextTitle:"下一頁",ngPagerPrevTitle:"上一頁",ngPagerLastTitle:"最後頁"},angular.module("ngGrid").run(["$templateCache",function(e){e.put("aggregateTemplate.html",' {{row.label CUSTOM_FILTERS}} ({{row.totalChildren()}} {{AggItemsLabel}})
'),e.put("cellEditTemplate.html",' DISPLAY_CELL_TEMPLATE
EDITABLE_CELL_TEMPLATE
'),e.put("cellTemplate.html",'{{COL_FIELD CUSTOM_FILTERS}}
'),e.put("checkboxCellTemplate.html",'
'),e.put("checkboxHeaderTemplate.html",''),e.put("editableCellTemplate.html",' '),e.put("footerTemplate.html",''),e.put("gridTemplate.html",' {{i18n.ngGroupPanelDescription}}
'),e.put("headerCellTemplate.html",''),e.put("headerRowTemplate.html",''),e.put("menuTemplate.html",''),e.put("rowTemplate.html",'')}])})(window,jQuery);
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/ng-grid-2.0.7.min.css b/adc-da-main/target/classes/static/editor-app/libs/ng-grid-2.0.7.min.css
deleted file mode 100644
index d967316..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/ng-grid-2.0.7.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.ngGrid{background-color:#fdfdfd}.ngGrid input[type="checkbox"]{margin:0;padding:0}.ngGrid input{vertical-align:top}.ngGrid.unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.ngViewport{overflow:auto;min-height:20px}.ngViewport:focus{outline:0}.ngCanvas{position:relative}.ngVerticalBar{position:absolute;right:0;width:0}.ngVerticalBarVisible{width:1px;background-color:#d4d4d4}.ngHeaderContainer{position:relative;overflow:hidden;font-weight:bold;background-color:inherit}.ngHeaderCell{position:absolute;top:0;bottom:0;background-color:inherit}.ngHeaderCell.pinned{z-index:1}.ngHeaderSortColumn{position:absolute;overflow:hidden}.ngTopPanel{position:relative;z-index:1;background-color:#eaeaea;border-bottom:1px solid #d4d4d4}.ngSortButtonDown{position:absolute;top:3px;left:0;right:0;margin-left:auto;margin-right:auto;border-color:gray transparent;border-style:solid;border-width:0 5px 5px 5px;height:0;width:0}.ngNoSort{cursor:default}.ngHeaderButton{position:absolute;right:2px;top:8px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:14px;height:14px;z-index:1;background-color:#9fbbb4;cursor:pointer}.ngSortButtonUp{position:absolute;top:3px;left:0;right:0;margin-left:auto;margin-right:auto;border-color:gray transparent;border-style:solid;border-width:5px 5px 0 5px;height:0;width:0}.ngHeaderScroller{position:absolute;background-color:inherit}.ngSortPriority{position:absolute;top:-5px;left:1px;font-size:6pt;font-weight:bold}.ngHeaderGrip{cursor:col-resize;width:10px;right:-5px;top:0;height:100%;position:absolute;background-color:transparent}.ngHeaderText{padding:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.ngHeaderButtonArrow{position:absolute;top:4px;left:3px;width:0;height:0;border-style:solid;border-width:6.5px 4.5px 0 4.5px;border-color:#4d4d4d transparent transparent transparent}.ngPinnedIcon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAmElEQVQoU33PQapBURjA8UtkwJuaWYGSgfQWYBMvczPmTCzAAGVuaA228BZhRCkDGSmE31FucuRfvzq3vr5zT/JSjSU7DsypEPXDkDVn2hSIytJhw4kWGaLCxgHh2gt/RBuLzNhz5caWPjnSqqw4EraFfwznf8qklWjwy4IRTerkiQoPGtPl40OehcEJvcfXl8LglLfBJLkDcMgbgHlHhK8AAAAASUVORK5CYII=);background-repeat:no-repeat;position:absolute;right:5px;top:5px;height:10px;width:10px}.ngUnPinnedIcon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAlElEQVQoU33PPQrCQBRF4fFnI2KfZVi5ARvdgo1l6mwmkCJVOgluwd5OwUoDtnoOxAei8cLXTN7cvEl/skCNDCMPfsUPO5zQwOHIDEvYtMURHe6wOVLgigvOePRyeDkyR4ln7wZ//7XfFBu8B23+aDJjrHGAwza7hjtHJvDmHg7b7Bru7AMjK7Rw2ObBVHDY5oGk9AKQNB2zy8MBTgAAAABJRU5ErkJggg==);background-repeat:no-repeat;position:absolute;height:10px;width:10px;right:5px;top:5px}.ngColMenu{right:2px;padding:5px;top:25px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#bdd0cb;position:absolute;border:2px solid #d4d4d4;z-index:1}.ngColListCheckbox{position:relative;right:3px;top:4px}.ngColList{list-style-type:none}.ngColListItem{position:relative;right:17px;top:2px;white-space:nowrap}.ngMenuText{position:relative;top:2px;left:2px}.ngGroupPanel{background-color:#eaeaea;overflow:hidden;border-bottom:1px solid #d4d4d4}.ngGroupPanelDescription{margin-top:5px;margin-left:5px}.ngGroupList{list-style-type:none;margin:0;padding:0}.ngAggHeader{position:absolute;border:0}.ngGroupElement{float:left;height:100%;width:100%}.ngGroupIcon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAEFJREFUKFNjoAhISkr+h2J5JDZODNXGwGBsbPwfhIGAA8bGh6HaGBiAGhxAGJmND4M1gQCSM0adCsVQbcPcqQwMALWDGyDvWPefAAAAAElFTkSuQmCC);background-repeat:no-repeat;height:15px;width:15px;position:absolute;right:-2px;top:2px}.ngGroupedByIcon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAElJREFUKFNjoAhISkr+R8LyaHwMDNXGwGBsbPwfhoGAA5mPDUO1oWpE52PDYE0gALTFAYbR+dgwWBMIoPlh1I9ADNU2NPzIwAAAFQYI9E4OLvEAAAAASUVORK5CYII=);background-repeat:no-repeat;height:15px;width:15px;position:absolute;right:-2px;top:2px}.ngGroupName{background-color:#fdfdfd;border:1px solid #d4d4d4;padding:3px 10px;float:left;margin-left:0;margin-top:2px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-weight:bold}.ngGroupArrow{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid black;margin-top:10px;margin-left:5px;margin-right:5px;float:right}.ngGroupingNumber{position:absolute;right:-10px;top:-2px}.ngAggArrowCollapsed{position:absolute;left:8px;bottom:10px;width:0;height:0;border-style:solid;border-width:5px 0 5px 8.7px;border-color:transparent transparent transparent #000}.ngGroupItem{float:left}.ngGroupItem:first-child{margin-left:2px}.ngRemoveGroup{width:5px;-moz-opacity:.4;opacity:.4;margin-top:-1px;margin-left:5px}.ngRemoveGroup:hover{color:black;text-decoration:none;cursor:pointer;-moz-opacity:.7;opacity:.7}.ngAggArrowExpanded{position:absolute;left:8px;bottom:10px;width:0;height:0;border-style:solid;border-width:0 0 9px 9px;border-color:transparent transparent #000 transparent}.ngAggregate{position:absolute;background-color:#c9dde1;border-bottom:1px solid beige;overflow:hidden;top:0;bottom:0;right:-1px;left:0}.ngAggregateText{position:absolute;left:27px;top:5px;line-height:20px;white-space:nowrap}.ngRow{position:absolute;border-bottom:1px solid #d4d4d4}.ngRow.odd{background-color:#fdfdfd}.ngRow.even{background-color:#f3f3f3}.ngRow.selected{background-color:#c9dde1}.ngCell{overflow:hidden;position:absolute;top:0;bottom:0;background-color:inherit}.ngCell.pinned{z-index:1}.ngCellText{padding:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.ngSelectionCell{margin-top:9px;margin-left:6px}.ngSelectionHeader{position:absolute;top:11px;left:6px}.ngCellElement:focus{outline:0;background-color:#b3c4c7}.ngRow.canSelect{cursor:pointer}.ngSelectionCheckbox{margin-top:9px;margin-left:6px}.ngFooterPanel{background-color:#eaeaea;padding:0;border-top:1px solid #d4d4d4;position:relative}.nglabel{display:block;float:left;font-weight:bold;padding-right:5px}.ngTotalSelectContainer{float:left;margin:5px;margin-top:7px}.ngFooterSelectedItems{padding:2px}.ngFooterTotalItems.ngnoMultiSelect{padding:0!important}.ngPagerFirstBar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:-3px}.ngPagerButton{height:25px;min-width:26px}.ngPagerFirstTriangle{width:0;height:0;border-style:solid;border-width:5px 8.7px 5px 0;border-color:transparent #4d4d4d transparent transparent;margin-left:2px}.ngPagerNextTriangle{margin-left:1px}.ngPagerPrevTriangle{margin-left:0}.ngPagerLastTriangle{width:0;height:0;border-style:solid;border-width:5px 0 5px 8.7px;border-color:transparent transparent transparent #4d4d4d;margin-left:-1px}.ngPagerLastBar{width:10px;border-left:2px solid #4d4d4d;margin-top:-6px;height:12px;margin-left:1px}.ngFooterTotalItems{padding:2px}
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/path_parser.js b/adc-da-main/target/classes/static/editor-app/libs/path_parser.js
deleted file mode 100644
index 0711437..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/path_parser.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*****
-*
-* The contents of this file were written by Kevin Lindsey
-* copyright 2002-2003 Kevin Lindsey
-*
-* This file was compacted by jscompact
-* A Perl utility written by Kevin Lindsey (kevin@kevlindev.com)
-*
-*****/
-
-Svg.VERSION=1.0;
-Svg.NAMESPACE="http://www.w3.org/2000/svg";
-function Svg(){}
-PathParser.PARAMCOUNT={A:7,C:6,H:1,L:2,M:2,Q:4,S:4,T:2,V:1,Z:0};
-PathParser.METHODNAME={A:"arcAbs",a:"arcRel",C:"curvetoCubicAbs",c:"curvetoCubicRel",H:"linetoHorizontalAbs",h:"linetoHorizontalRel",L:"linetoAbs",l:"linetoRel",M:"movetoAbs",m:"movetoRel",Q:"curvetoQuadraticAbs",q:"curvetoQuadraticRel",S:"curvetoCubicSmoothAbs",s:"curvetoCubicSmoothRel",T:"curvetoQuadraticSmoothAbs",t:"curvetoQuadraticSmoothRel",V:"linetoVerticalAbs",v:"linetoVerticalRel",Z:"closePath",z:"closePath"}
-function PathParser(){this._lexer=new PathLexer();this._handler=null;}
-PathParser.prototype.parsePath=function(path){if(path==null||path.namespaceURI!=Svg.NAMESPACE||path.localName!="path")throw new Error("PathParser.parsePath: The first parameter must be an SVG path element");this.parseData(path.getAttributeNS(null,"d"));};
-PathParser.prototype.parseData=function(pathData){if(typeof(pathData)!="string")throw new Error("PathParser.parseData: The first parameter must be a string");if(this._handler!=null&&this._handler.beginParse!=null)this._handler.beginParse();var lexer=this._lexer;lexer.setPathData(pathData);var mode="BOP";var token=lexer.getNextToken();while(!token.typeis(PathToken.EOD)){var param_count;var params=new Array();switch(token.type){case PathToken.COMMAND:if(mode=="BOP"&&token.text!="M"&&token.text!="m")throw new Error("PathParser.parseData: a path must begin with a moveto command");mode=token.text;param_count=PathParser.PARAMCOUNT[token.text.toUpperCase()];token=lexer.getNextToken();break;case PathToken.NUMBER:break;default:throw new Error("PathParser.parseData: unrecognized token type: "+token.type);}for(var i=0;i0){this.init(type,text);}}
-PathToken.prototype.init=function(type,text){this.type=type;this.text=text;};
-PathToken.prototype.typeis=function(type){return this.type==type;}
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/prototype-1.5.1.js b/adc-da-main/target/classes/static/editor-app/libs/prototype-1.5.1.js
deleted file mode 100644
index b3f19f4..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/prototype-1.5.1.js
+++ /dev/null
@@ -1,3272 +0,0 @@
-/* Prototype JavaScript framework, version 1.5.1
- * (c) 2005-2007 Sam Stephenson
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://www.prototypejs.org/
- *
-/*--------------------------------------------------------------------------*/
-
-var Prototype = {
- Version: '1.5.1',
-
- Browser: {
- IE: !!(window.attachEvent && !window.opera),
- Opera: !!window.opera,
- WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
- Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
- },
-
- BrowserFeatures: {
- XPath: !!document.evaluate,
- ElementExtensions: !!window.HTMLElement,
- SpecificElementExtensions:
- (document.createElement('div').__proto__ !==
- document.createElement('form').__proto__)
- },
-
- ScriptFragment: '',
- JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,
-
- emptyFunction: function() { },
- K: function(x) { return x }
-}
-
-var Class = {
- create: function() {
- return function() {
- this.initialize.apply(this, arguments);
- }
- }
-}
-
-var Abstract = new Object();
-
-Object.extend = function(destination, source) {
- for (var property in source) {
- destination[property] = source[property];
- }
- return destination;
-}
-
-Object.extend(Object, {
- inspect: function(object) {
- try {
- if (object === undefined) return 'undefined';
- if (object === null) return 'null';
- return object.inspect ? object.inspect() : object.toString();
- } catch (e) {
- if (e instanceof RangeError) return '...';
- throw e;
- }
- },
-
- toJSON: function(object) {
- var type = typeof object;
- switch(type) {
- case 'undefined':
- case 'function':
- case 'unknown': return;
- case 'boolean': return object.toString();
- }
- if (object === null) return 'null';
- if (object.toJSON) return object.toJSON();
- if (object.ownerDocument === document) return;
- var results = [];
- for (var property in object) {
- var value = Object.toJSON(object[property]);
- if (value !== undefined)
- results.push(property.toJSON() + ': ' + value);
- }
- return '{' + results.join(', ') + '}';
- },
-
- keys: function(object) {
- var keys = [];
- for (var property in object)
- keys.push(property);
- return keys;
- },
-
- values: function(object) {
- var values = [];
- for (var property in object)
- values.push(object[property]);
- return values;
- },
-
- clone: function(object) {
- return Object.extend({}, object);
- }
-});
-
-Function.prototype.bind = function() {
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
-}
-
-Function.prototype.bindAsEventListener = function(object) {
- var __method = this, args = $A(arguments), object = args.shift();
- return function(event) {
- return __method.apply(object, [event || window.event].concat(args));
- }
-}
-
-Object.extend(Number.prototype, {
- toColorPart: function() {
- return this.toPaddedString(2, 16);
- },
-
- succ: function() {
- return this + 1;
- },
-
- times: function(iterator) {
- $R(0, this, true).each(iterator);
- return this;
- },
-
- toPaddedString: function(length, radix) {
- var string = this.toString(radix || 10);
- return '0'.times(length - string.length) + string;
- },
-
- toJSON: function() {
- return isFinite(this) ? this.toString() : 'null';
- }
-});
-
-Date.prototype.toJSON = function() {
- return '"' + this.getFullYear() + '-' +
- (this.getMonth() + 1).toPaddedString(2) + '-' +
- this.getDate().toPaddedString(2) + 'T' +
- this.getHours().toPaddedString(2) + ':' +
- this.getMinutes().toPaddedString(2) + ':' +
- this.getSeconds().toPaddedString(2) + '"';
-};
-
-var Try = {
- these: function() {
- var returnValue;
-
- for (var i = 0, length = arguments.length; i < length; i++) {
- var lambda = arguments[i];
- try {
- returnValue = lambda();
- break;
- } catch (e) {}
- }
-
- return returnValue;
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create();
-PeriodicalExecuter.prototype = {
- initialize: function(callback, frequency) {
- this.callback = callback;
- this.frequency = frequency;
- this.currentlyExecuting = false;
-
- this.registerCallback();
- },
-
- registerCallback: function() {
- this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- stop: function() {
- if (!this.timer) return;
- clearInterval(this.timer);
- this.timer = null;
- },
-
- onTimerEvent: function() {
- if (!this.currentlyExecuting) {
- try {
- this.currentlyExecuting = true;
- this.callback(this);
- } finally {
- this.currentlyExecuting = false;
- }
- }
- }
-}
-Object.extend(String, {
- interpret: function(value) {
- return value == null ? '' : String(value);
- },
- specialChar: {
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '\\': '\\\\'
- }
-});
-
-Object.extend(String.prototype, {
- gsub: function(pattern, replacement) {
- var result = '', source = this, match;
- replacement = arguments.callee.prepareReplacement(replacement);
-
- while (source.length > 0) {
- if (match = source.match(pattern)) {
- result += source.slice(0, match.index);
- result += String.interpret(replacement(match));
- source = source.slice(match.index + match[0].length);
- } else {
- result += source, source = '';
- }
- }
- return result;
- },
-
- sub: function(pattern, replacement, count) {
- replacement = this.gsub.prepareReplacement(replacement);
- count = count === undefined ? 1 : count;
-
- return this.gsub(pattern, function(match) {
- if (--count < 0) return match[0];
- return replacement(match);
- });
- },
-
- scan: function(pattern, iterator) {
- this.gsub(pattern, iterator);
- return this;
- },
-
- truncate: function(length, truncation) {
- length = length || 30;
- truncation = truncation === undefined ? '...' : truncation;
- return this.length > length ?
- this.slice(0, length - truncation.length) + truncation : this;
- },
-
- strip: function() {
- return this.replace(/^\s+/, '').replace(/\s+$/, '');
- },
-
- stripTags: function() {
- return this.replace(/<\/?[^>]+>/gi, '');
- },
-
- stripScripts: function() {
- return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
- },
-
- extractScripts: function() {
- var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
- var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
- return (this.match(matchAll) || []).map(function(scriptTag) {
- return (scriptTag.match(matchOne) || ['', ''])[1];
- });
- },
-
- evalScripts: function() {
- return this.extractScripts().map(function(script) { return eval(script) });
- },
-
- escapeHTML: function() {
- var self = arguments.callee;
- self.text.data = this;
- return self.div.innerHTML;
- },
-
- unescapeHTML: function() {
- var div = document.createElement('div');
- div.innerHTML = this.stripTags();
- return div.childNodes[0] ? (div.childNodes.length > 1 ?
- $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
- div.childNodes[0].nodeValue) : '';
- },
-
- toQueryParams: function(separator) {
- var match = this.strip().match(/([^?#]*)(#.*)?$/);
- if (!match) return {};
-
- return match[1].split(separator || '&').inject({}, function(hash, pair) {
- if ((pair = pair.split('='))[0]) {
- var key = decodeURIComponent(pair.shift());
- var value = pair.length > 1 ? pair.join('=') : pair[0];
- if (value != undefined) value = decodeURIComponent(value);
-
- if (key in hash) {
- if (hash[key].constructor != Array) hash[key] = [hash[key]];
- hash[key].push(value);
- }
- else hash[key] = value;
- }
- return hash;
- });
- },
-
- toArray: function() {
- return this.split('');
- },
-
- succ: function() {
- return this.slice(0, this.length - 1) +
- String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
- },
-
- times: function(count) {
- var result = '';
- for (var i = 0; i < count; i++) result += this;
- return result;
- },
-
- camelize: function() {
- var parts = this.split('-'), len = parts.length;
- if (len == 1) return parts[0];
-
- var camelized = this.charAt(0) == '-'
- ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
- : parts[0];
-
- for (var i = 1; i < len; i++)
- camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
-
- return camelized;
- },
-
- capitalize: function() {
- return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
- },
-
- underscore: function() {
- return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
- },
-
- dasherize: function() {
- return this.gsub(/_/,'-');
- },
-
- inspect: function(useDoubleQuotes) {
- var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
- var character = String.specialChar[match[0]];
- return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
- });
- if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
- return "'" + escapedString.replace(/'/g, '\\\'') + "'";
- },
-
- toJSON: function() {
- return this.inspect(true);
- },
-
- unfilterJSON: function(filter) {
- return this.sub(filter || Prototype.JSONFilter, '#{1}');
- },
-
- evalJSON: function(sanitize) {
- var json = this.unfilterJSON();
- try {
- if (!sanitize || (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(json)))
- return eval('(' + json + ')');
- } catch (e) { }
- throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
- },
-
- include: function(pattern) {
- return this.indexOf(pattern) > -1;
- },
-
- startsWith: function(pattern) {
- return this.indexOf(pattern) === 0;
- },
-
- endsWith: function(pattern) {
- var d = this.length - pattern.length;
- return d >= 0 && this.lastIndexOf(pattern) === d;
- },
-
- empty: function() {
- return this == '';
- },
-
- blank: function() {
- return /^\s*$/.test(this);
- }
-});
-
-if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
- escapeHTML: function() {
- return this.replace(/&/g,'&').replace(/ /g,'>');
- },
- unescapeHTML: function() {
- return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
- }
-});
-
-String.prototype.gsub.prepareReplacement = function(replacement) {
- if (typeof replacement == 'function') return replacement;
- var template = new Template(replacement);
- return function(match) { return template.evaluate(match) };
-}
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-Object.extend(String.prototype.escapeHTML, {
- div: document.createElement('div'),
- text: document.createTextNode('')
-});
-
-with (String.prototype.escapeHTML) div.appendChild(text);
-
-var Template = Class.create();
-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
-Template.prototype = {
- initialize: function(template, pattern) {
- this.template = template.toString();
- this.pattern = pattern || Template.Pattern;
- },
-
- evaluate: function(object) {
- return this.template.gsub(this.pattern, function(match) {
- var before = match[1];
- if (before == '\\') return match[2];
- return before + String.interpret(object[match[3]]);
- });
- }
-}
-
-var $break = {}, $continue = new Error('"throw $continue" is deprecated, use "return" instead');
-
-var Enumerable = {
- each: function(iterator) {
- var index = 0;
- try {
- this._each(function(value) {
- iterator(value, index++);
- });
- } catch (e) {
- if (e != $break)
- throw e;
- }
- return this;
- },
-
- eachSlice: function(number, iterator) {
- var index = -number, slices = [], array = this.toArray();
- while ((index += number) < array.length)
- slices.push(array.slice(index, index+number));
- return slices.map(iterator);
- },
-
- all: function(iterator) {
- var result = true;
- this.each(function(value, index) {
- result = result && !!(iterator || Prototype.K)(value, index);
- if (!result) throw $break;
- });
- return result;
- },
-
- any: function(iterator) {
- var result = false;
- this.each(function(value, index) {
- if (result = !!(iterator || Prototype.K)(value, index))
- throw $break;
- });
- return result;
- },
-
- collect: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- results.push((iterator || Prototype.K)(value, index));
- });
- return results;
- },
-
- detect: function(iterator) {
- var result;
- this.each(function(value, index) {
- if (iterator(value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
-
- findAll: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (iterator(value, index))
- results.push(value);
- });
- return results;
- },
-
- grep: function(pattern, iterator) {
- var results = [];
- this.each(function(value, index) {
- var stringValue = value.toString();
- if (stringValue.match(pattern))
- results.push((iterator || Prototype.K)(value, index));
- })
- return results;
- },
-
- include: function(object) {
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
-
- inGroupsOf: function(number, fillWith) {
- fillWith = fillWith === undefined ? null : fillWith;
- return this.eachSlice(number, function(slice) {
- while(slice.length < number) slice.push(fillWith);
- return slice;
- });
- },
-
- inject: function(memo, iterator) {
- this.each(function(value, index) {
- memo = iterator(memo, value, index);
- });
- return memo;
- },
-
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.map(function(value) {
- return value[method].apply(value, args);
- });
- },
-
- max: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (result == undefined || value >= result)
- result = value;
- });
- return result;
- },
-
- min: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (result == undefined || value < result)
- result = value;
- });
- return result;
- },
-
- partition: function(iterator) {
- var trues = [], falses = [];
- this.each(function(value, index) {
- ((iterator || Prototype.K)(value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
-
- pluck: function(property) {
- var results = [];
- this.each(function(value, index) {
- results.push(value[property]);
- });
- return results;
- },
-
- reject: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator(value, index))
- results.push(value);
- });
- return results;
- },
-
- sortBy: function(iterator) {
- return this.map(function(value, index) {
- return {value: value, criteria: iterator(value, index)};
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
-
- toArray: function() {
- return this.map();
- },
-
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (typeof args.last() == 'function')
- iterator = args.pop();
-
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- return iterator(collections.pluck(index));
- });
- },
-
- size: function() {
- return this.toArray().length;
- },
-
- inspect: function() {
- return '#
';
- }
-}
-
-Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray
-});
-var $A = Array.from = function(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) {
- return iterable.toArray();
- } else {
- var results = [];
- for (var i = 0, length = iterable.length; i < length; i++)
- results.push(iterable[i]);
- return results;
- }
-}
-
-if (Prototype.Browser.WebKit) {
- $A = Array.from = function(iterable) {
- if (!iterable) return [];
- if (!(typeof iterable == 'function' && iterable == '[object NodeList]') &&
- iterable.toArray) {
- return iterable.toArray();
- } else {
- var results = [];
- for (var i = 0, length = iterable.length; i < length; i++)
- results.push(iterable[i]);
- return results;
- }
- }
-}
-
-Object.extend(Array.prototype, Enumerable);
-
-if (!Array.prototype._reverse)
- Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
- _each: function(iterator) {
- for (var i = 0, length = this.length; i < length; i++)
- iterator(this[i]);
- },
-
- clear: function() {
- this.length = 0;
- return this;
- },
-
- first: function() {
- return this[0];
- },
-
- last: function() {
- return this[this.length - 1];
- },
-
- compact: function() {
- return this.select(function(value) {
- return value != null;
- });
- },
-
- flatten: function() {
- return this.inject([], function(array, value) {
- return array.concat(value && value.constructor == Array ?
- value.flatten() : [value]);
- });
- },
-
- without: function() {
- var values = $A(arguments);
- return this.select(function(value) {
- return !values.include(value);
- });
- },
-
- indexOf: function(object) {
- for (var i = 0, length = this.length; i < length; i++)
- if (this[i] == object) return i;
- return -1;
- },
-
- reverse: function(inline) {
- return (inline !== false ? this : this.toArray())._reverse();
- },
-
- reduce: function() {
- return this.length > 1 ? this : this[0];
- },
-
- uniq: function(sorted) {
- return this.inject([], function(array, value, index) {
- if (0 == index || (sorted ? array.last() != value : !array.include(value)))
- array.push(value);
- return array;
- });
- },
-
- clone: function() {
- return [].concat(this);
- },
-
- size: function() {
- return this.length;
- },
-
- inspect: function() {
- return '[' + this.map(Object.inspect).join(', ') + ']';
- },
-
- toJSON: function() {
- var results = [];
- this.each(function(object) {
- var value = Object.toJSON(object);
- if (value !== undefined) results.push(value);
- });
- return '[' + results.join(', ') + ']';
- }
-});
-
-Array.prototype.toArray = Array.prototype.clone;
-
-function $w(string) {
- string = string.strip();
- return string ? string.split(/\s+/) : [];
-}
-
-if (Prototype.Browser.Opera){
- Array.prototype.concat = function() {
- var array = [];
- for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
- for (var i = 0, length = arguments.length; i < length; i++) {
- if (arguments[i].constructor == Array) {
- for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
- array.push(arguments[i][j]);
- } else {
- array.push(arguments[i]);
- }
- }
- return array;
- }
-}
-var Hash = function(object) {
- if (object instanceof Hash) this.merge(object);
- else Object.extend(this, object || {});
-};
-
-Object.extend(Hash, {
- toQueryString: function(obj) {
- var parts = [];
- parts.add = arguments.callee.addPair;
-
- this.prototype._each.call(obj, function(pair) {
- if (!pair.key) return;
- var value = pair.value;
-
- if (value && typeof value == 'object') {
- if (value.constructor == Array) value.each(function(value) {
- parts.add(pair.key, value);
- });
- return;
- }
- parts.add(pair.key, value);
- });
-
- return parts.join('&');
- },
-
- toJSON: function(object) {
- var results = [];
- this.prototype._each.call(object, function(pair) {
- var value = Object.toJSON(pair.value);
- if (value !== undefined) results.push(pair.key.toJSON() + ': ' + value);
- });
- return '{' + results.join(', ') + '}';
- }
-});
-
-Hash.toQueryString.addPair = function(key, value, prefix) {
- key = encodeURIComponent(key);
- if (value === undefined) this.push(key);
- else this.push(key + '=' + (value == null ? '' : encodeURIComponent(value)));
-}
-
-Object.extend(Hash.prototype, Enumerable);
-Object.extend(Hash.prototype, {
- _each: function(iterator) {
- for (var key in this) {
- var value = this[key];
- if (value && value == Hash.prototype[key]) continue;
-
- var pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
- },
-
- keys: function() {
- return this.pluck('key');
- },
-
- values: function() {
- return this.pluck('value');
- },
-
- merge: function(hash) {
- return $H(hash).inject(this, function(mergedHash, pair) {
- mergedHash[pair.key] = pair.value;
- return mergedHash;
- });
- },
-
- remove: function() {
- var result;
- for(var i = 0, length = arguments.length; i < length; i++) {
- var value = this[arguments[i]];
- if (value !== undefined){
- if (result === undefined) result = value;
- else {
- if (result.constructor != Array) result = [result];
- result.push(value)
- }
- }
- delete this[arguments[i]];
- }
- return result;
- },
-
- toQueryString: function() {
- return Hash.toQueryString(this);
- },
-
- inspect: function() {
- return '#';
- },
-
- toJSON: function() {
- return Hash.toJSON(this);
- }
-});
-
-function $H(object) {
- if (object instanceof Hash) return object;
- return new Hash(object);
-};
-
-// Safari iterates over shadowed properties
-if (function() {
- var i = 0, Test = function(value) { this.key = value };
- Test.prototype.key = 'foo';
- for (var property in new Test('bar')) i++;
- return i > 1;
-}()) Hash.prototype._each = function(iterator) {
- var cache = [];
- for (var key in this) {
- var value = this[key];
- if ((value && value == Hash.prototype[key]) || cache.include(key)) continue;
- cache.push(key);
- var pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
-};
-ObjectRange = Class.create();
-Object.extend(ObjectRange.prototype, Enumerable);
-Object.extend(ObjectRange.prototype, {
- initialize: function(start, end, exclusive) {
- this.start = start;
- this.end = end;
- this.exclusive = exclusive;
- },
-
- _each: function(iterator) {
- var value = this.start;
- while (this.include(value)) {
- iterator(value);
- value = value.succ();
- }
- },
-
- include: function(value) {
- if (value < this.start)
- return false;
- if (this.exclusive)
- return value < this.end;
- return value <= this.end;
- }
-});
-
-var $R = function(start, end, exclusive) {
- return new ObjectRange(start, end, exclusive);
-}
-
-var Ajax = {
- getTransport: function() {
- return Try.these(
- function() {return new XMLHttpRequest()},
- function() {return new ActiveXObject('Msxml2.XMLHTTP')},
- function() {return new ActiveXObject('Microsoft.XMLHTTP')}
- ) || false;
- },
-
- activeRequestCount: 0
-}
-
-Ajax.Responders = {
- responders: [],
-
- _each: function(iterator) {
- this.responders._each(iterator);
- },
-
- register: function(responder) {
- if (!this.include(responder))
- this.responders.push(responder);
- },
-
- unregister: function(responder) {
- this.responders = this.responders.without(responder);
- },
-
- dispatch: function(callback, request, transport, json) {
- this.each(function(responder) {
- if (typeof responder[callback] == 'function') {
- try {
- responder[callback].apply(responder, [request, transport, json]);
- } catch (e) {}
- }
- });
- }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
- onCreate: function() {
- Ajax.activeRequestCount++;
- },
- onComplete: function() {
- Ajax.activeRequestCount--;
- }
-});
-
-Ajax.Base = function() {};
-Ajax.Base.prototype = {
- setOptions: function(options) {
- this.options = {
- method: 'post',
- asynchronous: true,
- contentType: 'application/x-www-form-urlencoded',
- encoding: 'UTF-8',
- parameters: ''
- }
- Object.extend(this.options, options || {});
-
- this.options.method = this.options.method.toLowerCase();
- if (typeof this.options.parameters == 'string')
- this.options.parameters = this.options.parameters.toQueryParams();
- }
-}
-
-Ajax.Request = Class.create();
-Ajax.Request.Events =
- ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
- _complete: false,
-
- initialize: function(url, options) {
- this.transport = Ajax.getTransport();
- this.setOptions(options);
- this.request(url);
- },
-
- request: function(url) {
- this.url = url;
- this.method = this.options.method;
- var params = Object.clone(this.options.parameters);
-
- if (!['get', 'post'].include(this.method)) {
- // simulate other verbs over post
- params['_method'] = this.method;
- this.method = 'post';
- }
-
- this.parameters = params;
-
- if (params = Hash.toQueryString(params)) {
- // when GET, append parameters to URL
- if (this.method == 'get' || this.options.postBody)
- this.url += (this.url.include('?') ? '&' : '?') + params;
- else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
- params += '&_=';
- }
-
- try {
- if (this.options.onCreate) this.options.onCreate(this.transport);
- Ajax.Responders.dispatch('onCreate', this, this.transport);
-
- this.transport.open(this.method.toUpperCase(), this.url,
- this.options.asynchronous);
-
- if (this.options.asynchronous)
- setTimeout(function() { this.respondToReadyState(1) }.bind(this), 10);
-
- this.transport.onreadystatechange = this.onStateChange.bind(this);
- this.setRequestHeaders();
-
- this.body = this.method == 'post' ? (this.options.postBody || params) : null;
- this.transport.send(this.body);
-
- /* Force Firefox to handle ready state 4 for synchronous requests */
- if (!this.options.asynchronous && this.transport.overrideMimeType)
- this.onStateChange();
-
- }
- catch (e) {
- this.dispatchException(e);
- }
- },
-
- onStateChange: function() {
- var readyState = this.transport.readyState;
- if (readyState > 1 && !((readyState == 4) && this._complete))
- this.respondToReadyState(this.transport.readyState);
- },
-
- setRequestHeaders: function() {
- var headers = {
- 'X-Requested-With': 'XMLHttpRequest',
- 'X-Prototype-Version': Prototype.Version,
- 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
- };
-
- if (this.method == 'post') {
- headers['Content-type'] = this.options.contentType +
- (this.options.encoding ? '; charset=' + this.options.encoding : '');
-
- /* Force "Connection: close" for older Mozilla browsers to work
- * around a bug where XMLHttpRequest sends an incorrect
- * Content-length header. See Mozilla Bugzilla #246651.
- */
- if (this.transport.overrideMimeType &&
- (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
- headers['Connection'] = 'close';
- }
-
- // user-defined headers
- if (typeof this.options.requestHeaders == 'object') {
- var extras = this.options.requestHeaders;
-
- if (typeof extras.push == 'function')
- for (var i = 0, length = extras.length; i < length; i += 2)
- headers[extras[i]] = extras[i+1];
- else
- $H(extras).each(function(pair) { headers[pair.key] = pair.value });
- }
-
- for (var name in headers)
- this.transport.setRequestHeader(name, headers[name]);
- },
-
- success: function() {
- return !this.transport.status
- || (this.transport.status >= 200 && this.transport.status < 300);
- },
-
- respondToReadyState: function(readyState) {
- var state = Ajax.Request.Events[readyState];
- var transport = this.transport, json = this.evalJSON();
-
- if (state == 'Complete') {
- try {
- this._complete = true;
- (this.options['on' + this.transport.status]
- || this.options['on' + (this.success() ? 'Success' : 'Failure')]
- || Prototype.emptyFunction)(transport, json);
- } catch (e) {
- this.dispatchException(e);
- }
-
- var contentType = this.getHeader('Content-type');
- if (contentType && contentType.strip().
- match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
- this.evalResponse();
- }
-
- try {
- (this.options['on' + state] || Prototype.emptyFunction)(transport, json);
- Ajax.Responders.dispatch('on' + state, this, transport, json);
- } catch (e) {
- this.dispatchException(e);
- }
-
- if (state == 'Complete') {
- // avoid memory leak in MSIE: clean up
- this.transport.onreadystatechange = Prototype.emptyFunction;
- }
- },
-
- getHeader: function(name) {
- try {
- return this.transport.getResponseHeader(name);
- } catch (e) { return null }
- },
-
- evalJSON: function() {
- try {
- var json = this.getHeader('X-JSON');
- return json ? json.evalJSON() : null;
- } catch (e) { return null }
- },
-
- evalResponse: function() {
- try {
- return eval((this.transport.responseText || '').unfilterJSON());
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- dispatchException: function(exception) {
- (this.options.onException || Prototype.emptyFunction)(this, exception);
- Ajax.Responders.dispatch('onException', this, exception);
- }
-});
-
-Ajax.Updater = Class.create();
-
-Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
- initialize: function(container, url, options) {
- this.container = {
- success: (container.success || container),
- failure: (container.failure || (container.success ? null : container))
- }
-
- this.transport = Ajax.getTransport();
- this.setOptions(options);
-
- var onComplete = this.options.onComplete || Prototype.emptyFunction;
- this.options.onComplete = (function(transport, param) {
- this.updateContent();
- onComplete(transport, param);
- }).bind(this);
-
- this.request(url);
- },
-
- updateContent: function() {
- var receiver = this.container[this.success() ? 'success' : 'failure'];
- var response = this.transport.responseText;
-
- if (!this.options.evalScripts) response = response.stripScripts();
-
- if (receiver = $(receiver)) {
- if (this.options.insertion)
- new this.options.insertion(receiver, response);
- else
- receiver.update(response);
- }
-
- if (this.success()) {
- if (this.onComplete)
- setTimeout(this.onComplete.bind(this), 10);
- }
- }
-});
-
-Ajax.PeriodicalUpdater = Class.create();
-Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
- initialize: function(container, url, options) {
- this.setOptions(options);
- this.onComplete = this.options.onComplete;
-
- this.frequency = (this.options.frequency || 2);
- this.decay = (this.options.decay || 1);
-
- this.updater = {};
- this.container = container;
- this.url = url;
-
- this.start();
- },
-
- start: function() {
- this.options.onComplete = this.updateComplete.bind(this);
- this.onTimerEvent();
- },
-
- stop: function() {
- this.updater.options.onComplete = undefined;
- clearTimeout(this.timer);
- (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
- },
-
- updateComplete: function(request) {
- if (this.options.decay) {
- this.decay = (request.responseText == this.lastText ?
- this.decay * this.options.decay : 1);
-
- this.lastText = request.responseText;
- }
- this.timer = setTimeout(this.onTimerEvent.bind(this),
- this.decay * this.frequency * 1000);
- },
-
- onTimerEvent: function() {
- this.updater = new Ajax.Updater(this.container, this.url, this.options);
- }
-});
-function $(element) {
- if (arguments.length > 1) {
- for (var i = 0, elements = [], length = arguments.length; i < length; i++)
- elements.push($(arguments[i]));
- return elements;
- }
- if (typeof element == 'string')
- element = document.getElementById(element);
- return Element.extend(element);
-}
-
-if (Prototype.BrowserFeatures.XPath) {
- document._getElementsByXPath = function(expression, parentElement) {
- var results = [];
- var query = document.evaluate(expression, $(parentElement) || document,
- null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- for (var i = 0, length = query.snapshotLength; i < length; i++)
- results.push(query.snapshotItem(i));
- return results;
- };
-
- document.getElementsByClassName = function(className, parentElement) {
- var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
- return document._getElementsByXPath(q, parentElement);
- }
-
-} else document.getElementsByClassName = function(className, parentElement) {
- var children = ($(parentElement) || document.body).getElementsByTagName('*');
- var elements = [], child;
- for (var i = 0, length = children.length; i < length; i++) {
- child = children[i];
- if (Element.hasClassName(child, className))
- elements.push(Element.extend(child));
- }
- return elements;
-};
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Element) var Element = {};
-
-Element.extend = function(element) {
- var F = Prototype.BrowserFeatures;
- if (!element || !element.tagName || element.nodeType == 3 ||
- element._extended || F.SpecificElementExtensions || element == window)
- return element;
-
- var methods = {}, tagName = element.tagName, cache = Element.extend.cache,
- T = Element.Methods.ByTag;
-
- // extend methods for all tags (Safari doesn't need this)
- if (!F.ElementExtensions) {
- Object.extend(methods, Element.Methods),
- Object.extend(methods, Element.Methods.Simulated);
- }
-
- // extend methods for specific tags
- if (T[tagName]) Object.extend(methods, T[tagName]);
-
- for (var property in methods) {
- var value = methods[property];
- if (typeof value == 'function' && !(property in element))
- element[property] = cache.findOrStore(value);
- }
-
- element._extended = Prototype.emptyFunction;
- return element;
-};
-
-Element.extend.cache = {
- findOrStore: function(value) {
- return this[value] = this[value] || function() {
- return value.apply(null, [this].concat($A(arguments)));
- }
- }
-};
-
-Element.Methods = {
- visible: function(element) {
- return $(element).style.display != 'none';
- },
-
- toggle: function(element) {
- element = $(element);
- Element[Element.visible(element) ? 'hide' : 'show'](element);
- return element;
- },
-
- hide: function(element) {
- $(element).style.display = 'none';
- return element;
- },
-
- show: function(element) {
- $(element).style.display = '';
- return element;
- },
-
- remove: function(element) {
- element = $(element);
- element.parentNode.removeChild(element);
- return element;
- },
-
- update: function(element, html) {
- html = typeof html == 'undefined' ? '' : html.toString();
- $(element).innerHTML = html.stripScripts();
- setTimeout(function() {html.evalScripts()}, 10);
- return element;
- },
-
- replace: function(element, html) {
- element = $(element);
- html = typeof html == 'undefined' ? '' : html.toString();
- if (element.outerHTML) {
- element.outerHTML = html.stripScripts();
- } else {
- var range = element.ownerDocument.createRange();
- range.selectNodeContents(element);
- element.parentNode.replaceChild(
- range.createContextualFragment(html.stripScripts()), element);
- }
- setTimeout(function() {html.evalScripts()}, 10);
- return element;
- },
-
- inspect: function(element) {
- element = $(element);
- var result = '<' + element.tagName.toLowerCase();
- $H({'id': 'id', 'className': 'class'}).each(function(pair) {
- var property = pair.first(), attribute = pair.last();
- var value = (element[property] || '').toString();
- if (value) result += ' ' + attribute + '=' + value.inspect(true);
- });
- return result + '>';
- },
-
- recursivelyCollect: function(element, property) {
- element = $(element);
- var elements = [];
- while (element = element[property])
- if (element.nodeType == 1)
- elements.push(Element.extend(element));
- return elements;
- },
-
- ancestors: function(element) {
- return $(element).recursivelyCollect('parentNode');
- },
-
- descendants: function(element) {
- return $A($(element).getElementsByTagName('*')).each(Element.extend);
- },
-
- firstDescendant: function(element) {
- element = $(element).firstChild;
- while (element && element.nodeType != 1) element = element.nextSibling;
- return $(element);
- },
-
- immediateDescendants: function(element) {
- if (!(element = $(element).firstChild)) return [];
- while (element && element.nodeType != 1) element = element.nextSibling;
- if (element) return [element].concat($(element).nextSiblings());
- return [];
- },
-
- previousSiblings: function(element) {
- return $(element).recursivelyCollect('previousSibling');
- },
-
- nextSiblings: function(element) {
- return $(element).recursivelyCollect('nextSibling');
- },
-
- siblings: function(element) {
- element = $(element);
- return element.previousSiblings().reverse().concat(element.nextSiblings());
- },
-
- match: function(element, selector) {
- if (typeof selector == 'string')
- selector = new Selector(selector);
- return selector.match($(element));
- },
-
- up: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(element.parentNode);
- var ancestors = element.ancestors();
- return expression ? Selector.findElement(ancestors, expression, index) :
- ancestors[index || 0];
- },
-
- down: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return element.firstDescendant();
- var descendants = element.descendants();
- return expression ? Selector.findElement(descendants, expression, index) :
- descendants[index || 0];
- },
-
- previous: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
- var previousSiblings = element.previousSiblings();
- return expression ? Selector.findElement(previousSiblings, expression, index) :
- previousSiblings[index || 0];
- },
-
- next: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
- var nextSiblings = element.nextSiblings();
- return expression ? Selector.findElement(nextSiblings, expression, index) :
- nextSiblings[index || 0];
- },
-
- getElementsBySelector: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element, args);
- },
-
- getElementsByClassName: function(element, className) {
- return document.getElementsByClassName(className, element);
- },
-
- readAttribute: function(element, name) {
- element = $(element);
- if (Prototype.Browser.IE) {
- if (!element.attributes) return null;
- var t = Element._attributeTranslations;
- if (t.values[name]) return t.values[name](element, name);
- if (t.names[name]) name = t.names[name];
- var attribute = element.attributes[name];
- return attribute ? attribute.nodeValue : null;
- }
- return element.getAttribute(name);
- },
-
- getHeight: function(element) {
- return $(element).getDimensions().height;
- },
-
- getWidth: function(element) {
- return $(element).getDimensions().width;
- },
-
- classNames: function(element) {
- return new Element.ClassNames(element);
- },
-
- hasClassName: function(element, className) {
- if (!(element = $(element))) return;
- var elementClassName = element.className;
- if (elementClassName.length == 0) return false;
- if (elementClassName == className ||
- (typeof(elementClassName.match) === 'function' && elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))))
- return true;
- return false;
- },
-
- addClassName: function(element, className) {
- if (!(element = $(element))) return;
- Element.classNames(element).add(className);
- return element;
- },
-
- removeClassName: function(element, className) {
- if (!(element = $(element))) return;
- Element.classNames(element).remove(className);
- return element;
- },
-
- toggleClassName: function(element, className) {
- if (!(element = $(element))) return;
- Element.classNames(element)[element.hasClassName(className) ? 'remove' : 'add'](className);
- return element;
- },
-
- observe: function() {
- Event.observe.apply(Event, arguments);
- return $A(arguments).first();
- },
-
- stopObserving: function() {
- Event.stopObserving.apply(Event, arguments);
- return $A(arguments).first();
- },
-
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
- element = $(element);
- var node = element.firstChild;
- while (node) {
- var nextNode = node.nextSibling;
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
- element.removeChild(node);
- node = nextNode;
- }
- return element;
- },
-
- empty: function(element) {
- return $(element).innerHTML.blank();
- },
-
- descendantOf: function(element, ancestor) {
- element = $(element), ancestor = $(ancestor);
- while (element = element.parentNode)
- if (element == ancestor) return true;
- return false;
- },
-
- scrollTo: function(element) {
- element = $(element);
- var pos = Position.cumulativeOffset(element);
- window.scrollTo(pos[0], pos[1]);
- return element;
- },
-
- getStyle: function(element, style) {
- element = $(element);
- style = style == 'float' ? 'cssFloat' : style.camelize();
- var value = element.style[style];
- if (!value) {
- var css = document.defaultView.getComputedStyle(element, null);
- value = css ? css[style] : null;
- }
- if (style == 'opacity') return value ? parseFloat(value) : 1.0;
- return value == 'auto' ? null : value;
- },
-
- getOpacity: function(element) {
- return $(element).getStyle('opacity');
- },
-
- setStyle: function(element, styles, camelized) {
- element = $(element);
- var elementStyle = element.style;
-
- for (var property in styles)
- if (property == 'opacity') element.setOpacity(styles[property])
- else
- elementStyle[(property == 'float' || property == 'cssFloat') ?
- (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') :
- (camelized ? property : property.camelize())] = styles[property];
-
- return element;
- },
-
- setOpacity: function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
- return element;
- },
-
- getDimensions: function(element) {
- element = $(element);
- var display = $(element).getStyle('display');
- if (display != 'none' && display != null) // Safari bug
- return {width: element.offsetWidth, height: element.offsetHeight};
-
- // All *Width and *Height properties give 0 on elements with display none,
- // so enable the element temporarily
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- var originalDisplay = els.display;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = originalDisplay;
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- },
-
- makePositioned: function(element) {
- element = $(element);
- var pos = Element.getStyle(element, 'position');
- if (pos == 'static' || !pos) {
- element._madePositioned = true;
- element.style.position = 'relative';
- // Opera returns the offset relative to the positioning context, when an
- // element is position relative but top and left have not been defined
- if (window.opera) {
- element.style.top = 0;
- element.style.left = 0;
- }
- }
- return element;
- },
-
- undoPositioned: function(element) {
- element = $(element);
- if (element._madePositioned) {
- element._madePositioned = undefined;
- element.style.position =
- element.style.top =
- element.style.left =
- element.style.bottom =
- element.style.right = '';
- }
- return element;
- },
-
- makeClipping: function(element) {
- element = $(element);
- if (element._overflow) return element;
- element._overflow = element.style.overflow || 'auto';
- if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
- element.style.overflow = 'hidden';
- return element;
- },
-
- undoClipping: function(element) {
- element = $(element);
- if (!element._overflow) return element;
- element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
- element._overflow = null;
- return element;
- }
-};
-
-Object.extend(Element.Methods, {
- childOf: Element.Methods.descendantOf,
- childElements: Element.Methods.immediateDescendants
-});
-
-if (Prototype.Browser.Opera) {
- Element.Methods._getStyle = Element.Methods.getStyle;
- Element.Methods.getStyle = function(element, style) {
- switch(style) {
- case 'left':
- case 'top':
- case 'right':
- case 'bottom':
- if (Element._getStyle(element, 'position') == 'static') return null;
- default: return Element._getStyle(element, style);
- }
- };
-}
-else if (Prototype.Browser.IE) {
- Element.Methods.getStyle = function(element, style) {
- element = $(element);
- style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
- var value = element.style[style];
- if (!value && element.currentStyle) value = element.currentStyle[style];
-
- if (style == 'opacity') {
- if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
- if (value[1]) return parseFloat(value[1]) / 100;
- return 1.0;
- }
-
- if (value == 'auto') {
- if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
- return element['offset'+style.capitalize()] + 'px';
- return null;
- }
- return value;
- };
-
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- var filter = element.getStyle('filter'), style = element.style;
- if (value == 1 || value === '') {
- style.filter = filter.replace(/alpha\([^\)]*\)/gi,'');
- return element;
- } else if (value < 0.00001) value = 0;
- style.filter = filter.replace(/alpha\([^\)]*\)/gi, '') +
- 'alpha(opacity=' + (value * 100) + ')';
- return element;
- };
-
- // IE is missing .innerHTML support for TABLE-related elements
- Element.Methods.update = function(element, html) {
- element = $(element);
- html = typeof html == 'undefined' ? '' : html.toString();
- var tagName = element.tagName.toUpperCase();
- if (['THEAD','TBODY','TR','TD'].include(tagName)) {
- var div = document.createElement('div');
- switch (tagName) {
- case 'THEAD':
- case 'TBODY':
- div.innerHTML = '' + html.stripScripts() + '
';
- depth = 2;
- break;
- case 'TR':
- div.innerHTML = '' + html.stripScripts() + '
';
- depth = 3;
- break;
- case 'TD':
- div.innerHTML = '' + html.stripScripts() + '
';
- depth = 4;
- }
- $A(element.childNodes).each(function(node) { element.removeChild(node) });
- depth.times(function() { div = div.firstChild });
- $A(div.childNodes).each(function(node) { element.appendChild(node) });
- } else {
- element.innerHTML = html.stripScripts();
- }
- setTimeout(function() { html.evalScripts() }, 10);
- return element;
- }
-}
-else if (Prototype.Browser.Gecko) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1) ? 0.999999 :
- (value === '') ? '' : (value < 0.00001) ? 0 : value;
- return element;
- };
-}
-
-Element._attributeTranslations = {
- names: {
- colspan: "colSpan",
- rowspan: "rowSpan",
- valign: "vAlign",
- datetime: "dateTime",
- accesskey: "accessKey",
- tabindex: "tabIndex",
- enctype: "encType",
- maxlength: "maxLength",
- readonly: "readOnly",
- longdesc: "longDesc"
- },
- values: {
- _getAttr: function(element, attribute) {
- return element.getAttribute(attribute, 2);
- },
- _flag: function(element, attribute) {
- return $(element).hasAttribute(attribute) ? attribute : null;
- },
- style: function(element) {
- return element.style.cssText.toLowerCase();
- },
- title: function(element) {
- var node = element.getAttributeNode('title');
- return node.specified ? node.nodeValue : null;
- }
- }
-};
-
-(function() {
- Object.extend(this, {
- href: this._getAttr,
- src: this._getAttr,
- type: this._getAttr,
- disabled: this._flag,
- checked: this._flag,
- readonly: this._flag,
- multiple: this._flag
- });
-}).call(Element._attributeTranslations.values);
-
-Element.Methods.Simulated = {
- hasAttribute: function(element, attribute) {
- var t = Element._attributeTranslations, node;
- attribute = t.names[attribute] || attribute;
- node = $(element).getAttributeNode(attribute);
- return node && node.specified;
- }
-};
-
-Element.Methods.ByTag = {};
-
-Object.extend(Element, Element.Methods);
-
-if (!Prototype.BrowserFeatures.ElementExtensions &&
- document.createElement('div').__proto__) {
- window.HTMLElement = {};
- window.HTMLElement.prototype = document.createElement('div').__proto__;
- Prototype.BrowserFeatures.ElementExtensions = true;
-}
-
-Element.hasAttribute = function(element, attribute) {
- if (element.hasAttribute) return element.hasAttribute(attribute);
- return Element.Methods.Simulated.hasAttribute(element, attribute);
-};
-
-Element.addMethods = function(methods) {
- var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
-
- if (!methods) {
- Object.extend(Form, Form.Methods);
- Object.extend(Form.Element, Form.Element.Methods);
- Object.extend(Element.Methods.ByTag, {
- "FORM": Object.clone(Form.Methods),
- "INPUT": Object.clone(Form.Element.Methods),
- "SELECT": Object.clone(Form.Element.Methods),
- "TEXTAREA": Object.clone(Form.Element.Methods)
- });
- }
-
- if (arguments.length == 2) {
- var tagName = methods;
- methods = arguments[1];
- }
-
- if (!tagName) Object.extend(Element.Methods, methods || {});
- else {
- if (tagName.constructor == Array) tagName.each(extend);
- else extend(tagName);
- }
-
- function extend(tagName) {
- tagName = tagName.toUpperCase();
- if (!Element.Methods.ByTag[tagName])
- Element.Methods.ByTag[tagName] = {};
- Object.extend(Element.Methods.ByTag[tagName], methods);
- }
-
- function copy(methods, destination, onlyIfAbsent) {
- onlyIfAbsent = onlyIfAbsent || false;
- var cache = Element.extend.cache;
- for (var property in methods) {
- var value = methods[property];
- if (!onlyIfAbsent || !(property in destination))
- destination[property] = cache.findOrStore(value);
- }
- }
-
- function findDOMClass(tagName) {
- var klass;
- var trans = {
- "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
- "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
- "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
- "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
- "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
- "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
- "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
- "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
- "FrameSet", "IFRAME": "IFrame"
- };
- if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName.capitalize() + 'Element';
- if (window[klass]) return window[klass];
-
- window[klass] = {};
- window[klass].prototype = document.createElement(tagName).__proto__;
- return window[klass];
- }
-
- if (F.ElementExtensions) {
- copy(Element.Methods, HTMLElement.prototype);
- copy(Element.Methods.Simulated, HTMLElement.prototype, true);
- }
-
- if (F.SpecificElementExtensions) {
- for (var tag in Element.Methods.ByTag) {
- var klass = findDOMClass(tag);
- if (typeof klass == "undefined") continue;
- copy(T[tag], klass.prototype);
- }
- }
-
- Object.extend(Element, Element.Methods);
- delete Element.ByTag;
-};
-
-var Toggle = { display: Element.toggle };
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.Insertion = function(adjacency) {
- this.adjacency = adjacency;
-}
-
-Abstract.Insertion.prototype = {
- initialize: function(element, content) {
- this.element = $(element);
- this.content = content.stripScripts();
-
- if (this.adjacency && this.element.insertAdjacentHTML) {
- try {
- this.element.insertAdjacentHTML(this.adjacency, this.content);
- } catch (e) {
- var tagName = this.element.tagName.toUpperCase();
- if (['TBODY', 'TR'].include(tagName)) {
- this.insertContent(this.contentFromAnonymousTable());
- } else {
- throw e;
- }
- }
- } else {
- this.range = this.element.ownerDocument.createRange();
- if (this.initializeRange) this.initializeRange();
- this.insertContent([this.range.createContextualFragment(this.content)]);
- }
-
- setTimeout(function() {content.evalScripts()}, 10);
- },
-
- contentFromAnonymousTable: function() {
- var div = document.createElement('div');
- div.innerHTML = '';
- return $A(div.childNodes[0].childNodes[0].childNodes);
- }
-}
-
-var Insertion = new Object();
-
-Insertion.Before = Class.create();
-Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
- initializeRange: function() {
- this.range.setStartBefore(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.parentNode.insertBefore(fragment, this.element);
- }).bind(this));
- }
-});
-
-Insertion.Top = Class.create();
-Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
- initializeRange: function() {
- this.range.selectNodeContents(this.element);
- this.range.collapse(true);
- },
-
- insertContent: function(fragments) {
- fragments.reverse(false).each((function(fragment) {
- this.element.insertBefore(fragment, this.element.firstChild);
- }).bind(this));
- }
-});
-
-Insertion.Bottom = Class.create();
-Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
- initializeRange: function() {
- this.range.selectNodeContents(this.element);
- this.range.collapse(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.appendChild(fragment);
- }).bind(this));
- }
-});
-
-Insertion.After = Class.create();
-Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
- initializeRange: function() {
- this.range.setStartAfter(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.parentNode.insertBefore(fragment,
- this.element.nextSibling);
- }).bind(this));
- }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Element.ClassNames = Class.create();
-Element.ClassNames.prototype = {
- initialize: function(element) {
- this.element = $(element);
- },
-
- _each: function(iterator) {
- this.element.className.split(/\s+/).select(function(name) {
- return name.length > 0;
- })._each(iterator);
- },
-
- set: function(className) {
- this.element.className = className;
- },
-
- add: function(classNameToAdd) {
- if (this.include(classNameToAdd)) return;
- this.set($A(this).concat(classNameToAdd).join(' '));
- },
-
- remove: function(classNameToRemove) {
- if (!this.include(classNameToRemove)) return;
- this.set($A(this).without(classNameToRemove).join(' '));
- },
-
- toString: function() {
- return $A(this).join(' ');
- }
-};
-
-Object.extend(Element.ClassNames.prototype, Enumerable);
-/* Portions of the Selector class are derived from Jack Slocum�۪s DomQuery,
- * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
- * license. Please see http://www.yui-ext.com/ for more information. */
-
-var Selector = Class.create();
-
-Selector.prototype = {
- initialize: function(expression) {
- this.expression = expression.strip();
- this.compileMatcher();
- },
-
- compileMatcher: function() {
- // Selectors with namespaced attributes can't use the XPath version
- if (Prototype.BrowserFeatures.XPath && !(/\[[\w-]*?:/).test(this.expression))
- return this.compileXPathMatcher();
-
- var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
- c = Selector.criteria, le, p, m;
-
- if (Selector._cache[e]) {
- this.matcher = Selector._cache[e]; return;
- }
- this.matcher = ["this.matcher = function(root) {",
- "var r = root, h = Selector.handlers, c = false, n;"];
-
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- this.matcher.push(typeof c[i] == 'function' ? c[i](m) :
- new Template(c[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.matcher.push("return h.unique(n);\n}");
- eval(this.matcher.join('\n'));
- Selector._cache[this.expression] = this.matcher;
- },
-
- compileXPathMatcher: function() {
- var e = this.expression, ps = Selector.patterns,
- x = Selector.xpath, le, m;
-
- if (Selector._cache[e]) {
- this.xpath = Selector._cache[e]; return;
- }
-
- this.matcher = ['.//*'];
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- if (m = e.match(ps[i])) {
- this.matcher.push(typeof x[i] == 'function' ? x[i](m) :
- new Template(x[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.xpath = this.matcher.join('');
- Selector._cache[this.expression] = this.xpath;
- },
-
- findElements: function(root) {
- root = root || document;
- if (this.xpath) return document._getElementsByXPath(this.xpath, root);
- return this.matcher(root);
- },
-
- match: function(element) {
- return this.findElements(document).include(element);
- },
-
- toString: function() {
- return this.expression;
- },
-
- inspect: function() {
- return "#";
- }
-};
-
-Object.extend(Selector, {
- _cache: {},
-
- xpath: {
- descendant: "//*",
- child: "/*",
- adjacent: "/following-sibling::*[1]",
- laterSibling: '/following-sibling::*',
- tagName: function(m) {
- if (m[1] == '*') return '';
- return "[local-name()='" + m[1].toLowerCase() +
- "' or local-name()='" + m[1].toUpperCase() + "']";
- },
- className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
- id: "[@id='#{1}']",
- attrPresence: "[@#{1}]",
- attr: function(m) {
- m[3] = m[5] || m[6];
- return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
- },
- pseudo: function(m) {
- var h = Selector.xpath.pseudos[m[1]];
- if (!h) return '';
- if (typeof h === 'function') return h(m);
- return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
- },
- operators: {
- '=': "[@#{1}='#{3}']",
- '!=': "[@#{1}!='#{3}']",
- '^=': "[starts-with(@#{1}, '#{3}')]",
- '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
- '*=': "[contains(@#{1}, '#{3}')]",
- '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
- '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
- },
- pseudos: {
- 'first-child': '[not(preceding-sibling::*)]',
- 'last-child': '[not(following-sibling::*)]',
- 'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
- 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",
- 'checked': "[@checked]",
- 'disabled': "[@disabled]",
- 'enabled': "[not(@disabled)]",
- 'not': function(m) {
- var e = m[6], p = Selector.patterns,
- x = Selector.xpath, le, m, v;
-
- var exclusion = [];
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in p) {
- if (m = e.match(p[i])) {
- v = typeof x[i] == 'function' ? x[i](m) : new Template(x[i]).evaluate(m);
- exclusion.push("(" + v.substring(1, v.length - 1) + ")");
- e = e.replace(m[0], '');
- break;
- }
- }
- }
- return "[not(" + exclusion.join(" and ") + ")]";
- },
- 'nth-child': function(m) {
- return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
- },
- 'nth-last-child': function(m) {
- return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
- },
- 'nth-of-type': function(m) {
- return Selector.xpath.pseudos.nth("position() ", m);
- },
- 'nth-last-of-type': function(m) {
- return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
- },
- 'first-of-type': function(m) {
- m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m);
- },
- 'last-of-type': function(m) {
- m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m);
- },
- 'only-of-type': function(m) {
- var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m);
- },
- nth: function(fragment, m) {
- var mm, formula = m[6], predicate;
- if (formula == 'even') formula = '2n+0';
- if (formula == 'odd') formula = '2n+1';
- if (mm = formula.match(/^(\d+)$/)) // digit only
- return '[' + fragment + "= " + mm[1] + ']';
- if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
- if (mm[1] == "-") mm[1] = -1;
- var a = mm[1] ? Number(mm[1]) : 1;
- var b = mm[2] ? Number(mm[2]) : 0;
- predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
- "((#{fragment} - #{b}) div #{a} >= 0)]";
- return new Template(predicate).evaluate({
- fragment: fragment, a: a, b: b });
- }
- }
- }
- },
-
- criteria: {
- tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;',
- className: 'n = h.className(n, r, "#{1}", c); c = false;',
- id: 'n = h.id(n, r, "#{1}", c); c = false;',
- attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;',
- attr: function(m) {
- m[3] = (m[5] || m[6]);
- return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);
- },
- pseudo: function(m) {
- if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
- return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
- },
- descendant: 'c = "descendant";',
- child: 'c = "child";',
- adjacent: 'c = "adjacent";',
- laterSibling: 'c = "laterSibling";'
- },
-
- patterns: {
- // combinators must be listed first
- // (and descendant needs to be last combinator)
- laterSibling: /^\s*~\s*/,
- child: /^\s*>\s*/,
- adjacent: /^\s*\+\s*/,
- descendant: /^\s/,
-
- // selectors follow
- tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,
- id: /^#([\w\-\*]+)(\b|$)/,
- className: /^\.([\w\-\*]+)(\b|$)/,
- pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|\s|(?=:))/,
- attrPresence: /^\[([\w]+)\]/,
- attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\]]*?)\4|([^'"][^\]]*?)))?\]/
- },
-
- handlers: {
- // UTILITY FUNCTIONS
- // joins two collections
- concat: function(a, b) {
- for (var i = 0, node; node = b[i]; i++)
- a.push(node);
- return a;
- },
-
- // marks an array of nodes for counting
- mark: function(nodes) {
- for (var i = 0, node; node = nodes[i]; i++)
- node._counted = true;
- return nodes;
- },
-
- unmark: function(nodes) {
- for (var i = 0, node; node = nodes[i]; i++)
- node._counted = undefined;
- return nodes;
- },
-
- // mark each child node with its position (for nth calls)
- // "ofType" flag indicates whether we're indexing for nth-of-type
- // rather than nth-child
- index: function(parentNode, reverse, ofType) {
- parentNode._counted = true;
- if (reverse) {
- for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
- node = nodes[i];
- if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
- }
- } else {
- for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
- if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
- }
- },
-
- // filters out duplicates and extends all nodes
- unique: function(nodes) {
- if (nodes.length == 0) return nodes;
- var results = [], n;
- for (var i = 0, l = nodes.length; i < l; i++)
- if (!(n = nodes[i])._counted) {
- n._counted = true;
- results.push(Element.extend(n));
- }
- return Selector.handlers.unmark(results);
- },
-
- // COMBINATOR FUNCTIONS
- descendant: function(nodes) {
- var h = Selector.handlers;
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- h.concat(results, node.getElementsByTagName('*'));
- return results;
- },
-
- child: function(nodes) {
- var h = Selector.handlers;
- for (var i = 0, results = [], node; node = nodes[i]; i++) {
- for (var j = 0, children = [], child; child = node.childNodes[j]; j++)
- if (child.nodeType == 1 && child.tagName != '!') results.push(child);
- }
- return results;
- },
-
- adjacent: function(nodes) {
- for (var i = 0, results = [], node; node = nodes[i]; i++) {
- var next = this.nextElementSibling(node);
- if (next) results.push(next);
- }
- return results;
- },
-
- laterSibling: function(nodes) {
- var h = Selector.handlers;
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- h.concat(results, Element.nextSiblings(node));
- return results;
- },
-
- nextElementSibling: function(node) {
- while (node = node.nextSibling)
- if (node.nodeType == 1) return node;
- return null;
- },
-
- previousElementSibling: function(node) {
- while (node = node.previousSibling)
- if (node.nodeType == 1) return node;
- return null;
- },
-
- // TOKEN FUNCTIONS
- tagName: function(nodes, root, tagName, combinator) {
- tagName = tagName.toUpperCase();
- var results = [], h = Selector.handlers;
- if (nodes) {
- if (combinator) {
- // fastlane for ordinary descendant combinators
- if (combinator == "descendant") {
- for (var i = 0, node; node = nodes[i]; i++)
- h.concat(results, node.getElementsByTagName(tagName));
- return results;
- } else nodes = this[combinator](nodes);
- if (tagName == "*") return nodes;
- }
- for (var i = 0, node; node = nodes[i]; i++)
- if (node.tagName.toUpperCase() == tagName) results.push(node);
- return results;
- } else return root.getElementsByTagName(tagName);
- },
-
- id: function(nodes, root, id, combinator) {
- var targetNode = $(id), h = Selector.handlers;
- if (!nodes && root == document) return targetNode ? [targetNode] : [];
- if (nodes) {
- if (combinator) {
- if (combinator == 'child') {
- for (var i = 0, node; node = nodes[i]; i++)
- if (targetNode.parentNode == node) return [targetNode];
- } else if (combinator == 'descendant') {
- for (var i = 0, node; node = nodes[i]; i++)
- if (Element.descendantOf(targetNode, node)) return [targetNode];
- } else if (combinator == 'adjacent') {
- for (var i = 0, node; node = nodes[i]; i++)
- if (Selector.handlers.previousElementSibling(targetNode) == node)
- return [targetNode];
- } else nodes = h[combinator](nodes);
- }
- for (var i = 0, node; node = nodes[i]; i++)
- if (node == targetNode) return [targetNode];
- return [];
- }
- return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
- },
-
- className: function(nodes, root, className, combinator) {
- if (nodes && combinator) nodes = this[combinator](nodes);
- return Selector.handlers.byClassName(nodes, root, className);
- },
-
- byClassName: function(nodes, root, className) {
- if (!nodes) nodes = Selector.handlers.descendant([root]);
- var needle = ' ' + className + ' ';
- for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
- nodeClassName = node.className;
- if (nodeClassName.length == 0) continue;
- if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
- results.push(node);
- }
- return results;
- },
-
- attrPresence: function(nodes, root, attr) {
- var results = [];
- for (var i = 0, node; node = nodes[i]; i++)
- if (Element.hasAttribute(node, attr)) results.push(node);
- return results;
- },
-
- attr: function(nodes, root, attr, value, operator) {
- if (!nodes) nodes = root.getElementsByTagName("*");
- var handler = Selector.operators[operator], results = [];
- for (var i = 0, node; node = nodes[i]; i++) {
- var nodeValue = Element.readAttribute(node, attr);
- if (nodeValue === null) continue;
- if (handler(nodeValue, value)) results.push(node);
- }
- return results;
- },
-
- pseudo: function(nodes, name, value, root, combinator) {
- if (nodes && combinator) nodes = this[combinator](nodes);
- if (!nodes) nodes = root.getElementsByTagName("*");
- return Selector.pseudos[name](nodes, value, root);
- }
- },
-
- pseudos: {
- 'first-child': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++) {
- if (Selector.handlers.previousElementSibling(node)) continue;
- results.push(node);
- }
- return results;
- },
- 'last-child': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++) {
- if (Selector.handlers.nextElementSibling(node)) continue;
- results.push(node);
- }
- return results;
- },
- 'only-child': function(nodes, value, root) {
- var h = Selector.handlers;
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
- results.push(node);
- return results;
- },
- 'nth-child': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, formula, root);
- },
- 'nth-last-child': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, formula, root, true);
- },
- 'nth-of-type': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, formula, root, false, true);
- },
- 'nth-last-of-type': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, formula, root, true, true);
- },
- 'first-of-type': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, "1", root, false, true);
- },
- 'last-of-type': function(nodes, formula, root) {
- return Selector.pseudos.nth(nodes, "1", root, true, true);
- },
- 'only-of-type': function(nodes, formula, root) {
- var p = Selector.pseudos;
- return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
- },
-
- // handles the an+b logic
- getIndices: function(a, b, total) {
- if (a == 0) return b > 0 ? [b] : [];
- return $R(1, total).inject([], function(memo, i) {
- if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
- return memo;
- });
- },
-
- // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type
- nth: function(nodes, formula, root, reverse, ofType) {
- if (nodes.length == 0) return [];
- if (formula == 'even') formula = '2n+0';
- if (formula == 'odd') formula = '2n+1';
- var h = Selector.handlers, results = [], indexed = [], m;
- h.mark(nodes);
- for (var i = 0, node; node = nodes[i]; i++) {
- if (!node.parentNode._counted) {
- h.index(node.parentNode, reverse, ofType);
- indexed.push(node.parentNode);
- }
- }
- if (formula.match(/^\d+$/)) { // just a number
- formula = Number(formula);
- for (var i = 0, node; node = nodes[i]; i++)
- if (node.nodeIndex == formula) results.push(node);
- } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
- if (m[1] == "-") m[1] = -1;
- var a = m[1] ? Number(m[1]) : 1;
- var b = m[2] ? Number(m[2]) : 0;
- var indices = Selector.pseudos.getIndices(a, b, nodes.length);
- for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
- for (var j = 0; j < l; j++)
- if (node.nodeIndex == indices[j]) results.push(node);
- }
- }
- h.unmark(nodes);
- h.unmark(indexed);
- return results;
- },
-
- 'empty': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++) {
- // IE treats comments as element nodes
- if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue;
- results.push(node);
- }
- return results;
- },
-
- 'not': function(nodes, selector, root) {
- var h = Selector.handlers, selectorType, m;
- var exclusions = new Selector(selector).findElements(root);
- h.mark(exclusions);
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- if (!node._counted) results.push(node);
- h.unmark(exclusions);
- return results;
- },
-
- 'enabled': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- if (!node.disabled) results.push(node);
- return results;
- },
-
- 'disabled': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- if (node.disabled) results.push(node);
- return results;
- },
-
- 'checked': function(nodes, value, root) {
- for (var i = 0, results = [], node; node = nodes[i]; i++)
- if (node.checked) results.push(node);
- return results;
- }
- },
-
- operators: {
- '=': function(nv, v) { return nv == v; },
- '!=': function(nv, v) { return nv != v; },
- '^=': function(nv, v) { return nv.startsWith(v); },
- '$=': function(nv, v) { return nv.endsWith(v); },
- '*=': function(nv, v) { return nv.include(v); },
- '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); },
- '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); }
- },
-
- matchElements: function(elements, expression) {
- var matches = new Selector(expression).findElements(), h = Selector.handlers;
- h.mark(matches);
- for (var i = 0, results = [], element; element = elements[i]; i++)
- if (element._counted) results.push(element);
- h.unmark(matches);
- return results;
- },
-
- findElement: function(elements, expression, index) {
- if (typeof expression == 'number') {
- index = expression; expression = false;
- }
- return Selector.matchElements(elements, expression || '*')[index || 0];
- },
-
- findChildElements: function(element, expressions) {
- var exprs = expressions.join(','), expressions = [];
- exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
- expressions.push(m[1].strip());
- });
- var results = [], h = Selector.handlers;
- for (var i = 0, l = expressions.length, selector; i < l; i++) {
- selector = new Selector(expressions[i].strip());
- h.concat(results, selector.findElements(element));
- }
- return (l > 1) ? h.unique(results) : results;
- }
-});
-
-function $$() {
- return Selector.findChildElements(document, $A(arguments));
-}
-var Form = {
- reset: function(form) {
- $(form).reset();
- return form;
- },
-
- serializeElements: function(elements, getHash) {
- var data = elements.inject({}, function(result, element) {
- if (!element.disabled && element.name) {
- var key = element.name, value = $(element).getValue();
- if (value != null) {
- if (key in result) {
- if (result[key].constructor != Array) result[key] = [result[key]];
- result[key].push(value);
- }
- else result[key] = value;
- }
- }
- return result;
- });
-
- return getHash ? data : Hash.toQueryString(data);
- }
-};
-
-Form.Methods = {
- serialize: function(form, getHash) {
- return Form.serializeElements(Form.getElements(form), getHash);
- },
-
- getElements: function(form) {
- return $A($(form).getElementsByTagName('*')).inject([],
- function(elements, child) {
- if (Form.Element.Serializers[child.tagName.toLowerCase()])
- elements.push(Element.extend(child));
- return elements;
- }
- );
- },
-
- getInputs: function(form, typeName, name) {
- form = $(form);
- var inputs = form.getElementsByTagName('input');
-
- if (!typeName && !name) return $A(inputs).map(Element.extend);
-
- for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
- var input = inputs[i];
- if ((typeName && input.type != typeName) || (name && input.name != name))
- continue;
- matchingInputs.push(Element.extend(input));
- }
-
- return matchingInputs;
- },
-
- disable: function(form) {
- form = $(form);
- Form.getElements(form).invoke('disable');
- return form;
- },
-
- enable: function(form) {
- form = $(form);
- Form.getElements(form).invoke('enable');
- return form;
- },
-
- findFirstElement: function(form) {
- return $(form).getElements().find(function(element) {
- return element.type != 'hidden' && !element.disabled &&
- ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
- });
- },
-
- focusFirstElement: function(form) {
- form = $(form);
- form.findFirstElement().activate();
- return form;
- },
-
- request: function(form, options) {
- form = $(form), options = Object.clone(options || {});
-
- var params = options.parameters;
- options.parameters = form.serialize(true);
-
- if (params) {
- if (typeof params == 'string') params = params.toQueryParams();
- Object.extend(options.parameters, params);
- }
-
- if (form.hasAttribute('method') && !options.method)
- options.method = form.method;
-
- return new Ajax.Request(form.readAttribute('action'), options);
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-Form.Element = {
- focus: function(element) {
- $(element).focus();
- return element;
- },
-
- select: function(element) {
- $(element).select();
- return element;
- }
-}
-
-Form.Element.Methods = {
- serialize: function(element) {
- element = $(element);
- if (!element.disabled && element.name) {
- var value = element.getValue();
- if (value != undefined) {
- var pair = {};
- pair[element.name] = value;
- return Hash.toQueryString(pair);
- }
- }
- return '';
- },
-
- getValue: function(element) {
- element = $(element);
- var method = element.tagName.toLowerCase();
- return Form.Element.Serializers[method](element);
- },
-
- clear: function(element) {
- $(element).value = '';
- return element;
- },
-
- present: function(element) {
- return $(element).value != '';
- },
-
- activate: function(element) {
- element = $(element);
- try {
- element.focus();
- if (element.select && (element.tagName.toLowerCase() != 'input' ||
- !['button', 'reset', 'submit'].include(element.type)))
- element.select();
- } catch (e) {}
- return element;
- },
-
- disable: function(element) {
- element = $(element);
- element.blur();
- element.disabled = true;
- return element;
- },
-
- enable: function(element) {
- element = $(element);
- element.disabled = false;
- return element;
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Field = Form.Element;
-var $F = Form.Element.Methods.getValue;
-
-/*--------------------------------------------------------------------------*/
-
-Form.Element.Serializers = {
- input: function(element) {
- switch (element.type.toLowerCase()) {
- case 'checkbox':
- case 'radio':
- return Form.Element.Serializers.inputSelector(element);
- default:
- return Form.Element.Serializers.textarea(element);
- }
- },
-
- inputSelector: function(element) {
- return element.checked ? element.value : null;
- },
-
- textarea: function(element) {
- return element.value;
- },
-
- select: function(element) {
- return this[element.type == 'select-one' ?
- 'selectOne' : 'selectMany'](element);
- },
-
- selectOne: function(element) {
- var index = element.selectedIndex;
- return index >= 0 ? this.optionValue(element.options[index]) : null;
- },
-
- selectMany: function(element) {
- var values, length = element.length;
- if (!length) return null;
-
- for (var i = 0, values = []; i < length; i++) {
- var opt = element.options[i];
- if (opt.selected) values.push(this.optionValue(opt));
- }
- return values;
- },
-
- optionValue: function(opt) {
- // extend element because hasAttribute may not be native
- return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.TimedObserver = function() {}
-Abstract.TimedObserver.prototype = {
- initialize: function(element, frequency, callback) {
- this.frequency = frequency;
- this.element = $(element);
- this.callback = callback;
-
- this.lastValue = this.getValue();
- this.registerCallback();
- },
-
- registerCallback: function() {
- setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- onTimerEvent: function() {
- var value = this.getValue();
- var changed = ('string' == typeof this.lastValue && 'string' == typeof value
- ? this.lastValue != value : String(this.lastValue) != String(value));
- if (changed) {
- this.callback(this.element, value);
- this.lastValue = value;
- }
- }
-}
-
-Form.Element.Observer = Class.create();
-Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
- getValue: function() {
- return Form.Element.getValue(this.element);
- }
-});
-
-Form.Observer = Class.create();
-Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
- getValue: function() {
- return Form.serialize(this.element);
- }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.EventObserver = function() {}
-Abstract.EventObserver.prototype = {
- initialize: function(element, callback) {
- this.element = $(element);
- this.callback = callback;
-
- this.lastValue = this.getValue();
- if (this.element.tagName.toLowerCase() == 'form')
- this.registerFormCallbacks();
- else
- this.registerCallback(this.element);
- },
-
- onElementEvent: function() {
- var value = this.getValue();
- if (this.lastValue != value) {
- this.callback(this.element, value);
- this.lastValue = value;
- }
- },
-
- registerFormCallbacks: function() {
- Form.getElements(this.element).each(this.registerCallback.bind(this));
- },
-
- registerCallback: function(element) {
- if (element.type) {
- switch (element.type.toLowerCase()) {
- case 'checkbox':
- case 'radio':
- Event.observe(element, 'click', this.onElementEvent.bind(this));
- break;
- default:
- Event.observe(element, 'change', this.onElementEvent.bind(this));
- break;
- }
- }
- }
-}
-
-Form.Element.EventObserver = Class.create();
-Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
- getValue: function() {
- return Form.Element.getValue(this.element);
- }
-});
-
-Form.EventObserver = Class.create();
-Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
- getValue: function() {
- return Form.serialize(this.element);
- }
-});
-if (!window.Event) {
- var Event = new Object();
-}
-
-Object.extend(Event, {
- KEY_BACKSPACE: 8,
- KEY_TAB: 9,
- KEY_RETURN: 13,
- KEY_ESC: 27,
- KEY_LEFT: 37,
- KEY_UP: 38,
- KEY_RIGHT: 39,
- KEY_DOWN: 40,
- KEY_DELETE: 46,
- KEY_HOME: 36,
- KEY_END: 35,
- KEY_PAGEUP: 33,
- KEY_PAGEDOWN: 34,
-
- element: function(event) {
- return $(event.target || event.srcElement);
- },
-
- isLeftClick: function(event) {
- return (((event.which) && (event.which == 1)) ||
- ((event.button) && (event.button == 1)));
- },
-
- pointerX: function(event) {
- return event.pageX || (event.clientX +
- (document.documentElement.scrollLeft || document.body.scrollLeft));
- },
-
- pointerY: function(event) {
- return event.pageY || (event.clientY +
- (document.documentElement.scrollTop || document.body.scrollTop));
- },
-
- stop: function(event) {
- if (event.preventDefault) {
- event.preventDefault();
- event.stopPropagation();
- } else {
- event.returnValue = false;
- event.cancelBubble = true;
- }
- },
-
- // find the first node with the given tagName, starting from the
- // node the event was triggered on; traverses the DOM upwards
- findElement: function(event, tagName) {
- var element = Event.element(event);
- while (element.parentNode && (!element.tagName ||
- (element.tagName.toUpperCase() != tagName.toUpperCase())))
- element = element.parentNode;
- return element;
- },
-
- observers: false,
-
- _observeAndCache: function(element, name, observer, useCapture) {
- if (!this.observers) this.observers = [];
- if (element.addEventListener) {
- this.observers.push([element, name, observer, useCapture]);
- element.addEventListener(name, observer, useCapture);
- } else if (element.attachEvent) {
- this.observers.push([element, name, observer, useCapture]);
- element.attachEvent('on' + name, observer);
- }
- },
-
- unloadCache: function() {
- if (!Event.observers) return;
- for (var i = 0, length = Event.observers.length; i < length; i++) {
- Event.stopObserving.apply(this, Event.observers[i]);
- Event.observers[i][0] = null;
- }
- Event.observers = false;
- },
-
- observe: function(element, name, observer, useCapture) {
- element = $(element);
- useCapture = useCapture || false;
-
- if (name == 'keypress' &&
- (Prototype.Browser.WebKit || element.attachEvent))
- name = 'keydown';
-
- Event._observeAndCache(element, name, observer, useCapture);
- },
-
- stopObserving: function(element, name, observer, useCapture) {
- element = $(element);
- useCapture = useCapture || false;
-
- if (name == 'keypress' &&
- (Prototype.Browser.WebKit || element.attachEvent))
- name = 'keydown';
-
- if (element.removeEventListener) {
- element.removeEventListener(name, observer, useCapture);
- } else if (element.detachEvent) {
- try {
- element.detachEvent('on' + name, observer);
- } catch (e) {}
- }
- }
-});
-
-/* prevent memory leaks in IE */
-if (Prototype.Browser.IE)
- Event.observe(window, 'unload', Event.unloadCache, false);
-var Position = {
- // set to true if needed, warning: firefox performance problems
- // NOT neeeded for page scrolling, only if draggable contained in
- // scrollable elements
- includeScrollOffsets: false,
-
- // must be called before calling withinIncludingScrolloffset, every time the
- // page is scrolled
- prepare: function() {
- this.deltaX = window.pageXOffset
- || document.documentElement.scrollLeft
- || document.body.scrollLeft
- || 0;
- this.deltaY = window.pageYOffset
- || document.documentElement.scrollTop
- || document.body.scrollTop
- || 0;
- },
-
- realOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.scrollTop || 0;
- valueL += element.scrollLeft || 0;
- element = element.parentNode;
- } while (element);
- return [valueL, valueT];
- },
-
- cumulativeOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- } while (element);
- return [valueL, valueT];
- },
-
- positionedOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- if (element) {
- if(element.tagName=='BODY') break;
- var p = Element.getStyle(element, 'position');
- if (p == 'relative' || p == 'absolute') break;
- }
- } while (element);
- return [valueL, valueT];
- },
-
- offsetParent: function(element) {
- if (element.offsetParent) return element.offsetParent;
- if (element == document.body) return element;
-
- while ((element = element.parentNode) && element != document.body)
- if (Element.getStyle(element, 'position') != 'static')
- return element;
-
- return document.body;
- },
-
- // caches x/y coordinate pair to use with overlap
- within: function(element, x, y) {
- if (this.includeScrollOffsets)
- return this.withinIncludingScrolloffsets(element, x, y);
- this.xcomp = x;
- this.ycomp = y;
- this.offset = this.cumulativeOffset(element);
-
- return (y >= this.offset[1] &&
- y < this.offset[1] + element.offsetHeight &&
- x >= this.offset[0] &&
- x < this.offset[0] + element.offsetWidth);
- },
-
- withinIncludingScrolloffsets: function(element, x, y) {
- var offsetcache = this.realOffset(element);
-
- this.xcomp = x + offsetcache[0] - this.deltaX;
- this.ycomp = y + offsetcache[1] - this.deltaY;
- this.offset = this.cumulativeOffset(element);
-
- return (this.ycomp >= this.offset[1] &&
- this.ycomp < this.offset[1] + element.offsetHeight &&
- this.xcomp >= this.offset[0] &&
- this.xcomp < this.offset[0] + element.offsetWidth);
- },
-
- // within must be called directly before
- overlap: function(mode, element) {
- if (!mode) return 0;
- if (mode == 'vertical')
- return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
- element.offsetHeight;
- if (mode == 'horizontal')
- return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
- element.offsetWidth;
- },
-
- page: function(forElement) {
- var valueT = 0, valueL = 0;
-
- var element = forElement;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
-
- // Safari fix
- if (element.offsetParent == document.body)
- if (Element.getStyle(element,'position')=='absolute') break;
-
- } while (element = element.offsetParent);
-
- element = forElement;
- do {
- if (!window.opera || element.tagName=='BODY') {
- valueT -= element.scrollTop || 0;
- valueL -= element.scrollLeft || 0;
- }
- } while (element = element.parentNode);
-
- return [valueL, valueT];
- },
-
- clone: function(source, target) {
- var options = Object.extend({
- setLeft: true,
- setTop: true,
- setWidth: true,
- setHeight: true,
- offsetTop: 0,
- offsetLeft: 0
- }, arguments[2] || {})
-
- // find page position of source
- source = $(source);
- var p = Position.page(source);
-
- // find coordinate system to use
- target = $(target);
- var delta = [0, 0];
- var parent = null;
- // delta [0,0] will do fine with position: fixed elements,
- // position:absolute needs offsetParent deltas
- if (Element.getStyle(target,'position') == 'absolute') {
- parent = Position.offsetParent(target);
- delta = Position.page(parent);
- }
-
- // correct by body offsets (fixes Safari)
- if (parent == document.body) {
- delta[0] -= document.body.offsetLeft;
- delta[1] -= document.body.offsetTop;
- }
-
- // set position
- if(options.setLeft) target.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
- if(options.setTop) target.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
- if(options.setWidth) target.style.width = source.offsetWidth + 'px';
- if(options.setHeight) target.style.height = source.offsetHeight + 'px';
- },
-
- absolutize: function(element) {
- element = $(element);
- if (element.style.position == 'absolute') return;
- Position.prepare();
-
- var offsets = Position.positionedOffset(element);
- var top = offsets[1];
- var left = offsets[0];
- var width = element.clientWidth;
- var height = element.clientHeight;
-
- element._originalLeft = left - parseFloat(element.style.left || 0);
- element._originalTop = top - parseFloat(element.style.top || 0);
- element._originalWidth = element.style.width;
- element._originalHeight = element.style.height;
-
- element.style.position = 'absolute';
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.width = width + 'px';
- element.style.height = height + 'px';
- },
-
- relativize: function(element) {
- element = $(element);
- if (element.style.position == 'relative') return;
- Position.prepare();
-
- element.style.position = 'relative';
- var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
- var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.height = element._originalHeight;
- element.style.width = element._originalWidth;
- }
-}
-
-// Safari returns margins on body which is incorrect if the child is absolutely
-// positioned. For performance reasons, redefine Position.cumulativeOffset for
-// KHTML/WebKit only.
-if (Prototype.Browser.WebKit) {
- Position.cumulativeOffset = function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- if (element.offsetParent == document.body)
- if (Element.getStyle(element, 'position') == 'absolute') break;
-
- element = element.offsetParent;
- } while (element);
-
- return [valueL, valueT];
- }
-}
-
-Element.addMethods();
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/libs/ui-utils.min-0.0.4.js b/adc-da-main/target/classes/static/editor-app/libs/ui-utils.min-0.0.4.js
deleted file mode 100644
index 897ffee..0000000
--- a/adc-da-main/target/classes/static/editor-app/libs/ui-utils.min-0.0.4.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * angular-ui-utils - Swiss-Army-Knife of AngularJS tools (with no external dependencies!)
- * @version v0.0.4 - 2013-08-28
- * @link http://angular-ui.github.com
- * @license MIT License, http://www.opensource.org/licenses/MIT
- */
-angular.module("ui.event",[]).directive("uiEvent",["$parse",function(a){return function(b,c,d){var e=b.$eval(d.uiEvent);angular.forEach(e,function(d,e){var f=a(d);c.bind(e,function(a){var c=Array.prototype.slice.call(arguments);c=c.splice(1),f(b,{$event:a,$params:c}),b.$$phase||b.$apply()})})}}]),angular.module("ui.format",[]).filter("format",function(){return function(a,b){var c=a;if(angular.isString(c)&&void 0!==b)if(angular.isArray(b)||angular.isObject(b)||(b=[b]),angular.isArray(b)){var d=b.length,e=function(a,c){return c=parseInt(c,10),c>=0&&d>c?b[c]:a};c=c.replace(/\$([0-9]+)/g,e)}else angular.forEach(b,function(a,b){c=c.split(":"+b).join(a)});return c}}),angular.module("ui.highlight",[]).filter("highlight",function(){return function(a,b,c){return b||angular.isNumber(b)?(a=a.toString(),b=b.toString(),c?a.split(b).join(''+b+" "):a.replace(new RegExp(b,"gi"),'$& ')):a}}),angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(a,b,c,d){return{restrict:"ECA",terminal:!0,compile:function(e,f){var g=f.uiInclude||f.src,h=f.fragment||"",i=f.onload||"",j=f.autoscroll;return function(e,f){function k(){var k=++m,o=e.$eval(g),p=e.$eval(h);o?a.get(o,{cache:b}).success(function(a){if(k===m){l&&l.$destroy(),l=e.$new();var b;b=p?angular.element("
").html(a).find(p):angular.element("
").html(a).contents(),f.html(b),d(b)(l),!angular.isDefined(j)||j&&!e.$eval(j)||c(),l.$emit("$includeContentLoaded"),e.$eval(i)}}).error(function(){k===m&&n()}):n()}var l,m=0,n=function(){l&&(l.$destroy(),l=null),f.html("")};e.$watch(h,k),e.$watch(g,k)}}}}]),angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){return{compile:function(a,b){return b.type&&"checkbox"===b.type.toLowerCase()?function(a,b,c){a.$watch(c.uiIndeterminate,function(a){b[0].indeterminate=!!a})}:angular.noop}}}]),angular.module("ui.inflector",[]).filter("inflector",function(){function a(a){return a.replace(/^([a-z])|\s+([a-z])/g,function(a){return a.toUpperCase()})}function b(a,b){return a.replace(/[A-Z]/g,function(a){return b+a})}var c={humanize:function(c){return a(b(c," ").split("_").join(" "))},underscore:function(a){return a.substr(0,1).toLowerCase()+b(a.substr(1),"_").toLowerCase().split(" ").join("_")},variable:function(b){return b=b.substr(0,1).toLowerCase()+a(b.split("_").join(" ")).substr(1).split(" ").join("")}};return function(a,b){return b!==!1&&angular.isString(a)?(b=b||"humanize",c[b](a)):a}}),angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(a,b){return{restrict:"A",compile:function(c,d){if(!angular.isFunction(c[d.uiJq]))throw new Error('ui-jq: The "'+d.uiJq+'" function does not exist');var e=a&&a[d.uiJq];return function(a,c,d){function f(){b(function(){c[d.uiJq].apply(c,g)},0,!1)}var g=[];d.uiOptions?(g=a.$eval("["+d.uiOptions+"]"),angular.isObject(e)&&angular.isObject(g[0])&&(g[0]=angular.extend({},e,g[0]))):e&&(g=[e]),d.ngModel&&c.is("select,input,textarea")&&c.bind("change",function(){c.trigger("input")}),d.uiRefresh&&a.$watch(d.uiRefresh,function(){f()}),f()}}}}]),angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(a){var b={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},c=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};return function(d,e,f,g){var h,i=[];h=e.$eval(g["ui"+c(d)]),angular.forEach(h,function(b,c){var d,e;e=a(b),angular.forEach(c.split(" "),function(a){d={expression:e,keys:{}},angular.forEach(a.split("-"),function(a){d.keys[a]=!0}),i.push(d)})}),f.bind(d,function(a){var c=!(!a.metaKey||a.ctrlKey),f=!!a.altKey,g=!!a.ctrlKey,h=!!a.shiftKey,j=a.keyCode;"keypress"===d&&!h&&j>=97&&122>=j&&(j-=32),angular.forEach(i,function(d){var i=d.keys[b[j]]||d.keys[j.toString()],k=!!d.keys.meta,l=!!d.keys.alt,m=!!d.keys.ctrl,n=!!d.keys.shift;i&&k===c&&l===f&&m===g&&n===h&&e.$apply(function(){d.expression(e,{$event:a})})})})}}]),angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(a){return{link:function(b,c,d){a("keydown",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(a){return{link:function(b,c,d){a("keypress",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(a){return{link:function(b,c,d){a("keyup",b,c,d)}}}]),angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{9:/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}}).directive("uiMask",["uiMaskConfig",function(a){return{priority:100,require:"ngModel",restrict:"A",compile:function(){var b=a;return function(a,c,d,e){function f(a){return angular.isDefined(a)?(s(a),N?(k(),l(),!0):j()):j()}function g(a){angular.isDefined(a)&&(D=a,N&&w())}function h(a){return N?(G=o(a||""),I=n(G),e.$setValidity("mask",I),I&&G.length?p(G):void 0):a}function i(a){return N?(G=o(a||""),I=n(G),e.$viewValue=G.length?p(G):"",e.$setValidity("mask",I),""===G&&void 0!==e.$error.required&&e.$setValidity("required",!1),I?G:void 0):a}function j(){return N=!1,m(),angular.isDefined(P)?c.attr("placeholder",P):c.removeAttr("placeholder"),angular.isDefined(Q)?c.attr("maxlength",Q):c.removeAttr("maxlength"),c.val(e.$modelValue),e.$viewValue=e.$modelValue,!1}function k(){G=K=o(e.$modelValue||""),H=J=p(G),I=n(G);var a=I&&G.length?H:"";d.maxlength&&c.attr("maxlength",2*B[B.length-1]),c.attr("placeholder",D),c.val(a),e.$viewValue=a}function l(){O||(c.bind("blur",t),c.bind("mousedown mouseup",u),c.bind("input keyup click focus",w),O=!0)}function m(){O&&(c.unbind("blur",t),c.unbind("mousedown",u),c.unbind("mouseup",u),c.unbind("input",w),c.unbind("keyup",w),c.unbind("click",w),c.unbind("focus",w),O=!1)}function n(a){return a.length?a.length>=F:!0}function o(a){var b="",c=C.slice();return a=a.toString(),angular.forEach(E,function(b){a=a.replace(b,"")}),angular.forEach(a.split(""),function(a){c.length&&c[0].test(a)&&(b+=a,c.shift())}),b}function p(a){var b="",c=B.slice();return angular.forEach(D.split(""),function(d,e){a.length&&e===c[0]?(b+=a.charAt(0)||"_",a=a.substr(1),c.shift()):b+=d}),b}function q(a){var b=d.placeholder;return"undefined"!=typeof b&&b[a]?b[a]:"_"}function r(){return D.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function s(a){var b=0;if(B=[],C=[],D="","string"==typeof a){F=0;var c=!1,d=a.split("");angular.forEach(d,function(a,d){R.maskDefinitions[a]?(B.push(b),D+=q(d),C.push(R.maskDefinitions[a]),b++,c||F++):"?"===a?c=!0:(D+=a,b++)})}B.push(B.slice().pop()+1),E=r(),N=B.length>1?!0:!1}function t(){L=0,M=0,I&&0!==G.length||(H="",c.val(""),a.$apply(function(){e.$setViewValue("")}))}function u(a){"mousedown"===a.type?c.bind("mouseout",v):c.unbind("mouseout",v)}function v(){M=A(this),c.unbind("mouseout",v)}function w(b){b=b||{};var d=b.which,f=b.type;if(16!==d&&91!==d){var g,h=c.val(),i=J,j=o(h),k=K,l=!1,m=y(this)||0,n=L||0,q=m-n,r=B[0],s=B[j.length]||B.slice().shift(),t=M||0,u=A(this)>0,v=t>0,w=h.length>i.length||t&&h.length>i.length-t,C=h.length=37&&40>=d&&b.shiftKey,E=37===d,F=8===d||"keyup"!==f&&C&&-1===q,G=46===d||"keyup"!==f&&C&&0===q&&!v,H=(E||F||"click"===f)&&m>r;if(M=A(this),!D&&(!u||"click"!==f&&"keyup"!==f)){if("input"===f&&C&&!v&&j===k){for(;F&&m>r&&!x(m);)m--;for(;G&&s>m&&-1===B.indexOf(m);)m++;var I=B.indexOf(m);j=j.substring(0,I)+j.substring(I+1),l=!0}for(g=p(j),J=g,K=j,c.val(g),l&&a.$apply(function(){e.$setViewValue(j)}),w&&r>=m&&(m=r+1),H&&m--,m=m>s?s:r>m?r:m;!x(m)&&m>r&&s>m;)m+=H?-1:1;(H&&s>m||w&&!x(n))&&m++,L=m,z(this,m)}}}function x(a){return B.indexOf(a)>-1}function y(a){if(void 0!==a.selectionStart)return a.selectionStart;if(document.selection){a.focus();var b=document.selection.createRange();return b.moveStart("character",-a.value.length),b.text.length}return 0}function z(a,b){if(0!==a.offsetWidth&&0!==a.offsetHeight)if(a.setSelectionRange)a.focus(),a.setSelectionRange(b,b);else if(a.createTextRange){var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}}function A(a){return void 0!==a.selectionStart?a.selectionEnd-a.selectionStart:document.selection?document.selection.createRange().text.length:0}var B,C,D,E,F,G,H,I,J,K,L,M,N=!1,O=!1,P=d.placeholder,Q=d.maxlength,R={};d.uiOptions?(R=a.$eval("["+d.uiOptions+"]"),angular.isObject(R[0])&&(R=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]?angular.extend(b[c],a[c]):b[c]=angular.copy(a[c]));return b}(b,R[0]))):R=b,d.$observe("uiMask",f),d.$observe("placeholder",g),e.$formatters.push(h),e.$parsers.push(i),c.bind("mousedown mouseup",u),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){"use strict";if(null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!==d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1})}}}}]),angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(a){var b=null;return void 0!==a&&(b=a),{require:"ngModel",link:function(a,c,d,e){var f;f=angular.element(' '),c.wrap(' ').after(f),f.bind("click",function(c){c.preventDefault(),a.$apply(function(){d.uiReset?e.$setViewValue(a.$eval(d.uiReset)):e.$setViewValue(b),e.$render()})})}}}]),angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(a,b){return{restrict:"AC",scope:!0,compile:function(c,d){var e;if(d.uiRoute)e="uiRoute";else if(d.ngHref)e="ngHref";else{if(!d.href)throw new Error("uiRoute missing a route or href property on "+c[0]);e="href"}return function(c,d,f){function g(b){(hash=b.indexOf("#"))>-1&&(b=b.substr(hash+1)),j=function(){i(c,a.path().indexOf(b)>-1)},j()}function h(b){(hash=b.indexOf("#"))>-1&&(b=b.substr(hash+1)),j=function(){var d=new RegExp("^"+b+"$",["i"]);i(c,d.test(a.path()))},j()}var i=b(f.ngModel||f.routeModel||"$uiRoute").assign,j=angular.noop;switch(e){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?g(f.ngHref):f.$observe("ngHref",g);break;case"href":g(f.href)}c.$on("$routeChangeSuccess",function(){j()}),c.$on("$stateChangeSuccess",function(){j()})}}}}]),angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(a){"use strict";return{require:"^?uiScrollfixTarget",link:function(b,c,d,e){var f=c[0].offsetTop,g=e&&e.$element||angular.element(a);d.uiScrollfix?"string"==typeof d.uiScrollfix&&("-"===d.uiScrollfix.charAt(0)?d.uiScrollfix=f-parseFloat(d.uiScrollfix.substr(1)):"+"===d.uiScrollfix.charAt(0)&&(d.uiScrollfix=f+parseFloat(d.uiScrollfix.substr(1)))):d.uiScrollfix=f,g.bind("scroll",function(){var b;if(angular.isDefined(a.pageYOffset))b=a.pageYOffset;else{var e=document.compatMode&&"BackCompat"!==document.compatMode?document.documentElement:document.body;b=e.scrollTop}!c.hasClass("ui-scrollfix")&&b>d.uiScrollfix?c.addClass("ui-scrollfix"):c.hasClass("ui-scrollfix")&&b
-
-
- {{group.name}}
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/partials/stencil-item-template.html b/adc-da-main/target/classes/static/editor-app/partials/stencil-item-template.html
deleted file mode 100644
index f032060..0000000
--- a/adc-da-main/target/classes/static/editor-app/partials/stencil-item-template.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- {{group.name}}
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/plugins.xml b/adc-da-main/target/classes/static/editor-app/plugins.xml
deleted file mode 100644
index 2517d86..0000000
--- a/adc-da-main/target/classes/static/editor-app/plugins.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/popups/icon-template.html b/adc-da-main/target/classes/static/editor-app/popups/icon-template.html
deleted file mode 100644
index 22eb12a..0000000
--- a/adc-da-main/target/classes/static/editor-app/popups/icon-template.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/popups/save-model.html b/adc-da-main/target/classes/static/editor-app/popups/save-model.html
deleted file mode 100644
index b031f1c..0000000
--- a/adc-da-main/target/classes/static/editor-app/popups/save-model.html
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
- {{'MODEL.NAME' | translate}}
-
-
-
- {{'MODEL.DESCRIPTION' | translate}}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/popups/select-shape.html b/adc-da-main/target/classes/static/editor-app/popups/select-shape.html
deleted file mode 100644
index a004ae3..0000000
--- a/adc-da-main/target/classes/static/editor-app/popups/select-shape.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
diff --git a/adc-da-main/target/classes/static/editor-app/popups/unsaved-changes.html b/adc-da-main/target/classes/static/editor-app/popups/unsaved-changes.html
deleted file mode 100644
index 964ab69..0000000
--- a/adc-da-main/target/classes/static/editor-app/popups/unsaved-changes.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/select-shape-controller.js b/adc-da-main/target/classes/static/editor-app/select-shape-controller.js
deleted file mode 100644
index 9e426e6..0000000
--- a/adc-da-main/target/classes/static/editor-app/select-shape-controller.js
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Activiti Modeler component part of the Activiti project
- * Copyright 2005-2014 Alfresco Software, Ltd. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * Controller for morph shape selection
- */
-
-var KisBpmShapeSelectionCtrl = [ '$rootScope', '$scope', '$timeout', '$translate', function($rootScope, $scope, $timeout, $translate) {
-
- $scope.selectedMorphShapes = [];
-
- $scope.availableMorphShapes = [];
-
- for (var i = 0; i < $scope.morphShapes.length; i++)
- {
- if ($scope.morphShapes[i].id != $scope.currentSelectedShape.getStencil().idWithoutNs())
- {
- $scope.availableMorphShapes.push($scope.morphShapes[i]);
- }
- }
-
- // Config for grid
- $scope.gridOptions = {
- data: 'availableMorphShapes',
- enableRowReordering: true,
- headerRowHeight: 28,
- multiSelect: false,
- keepLastSelected : false,
- selectedItems: $scope.selectedMorphShapes,
- columnDefs: [{ field: 'objectId', displayName: 'Icon', width: 50, cellTemplate: 'editor-app/popups/icon-template.html?version=' + Date.now() },
- { field: 'name', displayName: 'Name'}]
- };
-
- // Click handler for save button
- $scope.select = function() {
-
- if ($scope.selectedMorphShapes.length > 0)
- {
- var MorphTo = ORYX.Core.Command.extend({
- construct: function(shape, stencil, facade){
- this.shape = shape;
- this.stencil = stencil;
- this.facade = facade;
- },
- execute: function(){
-
- var shape = this.shape;
- var stencil = this.stencil;
- var resourceId = shape.resourceId;
-
- // Serialize all attributes
- var serialized = shape.serialize();
- stencil.properties().each((function(prop) {
- if(prop.readonly()) {
- serialized = serialized.reject(function(serProp) {
- return serProp.name==prop.id();
- });
- }
- }).bind(this));
-
- // Get shape if already created, otherwise create a new shape
- if (this.newShape){
- newShape = this.newShape;
- this.facade.getCanvas().add(newShape);
- } else {
- newShape = this.facade.createShape({
- type: stencil.id(),
- namespace: stencil.namespace(),
- resourceId: resourceId
- });
- }
-
- // calculate new bounds using old shape's upperLeft and new shape's width/height
- var boundsObj = serialized.find(function(serProp){
- return (serProp.prefix === "oryx" && serProp.name === "bounds");
- });
-
- var changedBounds = null;
-
- if (!this.facade.getRules().preserveBounds(shape.getStencil())) {
-
- var bounds = boundsObj.value.split(",");
- if (parseInt(bounds[0], 10) > parseInt(bounds[2], 10)) { // if lowerRight comes first, swap array items
- var tmp = bounds[0];
- bounds[0] = bounds[2];
- bounds[2] = tmp;
- tmp = bounds[1];
- bounds[1] = bounds[3];
- bounds[3] = tmp;
- }
- bounds[2] = parseInt(bounds[0], 10) + newShape.bounds.width();
- bounds[3] = parseInt(bounds[1], 10) + newShape.bounds.height();
- boundsObj.value = bounds.join(",");
-
- } else {
-
- var height = shape.bounds.height();
- var width = shape.bounds.width();
-
- // consider the minimum and maximum size of
- // the new shape
-
- if (newShape.minimumSize) {
- if (shape.bounds.height() < newShape.minimumSize.height) {
- height = newShape.minimumSize.height;
- }
-
-
- if (shape.bounds.width() < newShape.minimumSize.width) {
- width = newShape.minimumSize.width;
- }
- }
-
- if(newShape.maximumSize) {
- if(shape.bounds.height() > newShape.maximumSize.height) {
- height = newShape.maximumSize.height;
- }
-
- if(shape.bounds.width() > newShape.maximumSize.width) {
- width = newShape.maximumSize.width;
- }
- }
-
- changedBounds = {
- a : {
- x: shape.bounds.a.x,
- y: shape.bounds.a.y
- },
- b : {
- x: shape.bounds.a.x + width,
- y: shape.bounds.a.y + height
- }
- };
-
- }
-
- var oPos = shape.bounds.center();
- if(changedBounds !== null) {
- newShape.bounds.set(changedBounds);
- }
-
- // Set all related dockers
- this.setRelatedDockers(shape, newShape);
-
- // store DOM position of old shape
- var parentNode = shape.node.parentNode;
- var nextSibling = shape.node.nextSibling;
-
- // Delete the old shape
- this.facade.deleteShape(shape);
-
- // Deserialize the new shape - Set all attributes
- newShape.deserialize(serialized);
- /*
- * Change color to default if unchanged
- * 23.04.2010
- */
- if(shape.getStencil().property("oryx-bgcolor")
- && shape.properties["oryx-bgcolor"]
- && shape.getStencil().property("oryx-bgcolor").value().toUpperCase()== shape.properties["oryx-bgcolor"].toUpperCase()){
- if(newShape.getStencil().property("oryx-bgcolor")){
- newShape.setProperty("oryx-bgcolor", newShape.getStencil().property("oryx-bgcolor").value());
- }
- }
- if(changedBounds !== null) {
- newShape.bounds.set(changedBounds);
- }
-
- if(newShape.getStencil().type()==="edge" || (newShape.dockers.length==0 || !newShape.dockers[0].getDockedShape())) {
- newShape.bounds.centerMoveTo(oPos);
- }
-
- if(newShape.getStencil().type()==="node" && (newShape.dockers.length==0 || !newShape.dockers[0].getDockedShape())) {
- this.setRelatedDockers(newShape, newShape);
-
- }
-
- // place at the DOM position of the old shape
- if(nextSibling) parentNode.insertBefore(newShape.node, nextSibling);
- else parentNode.appendChild(newShape.node);
-
- // Set selection
- this.facade.setSelection([newShape]);
- this.facade.getCanvas().update();
- this.facade.updateSelection();
- this.newShape = newShape;
-
- },
- rollback: function(){
-
- if (!this.shape || !this.newShape || !this.newShape.parent) {return;}
-
- // Append shape to the parent
- this.newShape.parent.add(this.shape);
- // Set dockers
- this.setRelatedDockers(this.newShape, this.shape);
- // Delete new shape
- this.facade.deleteShape(this.newShape);
- // Set selection
- this.facade.setSelection([this.shape]);
- // Update
- this.facade.getCanvas().update();
- this.facade.updateSelection();
- },
-
- /**
- * Set all incoming and outgoing edges from the shape to the new shape
- * @param {Shape} shape
- * @param {Shape} newShape
- */
- setRelatedDockers: function(shape, newShape){
-
- if(shape.getStencil().type()==="node") {
-
- (shape.incoming||[]).concat(shape.outgoing||[])
- .each(function(i) {
- i.dockers.each(function(docker) {
- if (docker.getDockedShape() == shape) {
- var rPoint = Object.clone(docker.referencePoint);
- // Move reference point per percent
-
- var rPointNew = {
- x: rPoint.x*newShape.bounds.width()/shape.bounds.width(),
- y: rPoint.y*newShape.bounds.height()/shape.bounds.height()
- };
-
- docker.setDockedShape(newShape);
- // Set reference point and center to new position
- docker.setReferencePoint(rPointNew);
- if(i instanceof ORYX.Core.Edge) {
- docker.bounds.centerMoveTo(rPointNew);
- } else {
- var absXY = shape.absoluteXY();
- docker.bounds.centerMoveTo({x:rPointNew.x+absXY.x, y:rPointNew.y+absXY.y});
- //docker.bounds.moveBy({x:rPointNew.x-rPoint.x, y:rPointNew.y-rPoint.y});
- }
- }
- });
- });
-
- // for attached events
- if(shape.dockers.length>0&&shape.dockers.first().getDockedShape()) {
- newShape.dockers.first().setDockedShape(shape.dockers.first().getDockedShape());
- newShape.dockers.first().setReferencePoint(Object.clone(shape.dockers.first().referencePoint));
- }
-
- } else { // is edge
- newShape.dockers.first().setDockedShape(shape.dockers.first().getDockedShape());
- newShape.dockers.first().setReferencePoint(shape.dockers.first().referencePoint);
- newShape.dockers.last().setDockedShape(shape.dockers.last().getDockedShape());
- newShape.dockers.last().setReferencePoint(shape.dockers.last().referencePoint);
- }
- }
- });
-
- var stencil = undefined;
- var stencilSets = $scope.editor.getStencilSets().values();
-
- var stencilId = $scope.selectedMorphShapes[0].id;
- if ($scope.selectedMorphShapes[0].genericTaskId)
- {
- stencilId = $scope.selectedMorphShapes[0].genericTaskId;
- }
-
- for (var i = 0; i < stencilSets.length; i++)
- {
- var stencilSet = stencilSets[i];
- var nodes = stencilSet.nodes();
- for (var j = 0; j < nodes.length; j++)
- {
- if (nodes[j].idWithoutNs() === stencilId)
- {
- stencil = nodes[j];
- break;
- }
- }
- }
-
- if (!stencil) return;
-
- // Create and execute command (for undo/redo)
- var command = new MorphTo($scope.currentSelectedShape, stencil, $scope.editor);
- $scope.editor.executeCommands([command]);
- }
-
- $scope.close();
- };
-
- $scope.cancel = function() {
- $scope.$hide();
- };
-
- // Close button handler
- $scope.close = function() {
- $scope.$hide();
- };
-
-}];
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/editor-app/stencil-controller.js b/adc-da-main/target/classes/static/editor-app/stencil-controller.js
deleted file mode 100644
index a37abee..0000000
--- a/adc-da-main/target/classes/static/editor-app/stencil-controller.js
+++ /dev/null
@@ -1,1435 +0,0 @@
-/*
- * Activiti Modeler component part of the Activiti project
- * Copyright 2005-2014 Alfresco Software, Ltd. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-'use strict';
-
-angular.module('activitiModeler')
- .controller('StencilController', ['$rootScope', '$scope', '$http', '$modal', '$timeout', function ($rootScope, $scope, $http, $modal, $timeout) {
-
- // Property window toggle state
- $scope.propertyWindowState = {'collapsed': false};
-
- // Add reference to global header-config
- $scope.headerConfig = KISBPM.HEADER_CONFIG;
-
- $scope.propertyWindowState.toggle = function () {
- $scope.propertyWindowState.collapsed = !$scope.propertyWindowState.collapsed;
- $timeout(function () {
- jQuery(window).trigger('resize');
- });
- };
-
- // Code that is dependent on an initialised Editor is wrapped in a promise for the editor
- $scope.editorFactory.promise.then(function () {
-
- /* Build stencil item list */
-
- // Build simple json representation of stencil set
- var stencilItemGroups = [];
-
- // Helper method: find a group in an array
- var findGroup = function (name, groupArray) {
- for (var index = 0; index < groupArray.length; index++) {
- if (groupArray[index].name === name) {
- return groupArray[index];
- }
- }
- return null;
- };
-
- // Helper method: add a new group to an array of groups
- var addGroup = function (groupName, groupArray) {
- var group = { name: groupName, items: [], paletteItems: [], groups: [], visible: true };
- groupArray.push(group);
- return group;
- };
-
- /*
- StencilSet items
- */
- $http({method: 'GET', url: KISBPM.URL.getStencilSet()}).success(function (data, status, headers, config) {
-
- var quickMenuDefinition = ['UserTask', 'EndNoneEvent', 'ExclusiveGateway',
- 'CatchTimerEvent', 'ThrowNoneEvent', 'TextAnnotation',
- 'SequenceFlow', 'Association'];
- var ignoreForPaletteDefinition = ['SequenceFlow', 'MessageFlow', 'Association', 'DataAssociation', 'DataStore', 'SendTask'];
- var quickMenuItems = [];
-
- var morphRoles = [];
- for (var i = 0; i < data.rules.morphingRules.length; i++)
- {
- var role = data.rules.morphingRules[i].role;
- var roleItem = {'role': role, 'morphOptions': []};
- morphRoles.push(roleItem);
- }
-
- // Check all received items
- for (var stencilIndex = 0; stencilIndex < data.stencils.length; stencilIndex++)
- {
- // Check if the root group is the 'diagram' group. If so, this item should not be shown.
- var currentGroupName = data.stencils[stencilIndex].groups[0];
- if (currentGroupName === 'Diagram' || currentGroupName === 'Form') {
- continue; // go to next item
- }
-
- var removed = false;
- if (data.stencils[stencilIndex].removed) {
- removed = true;
- }
-
- var currentGroup = undefined;
- if (!removed) {
- // Check if this group already exists. If not, we create a new one
-
- if (currentGroupName !== null && currentGroupName !== undefined && currentGroupName.length > 0) {
-
- currentGroup = findGroup(currentGroupName, stencilItemGroups); // Find group in root groups array
- if (currentGroup === null) {
- currentGroup = addGroup(currentGroupName, stencilItemGroups);
- }
-
- // Add all child groups (if any)
- for (var groupIndex = 1; groupIndex < data.stencils[stencilIndex].groups.length; groupIndex++) {
- var childGroupName = data.stencils[stencilIndex].groups[groupIndex];
- var childGroup = findGroup(childGroupName, currentGroup.groups);
- if (childGroup === null) {
- childGroup = addGroup(childGroupName, currentGroup.groups);
- }
-
- // The current group variable holds the parent of the next group (if any),
- // and is basically the last element in the array of groups defined in the stencil item
- currentGroup = childGroup;
-
- }
-
- }
- }
-
- // Construct the stencil item
- var stencilItem = {'id': data.stencils[stencilIndex].id,
- 'name': data.stencils[stencilIndex].title,
- 'description': data.stencils[stencilIndex].description,
- 'icon': data.stencils[stencilIndex].icon,
- 'type': data.stencils[stencilIndex].type,
- 'roles': data.stencils[stencilIndex].roles,
- 'removed': removed,
- 'customIcon': false,
- 'canConnect': false,
- 'canConnectTo': false,
- 'canConnectAssociation': false};
-
- if (data.stencils[stencilIndex].customIconId && data.stencils[stencilIndex].customIconId > 0) {
- stencilItem.customIcon = true;
- stencilItem.icon = data.stencils[stencilIndex].customIconId;
- }
-
- if (!removed) {
- if (quickMenuDefinition.indexOf(stencilItem.id) >= 0) {
- quickMenuItems[quickMenuDefinition.indexOf(stencilItem.id)] = stencilItem;
- }
- }
-
- if (stencilItem.id === 'TextAnnotation' || stencilItem.id === 'BoundaryCompensationEvent') {
- stencilItem.canConnectAssociation = true;
- }
-
- for (var i = 0; i < data.stencils[stencilIndex].roles.length; i++) {
- var stencilRole = data.stencils[stencilIndex].roles[i];
- if (stencilRole === 'sequence_start') {
- stencilItem.canConnect = true;
- } else if (stencilRole === 'sequence_end') {
- stencilItem.canConnectTo = true;
- }
-
- for (var j = 0; j < morphRoles.length; j++) {
- if (stencilRole === morphRoles[j].role) {
- if (!removed) {
- morphRoles[j].morphOptions.push(stencilItem);
- }
- stencilItem.morphRole = morphRoles[j].role;
- break;
- }
- }
- }
-
- if (currentGroup) {
- // Add the stencil item to the correct group
- currentGroup.items.push(stencilItem);
- if (ignoreForPaletteDefinition.indexOf(stencilItem.id) < 0) {
- currentGroup.paletteItems.push(stencilItem);
- }
-
- } else {
- // It's a root stencil element
- if (!removed) {
- stencilItemGroups.push(stencilItem);
- }
- }
- }
-
- for (var i = 0; i < stencilItemGroups.length; i++)
- {
- if (stencilItemGroups[i].paletteItems && stencilItemGroups[i].paletteItems.length == 0)
- {
- stencilItemGroups[i].visible = false;
- }
- }
-
- $scope.stencilItemGroups = stencilItemGroups;
-
- var containmentRules = [];
- for (var i = 0; i < data.rules.containmentRules.length; i++)
- {
- var rule = data.rules.containmentRules[i];
- containmentRules.push(rule);
- }
- $scope.containmentRules = containmentRules;
-
- // remove quick menu items which are not available anymore due to custom pallette
- var availableQuickMenuItems = [];
- for (var i = 0; i < quickMenuItems.length; i++)
- {
- if (quickMenuItems[i]) {
- availableQuickMenuItems[availableQuickMenuItems.length] = quickMenuItems[i];
- }
- }
-
- $scope.quickMenuItems = availableQuickMenuItems;
- $scope.morphRoles = morphRoles;
- }).
-
- error(function (data, status, headers, config) {
- console.log('Something went wrong when fetching stencil items:' + JSON.stringify(data));
- });
-
- /*
- * Listen to selection change events: show properties
- */
- $scope.editor.registerOnEvent(ORYX.CONFIG.EVENT_SELECTION_CHANGED, function (event) {
- var shapes = event.elements;
- var canvasSelected = false;
- if (shapes && shapes.length == 0) {
- shapes = [$scope.editor.getCanvas()];
- canvasSelected = true;
- }
- if (shapes && shapes.length > 0) {
-
- var selectedShape = shapes.first();
- var stencil = selectedShape.getStencil();
-
- if ($rootScope.selectedElementBeforeScrolling && stencil.id().indexOf('BPMNDiagram') !== -1)
- {
- // ignore canvas event because of empty selection when scrolling stops
- return;
- }
-
- if ($rootScope.selectedElementBeforeScrolling && $rootScope.selectedElementBeforeScrolling.getId() === selectedShape.getId())
- {
- $rootScope.selectedElementBeforeScrolling = null;
- return;
- }
-
- // Store previous selection
- $scope.previousSelectedShape = $scope.selectedShape;
-
- // Only do something if another element is selected (Oryx fires this event multiple times)
- if ($scope.selectedShape !== undefined && $scope.selectedShape.getId() === selectedShape.getId()) {
- if ($rootScope.forceSelectionRefresh) {
- // Switch the flag again, this run will force refresh
- $rootScope.forceSelectionRefresh = false;
- } else {
- // Selected the same element again, no need to update anything
- return;
- }
- }
-
- var selectedItem = {'title': '', 'properties': []};
-
- if (canvasSelected) {
- selectedItem.auditData = {
- 'author': $scope.modelData.createdByUser,
- 'createDate': $scope.modelData.createDate
- };
- }
-
- // Gather properties of selected item
- var properties = stencil.properties();
- for (var i = 0; i < properties.length; i++) {
- var property = properties[i];
- if (property.popular() == false) continue;
- var key = property.prefix() + "-" + property.id();
-
- if (key === 'oryx-name') {
- selectedItem.title = selectedShape.properties[key];
- }
-
- // First we check if there is a config for 'key-type' and then for 'type' alone
- var propertyConfig = KISBPM.PROPERTY_CONFIG[key + '-' + property.type()];
- if (propertyConfig === undefined || propertyConfig === null) {
- propertyConfig = KISBPM.PROPERTY_CONFIG[property.type()];
- }
-
- if (propertyConfig === undefined || propertyConfig === null) {
- console.log('WARNING: no property configuration defined for ' + key + ' of type ' + property.type());
- } else {
-
- if (selectedShape.properties[key] === 'true') {
- selectedShape.properties[key] = true;
- }
-
- if (KISBPM.CONFIG.showRemovedProperties == false && property.isHidden())
- {
- continue;
- }
-
- var currentProperty = {
- 'key': key,
- 'title': property.title(),
- 'type': property.type(),
- 'mode': 'read',
- 'hidden': property.isHidden(),
- 'value': selectedShape.properties[key]
- };
-
- if ((currentProperty.type === 'complex' || currentProperty.type === 'multiplecomplex') && currentProperty.value && currentProperty.value.length > 0) {
- try {
- currentProperty.value = JSON.parse(currentProperty.value);
- } catch (err) {
- // ignore
- }
- }
-
- if (propertyConfig.readModeTemplateUrl !== undefined && propertyConfig.readModeTemplateUrl !== null) {
- currentProperty.readModeTemplateUrl = propertyConfig.readModeTemplateUrl + '?version=' + $rootScope.staticIncludeVersion;
- }
- if (propertyConfig.writeModeTemplateUrl !== null && propertyConfig.writeModeTemplateUrl !== null) {
- currentProperty.writeModeTemplateUrl = propertyConfig.writeModeTemplateUrl + '?version=' + $rootScope.staticIncludeVersion;
- }
-
- if (propertyConfig.templateUrl !== undefined && propertyConfig.templateUrl !== null) {
- currentProperty.templateUrl = propertyConfig.templateUrl + '?version=' + $rootScope.staticIncludeVersion;
- currentProperty.hasReadWriteMode = false;
- }
- else {
- currentProperty.hasReadWriteMode = true;
- }
-
- if (currentProperty.value === undefined
- || currentProperty.value === null
- || currentProperty.value.length == 0) {
- currentProperty.noValue = true;
- }
-
- selectedItem.properties.push(currentProperty);
- }
- }
-
- // Need to wrap this in an $apply block, see http://jimhoskins.com/2012/12/17/angularjs-and-apply.html
- $scope.safeApply(function () {
- $scope.selectedItem = selectedItem;
- $scope.selectedShape = selectedShape;
- });
-
- } else {
- $scope.safeApply(function () {
- $scope.selectedItem = {};
- $scope.selectedShape = null;
- });
- }
- });
-
- $scope.editor.registerOnEvent(ORYX.CONFIG.EVENT_SELECTION_CHANGED, function (event) {
-
- KISBPM.eventBus.dispatch(KISBPM.eventBus.EVENT_TYPE_HIDE_SHAPE_BUTTONS);
- var shapes = event.elements;
-
- if (shapes && shapes.length == 1) {
-
- var selectedShape = shapes.first();
-
- var a = $scope.editor.getCanvas().node.getScreenCTM();
-
- var absoluteXY = selectedShape.absoluteXY();
-
- absoluteXY.x *= a.a;
- absoluteXY.y *= a.d;
-
- var additionalIEZoom = 1;
- if (!isNaN(screen.logicalXDPI) && !isNaN(screen.systemXDPI)) {
- var ua = navigator.userAgent;
- if (ua.indexOf('MSIE') >= 0) {
- //IE 10 and below
- var zoom = Math.round((screen.deviceXDPI / screen.logicalXDPI) * 100);
- if (zoom !== 100) {
- additionalIEZoom = zoom / 100
- }
- }
- }
-
- if (additionalIEZoom === 1) {
- absoluteXY.y = absoluteXY.y - jQuery("#canvasSection").offset().top + 5;
- absoluteXY.x = absoluteXY.x - jQuery("#canvasSection").offset().left;
-
- } else {
- var canvasOffsetLeft = jQuery("#canvasSection").offset().left;
- var canvasScrollLeft = jQuery("#canvasSection").scrollLeft();
- var canvasScrollTop = jQuery("#canvasSection").scrollTop();
-
- var offset = a.e - (canvasOffsetLeft * additionalIEZoom);
- var additionaloffset = 0;
- if (offset > 10) {
- additionaloffset = (offset / additionalIEZoom) - offset;
- }
- absoluteXY.y = absoluteXY.y - (jQuery("#canvasSection").offset().top * additionalIEZoom) + 5 + ((canvasScrollTop * additionalIEZoom) - canvasScrollTop);
- absoluteXY.x = absoluteXY.x - (canvasOffsetLeft * additionalIEZoom) + additionaloffset + ((canvasScrollLeft * additionalIEZoom) - canvasScrollLeft);
- }
-
- var bounds = new ORYX.Core.Bounds(a.e + absoluteXY.x, a.f + absoluteXY.y, a.e + absoluteXY.x + a.a*selectedShape.bounds.width(), a.f + absoluteXY.y + a.d*selectedShape.bounds.height());
- var shapeXY = bounds.upperLeft();
-
- var stencilItem = $scope.getStencilItemById(selectedShape.getStencil().idWithoutNs());
- var morphShapes = [];
- if (stencilItem && stencilItem.morphRole)
- {
- for (var i = 0; i < $scope.morphRoles.length; i++)
- {
- if ($scope.morphRoles[i].role === stencilItem.morphRole)
- {
- morphShapes = $scope.morphRoles[i].morphOptions;
- }
- }
- }
-
- var x = shapeXY.x;
- if (bounds.width() < 48) {
- x -= 24;
- }
-
- if (morphShapes && morphShapes.length > 0) {
- // In case the element is not wide enough, start the 2 bottom-buttons more to the left
- // to prevent overflow in the right-menu
- var morphButton = document.getElementById('morph-button');
- morphButton.style.display = "block";
- morphButton.style.left = x + 24 +'px';
- morphButton.style.top = (shapeXY.y+bounds.height() + 2) + 'px';
- }
-
- var deleteButton = document.getElementById('delete-button');
- deleteButton.style.display = "block";
- deleteButton.style.left = x + 'px';
- deleteButton.style.top = (shapeXY.y+bounds.height() + 2) + 'px';
-
- if (stencilItem && (stencilItem.canConnect || stencilItem.canConnectAssociation)) {
- var quickButtonCounter = 0;
- var quickButtonX = shapeXY.x+bounds.width() + 5;
- var quickButtonY = shapeXY.y;
- jQuery('.Oryx_button').each(function(i, obj) {
- if (obj.id !== 'morph-button' && obj.id != 'delete-button') {
- quickButtonCounter++;
- if (quickButtonCounter > 3) {
- quickButtonX = shapeXY.x+bounds.width() + 5;
- quickButtonY += 24;
- quickButtonCounter = 1;
-
- } else if (quickButtonCounter > 1) {
- quickButtonX += 24;
- }
- obj.style.display = "block";
- obj.style.left = quickButtonX + 'px';
- obj.style.top = quickButtonY + 'px';
- }
- });
- }
- }
- });
-
- if (!$rootScope.stencilInitialized) {
- KISBPM.eventBus.addListener(KISBPM.eventBus.EVENT_TYPE_HIDE_SHAPE_BUTTONS, function (event) {
- jQuery('.Oryx_button').each(function(i, obj) {
- obj.style.display = "none";
- });
- });
-
- /*
- * Listen to property updates and act upon them
- */
- KISBPM.eventBus.addListener(KISBPM.eventBus.EVENT_TYPE_PROPERTY_VALUE_CHANGED, function (event) {
- if (event.property && event.property.key) {
- // If the name property is been updated, we also need to change the title of the currently selected item
- if (event.property.key === 'oryx-name' && $scope.selectedItem !== undefined && $scope.selectedItem !== null) {
- $scope.selectedItem.title = event.newValue;
- }
-
- // Update "no value" flag
- event.property.noValue = (event.property.value === undefined
- || event.property.value === null
- || event.property.value.length == 0);
- }
- });
-
- $rootScope.stencilInitialized = true;
- }
-
- $scope.morphShape = function() {
- $scope.safeApply(function () {
-
- var shapes = $rootScope.editor.getSelection();
- if (shapes && shapes.length == 1)
- {
- $rootScope.currentSelectedShape = shapes.first();
- var stencilItem = $scope.getStencilItemById($rootScope.currentSelectedShape.getStencil().idWithoutNs());
- var morphShapes = [];
- for (var i = 0; i < $scope.morphRoles.length; i++)
- {
- if ($scope.morphRoles[i].role === stencilItem.morphRole)
- {
- morphShapes = $scope.morphRoles[i].morphOptions.slice();
- }
- }
-
- // Method to open shape select dialog (used later on)
- var showSelectShapeDialog = function()
- {
- $rootScope.morphShapes = morphShapes;
- $modal({
- backdrop: false,
- keyboard: true,
- template: 'editor-app/popups/select-shape.html?version=' + Date.now()
- });
- };
-
- showSelectShapeDialog();
- }
- });
- };
-
- $scope.deleteShape = function() {
- KISBPM.TOOLBAR.ACTIONS.deleteItem({'$scope': $scope});
- };
-
- $scope.quickAddItem = function(newItemId) {
- $scope.safeApply(function () {
-
- var shapes = $rootScope.editor.getSelection();
- if (shapes && shapes.length == 1)
- {
- $rootScope.currentSelectedShape = shapes.first();
-
- var containedStencil = undefined;
- var stencilSets = $scope.editor.getStencilSets().values();
- for (var i = 0; i < stencilSets.length; i++)
- {
- var stencilSet = stencilSets[i];
- var nodes = stencilSet.nodes();
- for (var j = 0; j < nodes.length; j++)
- {
- if (nodes[j].idWithoutNs() === newItemId)
- {
- containedStencil = nodes[j];
- break;
- }
- }
- }
-
- if (!containedStencil) return;
-
- var option = {type: $scope.currentSelectedShape.getStencil().namespace() + newItemId, namespace: $scope.currentSelectedShape.getStencil().namespace()};
- option['connectedShape'] = $rootScope.currentSelectedShape;
- option['parent'] = $rootScope.currentSelectedShape.parent;
- option['containedStencil'] = containedStencil;
-
- var args = { sourceShape: $rootScope.currentSelectedShape, targetStencil: containedStencil };
- var targetStencil = $scope.editor.getRules().connectMorph(args);
- if (!targetStencil){ return; }// Check if there can be a target shape
- option['connectingType'] = targetStencil.id();
-
- var command = new KISBPM.CreateCommand(option, undefined, undefined, $scope.editor);
-
- $scope.editor.executeCommands([command]);
- }
- });
- };
-
- }); // end of $scope.editorFactory.promise block
-
- /* Click handler for clicking a property */
- $scope.propertyClicked = function (index) {
- if (!$scope.selectedItem.properties[index].hidden) {
- $scope.selectedItem.properties[index].mode = "write";
- }
- };
-
- /* Helper method to retrieve the template url for a property */
- $scope.getPropertyTemplateUrl = function (index) {
- return $scope.selectedItem.properties[index].templateUrl;
- };
- $scope.getPropertyReadModeTemplateUrl = function (index) {
- return $scope.selectedItem.properties[index].readModeTemplateUrl;
- };
- $scope.getPropertyWriteModeTemplateUrl = function (index) {
- return $scope.selectedItem.properties[index].writeModeTemplateUrl;
- };
-
- /* Method available to all sub controllers (for property controllers) to update the internal Oryx model */
- $scope.updatePropertyInModel = function (property, shapeId) {
-
- var shape = $scope.selectedShape;
- // Some updates may happen when selected shape is already changed, so when an additional
- // shapeId is supplied, we need to make sure the correct shape is updated (current or previous)
- if (shapeId) {
- if (shape.id != shapeId && $scope.previousSelectedShape && $scope.previousSelectedShape.id == shapeId) {
- shape = $scope.previousSelectedShape;
- } else {
- shape = null;
- }
- }
-
- if (!shape) {
- // When no shape is selected, or no shape is found for the alternative
- // shape ID, do nothing
- return;
- }
- var key = property.key;
- var newValue = property.value;
- var oldValue = shape.properties[key];
-
- if (newValue != oldValue) {
- var commandClass = ORYX.Core.Command.extend({
- construct: function () {
- this.key = key;
- this.oldValue = oldValue;
- this.newValue = newValue;
- this.shape = shape;
- this.facade = $scope.editor;
- },
- execute: function () {
- this.shape.setProperty(this.key, this.newValue);
- this.facade.getCanvas().update();
- this.facade.updateSelection();
- },
- rollback: function () {
- this.shape.setProperty(this.key, this.oldValue);
- this.facade.getCanvas().update();
- this.facade.updateSelection();
- }
- });
- // Instantiate the class
- var command = new commandClass();
-
- // Execute the command
- $scope.editor.executeCommands([command]);
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_PROPWINDOW_PROP_CHANGED,
- elements: [shape],
- key: key
- });
-
- // Switch the property back to read mode, now the update is done
- property.mode = 'read';
-
- // Fire event to all who is interested
- // Fire event to all who want to know about this
- var event = {
- type: KISBPM.eventBus.EVENT_TYPE_PROPERTY_VALUE_CHANGED,
- property: property,
- oldValue: oldValue,
- newValue: newValue
- };
- KISBPM.eventBus.dispatch(event.type, event);
- } else {
- // Switch the property back to read mode, no update was needed
- property.mode = 'read';
- }
-
- };
-
- /**
- * Helper method that searches a group for an item with the given id.
- * If not found, will return undefined.
- */
- $scope.findStencilItemInGroup = function (stencilItemId, group) {
-
- var item;
-
- // Check all items directly in this group
- for (var j = 0; j < group.items.length; j++) {
- item = group.items[j];
- if (item.id === stencilItemId) {
- return item;
- }
- }
-
- // Check the child groups
- if (group.groups && group.groups.length > 0) {
- for (var k = 0; k < group.groups.length; k++) {
- item = $scope.findStencilItemInGroup(stencilItemId, group.groups[k]);
- if (item) {
- return item;
- }
- }
- }
-
- return undefined;
- };
-
- /**
- * Helper method to find a stencil item.
- */
- $scope.getStencilItemById = function (stencilItemId) {
- for (var i = 0; i < $scope.stencilItemGroups.length; i++) {
- var element = $scope.stencilItemGroups[i];
-
- // Real group
- if (element.items !== null && element.items !== undefined) {
- var item = $scope.findStencilItemInGroup(stencilItemId, element);
- if (item) {
- return item;
- }
- } else { // Root stencil item
- if (element.id === stencilItemId) {
- return element;
- }
- }
- }
- return undefined;
- };
-
- /*
- * DRAG AND DROP FUNCTIONALITY
- */
-
- $scope.dropCallback = function (event, ui) {
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.attached"
- });
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.added"
- });
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeMenu"
- });
-
- KISBPM.eventBus.dispatch(KISBPM.eventBus.EVENT_TYPE_HIDE_SHAPE_BUTTONS);
-
- if ($scope.dragCanContain) {
-
- var item = $scope.getStencilItemById(ui.draggable[0].id);
-
- var pos = {x: event.pageX, y: event.pageY};
-
- var additionalIEZoom = 1;
- if (!isNaN(screen.logicalXDPI) && !isNaN(screen.systemXDPI)) {
- var ua = navigator.userAgent;
- if (ua.indexOf('MSIE') >= 0) {
- //IE 10 and below
- var zoom = Math.round((screen.deviceXDPI / screen.logicalXDPI) * 100);
- if (zoom !== 100) {
- additionalIEZoom = zoom / 100;
- }
- }
- }
-
- var screenCTM = $scope.editor.getCanvas().node.getScreenCTM();
-
- // Correcting the UpperLeft-Offset
- pos.x -= (screenCTM.e / additionalIEZoom);
- pos.y -= (screenCTM.f / additionalIEZoom);
- // Correcting the Zoom-Factor
- pos.x /= screenCTM.a;
- pos.y /= screenCTM.d;
-
- // Correcting the ScrollOffset
- pos.x -= document.documentElement.scrollLeft;
- pos.y -= document.documentElement.scrollTop;
-
- var parentAbs = $scope.dragCurrentParent.absoluteXY();
- pos.x -= parentAbs.x;
- pos.y -= parentAbs.y;
-
- var containedStencil = undefined;
- var stencilSets = $scope.editor.getStencilSets().values();
- for (var i = 0; i < stencilSets.length; i++)
- {
- var stencilSet = stencilSets[i];
- var nodes = stencilSet.nodes();
- for (var j = 0; j < nodes.length; j++)
- {
- if (nodes[j].idWithoutNs() === ui.draggable[0].id)
- {
- containedStencil = nodes[j];
- break;
- }
- }
-
- if (!containedStencil)
- {
- var edges = stencilSet.edges();
- for (var j = 0; j < edges.length; j++)
- {
- if (edges[j].idWithoutNs() === ui.draggable[0].id)
- {
- containedStencil = edges[j];
- break;
- }
- }
- }
- }
-
- if (!containedStencil) return;
-
- if ($scope.quickMenu)
- {
- var shapes = $scope.editor.getSelection();
- if (shapes && shapes.length == 1)
- {
- var currentSelectedShape = shapes.first();
-
- var option = {};
- option.type = currentSelectedShape.getStencil().namespace() + ui.draggable[0].id;
- option.namespace = currentSelectedShape.getStencil().namespace();
- option.connectedShape = currentSelectedShape;
- option.parent = $scope.dragCurrentParent;
- option.containedStencil = containedStencil;
-
- // If the ctrl key is not pressed,
- // snapp the new shape to the center
- // if it is near to the center of the other shape
- if (!event.ctrlKey){
- // Get the center of the shape
- var cShape = currentSelectedShape.bounds.center();
- // Snapp +-20 Pixel horizontal to the center
- if (20 > Math.abs(cShape.x - pos.x)){
- pos.x = cShape.x;
- }
- // Snapp +-20 Pixel vertical to the center
- if (20 > Math.abs(cShape.y - pos.y)){
- pos.y = cShape.y;
- }
- }
-
- option.position = pos;
-
- if (containedStencil.idWithoutNs() !== 'SequenceFlow' && containedStencil.idWithoutNs() !== 'Association' &&
- containedStencil.idWithoutNs() !== 'MessageFlow' && containedStencil.idWithoutNs() !== 'DataAssociation')
- {
- var args = { sourceShape: currentSelectedShape, targetStencil: containedStencil };
- var targetStencil = $scope.editor.getRules().connectMorph(args);
- if (!targetStencil){ return; }// Check if there can be a target shape
- option.connectingType = targetStencil.id();
- }
-
- var command = new KISBPM.CreateCommand(option, $scope.dropTargetElement, pos, $scope.editor);
-
- $scope.editor.executeCommands([command]);
- }
- }
- else
- {
- var canAttach = false;
- if (containedStencil.idWithoutNs() === 'BoundaryErrorEvent' || containedStencil.idWithoutNs() === 'BoundaryTimerEvent' ||
- containedStencil.idWithoutNs() === 'BoundarySignalEvent' || containedStencil.idWithoutNs() === 'BoundaryMessageEvent' ||
- containedStencil.idWithoutNs() === 'BoundaryCancelEvent' || containedStencil.idWithoutNs() === 'BoundaryCompensationEvent') {
- // Modify position, otherwise boundary event will get position related to left corner of the canvas instead of the container
- pos = $scope.editor.eventCoordinates( event );
- canAttach = true;
- }
-
- var option = {};
- option['type'] = $scope.modelData.model.stencilset.namespace + item.id;
- option['namespace'] = $scope.modelData.model.stencilset.namespace;
- option['position'] = pos;
- option['parent'] = $scope.dragCurrentParent;
-
- var commandClass = ORYX.Core.Command.extend({
- construct: function(option, dockedShape, canAttach, position, facade){
- this.option = option;
- this.docker = null;
- this.dockedShape = dockedShape;
- this.dockedShapeParent = dockedShape.parent || facade.getCanvas();
- this.position = position;
- this.facade = facade;
- this.selection = this.facade.getSelection();
- this.shape = null;
- this.parent = null;
- this.canAttach = canAttach;
- },
- execute: function(){
- if (!this.shape) {
- this.shape = this.facade.createShape(option);
- this.parent = this.shape.parent;
- } else if (this.parent) {
- this.parent.add(this.shape);
- }
-
- if (this.canAttach && this.shape.dockers && this.shape.dockers.length) {
- this.docker = this.shape.dockers[0];
-
- this.dockedShapeParent.add(this.docker.parent);
-
- // Set the Docker to the new Shape
- this.docker.setDockedShape(undefined);
- this.docker.bounds.centerMoveTo(this.position);
- if (this.dockedShape !== this.facade.getCanvas()) {
- this.docker.setDockedShape(this.dockedShape);
- }
- this.facade.setSelection( [this.docker.parent] );
- }
-
- this.facade.getCanvas().update();
- this.facade.updateSelection();
-
- },
- rollback: function(){
- if (this.shape) {
- this.facade.setSelection(this.selection.without(this.shape));
- this.facade.deleteShape(this.shape);
- }
- if (this.canAttach && this.docker) {
- this.docker.setDockedShape(undefined);
- }
- this.facade.getCanvas().update();
- this.facade.updateSelection();
-
- }
- });
-
- // Update canvas
- var command = new commandClass(option, $scope.dragCurrentParent, canAttach, pos, $scope.editor);
- $scope.editor.executeCommands([command]);
-
- // Fire event to all who want to know about this
- var dropEvent = {
- type: KISBPM.eventBus.EVENT_TYPE_ITEM_DROPPED,
- droppedItem: item,
- position: pos
- };
- KISBPM.eventBus.dispatch(dropEvent.type, dropEvent);
- }
- }
-
- $scope.dragCurrentParent = undefined;
- $scope.dragCurrentParentId = undefined;
- $scope.dragCurrentParentStencil = undefined;
- $scope.dragCanContain = undefined;
- $scope.quickMenu = undefined;
- $scope.dropTargetElement = undefined;
- };
-
-
- $scope.overCallback = function (event, ui) {
- $scope.dragModeOver = true;
- };
-
- $scope.outCallback = function (event, ui) {
- $scope.dragModeOver = false;
- };
-
- $scope.startDragCallback = function (event, ui) {
- $scope.dragModeOver = false;
- $scope.quickMenu = false;
- if (!ui.helper.hasClass('stencil-item-dragged')) {
- ui.helper.addClass('stencil-item-dragged');
- }
- };
-
- $scope.startDragCallbackQuickMenu = function (event, ui) {
- $scope.dragModeOver = false;
- $scope.quickMenu = true;
- };
-
- $scope.dragCallback = function (event, ui) {
-
- if ($scope.dragModeOver != false) {
-
- var coord = $scope.editor.eventCoordinatesXY(event.pageX, event.pageY);
-
- var additionalIEZoom = 1;
- if (!isNaN(screen.logicalXDPI) && !isNaN(screen.systemXDPI)) {
- var ua = navigator.userAgent;
- if (ua.indexOf('MSIE') >= 0) {
- //IE 10 and below
- var zoom = Math.round((screen.deviceXDPI / screen.logicalXDPI) * 100);
- if (zoom !== 100) {
- additionalIEZoom = zoom / 100
- }
- }
- }
-
- if (additionalIEZoom !== 1) {
- coord.x = coord.x / additionalIEZoom;
- coord.y = coord.y / additionalIEZoom;
- }
-
- var aShapes = $scope.editor.getCanvas().getAbstractShapesAtPosition(coord);
-
- if (aShapes.length <= 0) {
- if (event.helper) {
- $scope.dragCanContain = false;
- return false;
- }
- }
-
- if (aShapes[0] instanceof ORYX.Core.Canvas) {
- $scope.editor.getCanvas().setHightlightStateBasedOnX(coord.x);
- }
-
- if (aShapes.length == 1 && aShapes[0] instanceof ORYX.Core.Canvas)
- {
- var parentCandidate = aShapes[0];
-
- $scope.dragCanContain = true;
- $scope.dragCurrentParent = parentCandidate;
- $scope.dragCurrentParentId = parentCandidate.id;
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.attached"
- });
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.added"
- });
- return false;
- }
- else
- {
- var item = $scope.getStencilItemById(event.target.id);
-
- var parentCandidate = aShapes.reverse().find(function (candidate) {
- return (candidate instanceof ORYX.Core.Canvas
- || candidate instanceof ORYX.Core.Node
- || candidate instanceof ORYX.Core.Edge);
- });
-
- if (!parentCandidate) {
- $scope.dragCanContain = false;
- return false;
- }
-
- if (item.type === "node") {
-
- // check if the draggable is a boundary event and the parent an Activity
- var _canContain = false;
- var parentStencilId = parentCandidate.getStencil().id();
-
- if ($scope.dragCurrentParentId && $scope.dragCurrentParentId === parentCandidate.id) {
- return false;
- }
-
- var parentItem = $scope.getStencilItemById(parentCandidate.getStencil().idWithoutNs());
- if (parentItem.roles.indexOf("Activity") > -1) {
- if (item.roles.indexOf("IntermediateEventOnActivityBoundary") > -1) {
- _canContain = true;
- }
- }
- else if (parentCandidate.getStencil().idWithoutNs() === 'Pool')
- {
- if (item.id === 'Lane')
- {
- _canContain = true;
- }
- }
-
- if (_canContain)
- {
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_SHOW,
- highlightId: "shapeRepo.attached",
- elements: [parentCandidate],
- style: ORYX.CONFIG.SELECTION_HIGHLIGHT_STYLE_RECTANGLE,
- color: ORYX.CONFIG.SELECTION_VALID_COLOR
- });
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.added"
- });
- }
- else
- {
- for (var i = 0; i < $scope.containmentRules.length; i++) {
- var rule = $scope.containmentRules[i];
- if (rule.role === parentItem.id) {
- for (var j = 0; j < rule.contains.length; j++) {
- if (item.roles.indexOf(rule.contains[j]) > -1) {
- _canContain = true;
- break;
- }
- }
-
- if (_canContain) {
- break;
- }
- }
- }
-
- // Show Highlight
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_SHOW,
- highlightId: 'shapeRepo.added',
- elements: [parentCandidate],
- color: _canContain ? ORYX.CONFIG.SELECTION_VALID_COLOR : ORYX.CONFIG.SELECTION_INVALID_COLOR
- });
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.attached"
- });
- }
-
- $scope.dragCurrentParent = parentCandidate;
- $scope.dragCurrentParentId = parentCandidate.id;
- $scope.dragCurrentParentStencil = parentStencilId;
- $scope.dragCanContain = _canContain;
-
- } else {
- var canvasCandidate = $scope.editor.getCanvas();
- var canConnect = false;
-
- var targetStencil = $scope.getStencilItemById(parentCandidate.getStencil().idWithoutNs());
- if (targetStencil) {
- var associationConnect = false;
- if (stencil.idWithoutNs() === 'Association' && (curCan.getStencil().idWithoutNs() === 'TextAnnotation' || curCan.getStencil().idWithoutNs() === 'BoundaryCompensationEvent')) {
- associationConnect = true;
- } else if (stencil.idWithoutNs() === 'DataAssociation' && curCan.getStencil().idWithoutNs() === 'DataStore') {
- associationConnect = true;
- }
-
- if (targetStencil.canConnectTo || associationConnect) {
- canConnect = true;
- }
- }
-
- //Edge
- $scope.dragCurrentParent = canvasCandidate;
- $scope.dragCurrentParentId = canvasCandidate.id;
- $scope.dragCurrentParentStencil = canvasCandidate.getStencil().id();
- $scope.dragCanContain = canConnect;
-
- // Show Highlight
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_SHOW,
- highlightId: 'shapeRepo.added',
- elements: [canvasCandidate],
- color: ORYX.CONFIG.SELECTION_VALID_COLOR
- });
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_HIDE,
- highlightId: "shapeRepo.attached"
- });
- }
- }
- }
- };
-
- $scope.dragCallbackQuickMenu = function (event, ui) {
-
- if ($scope.dragModeOver != false) {
- var coord = $scope.editor.eventCoordinatesXY(event.pageX, event.pageY);
-
- var additionalIEZoom = 1;
- if (!isNaN(screen.logicalXDPI) && !isNaN(screen.systemXDPI)) {
- var ua = navigator.userAgent;
- if (ua.indexOf('MSIE') >= 0) {
- //IE 10 and below
- var zoom = Math.round((screen.deviceXDPI / screen.logicalXDPI) * 100);
- if (zoom !== 100) {
- additionalIEZoom = zoom / 100
- }
- }
- }
-
- if (additionalIEZoom !== 1) {
- coord.x = coord.x / additionalIEZoom;
- coord.y = coord.y / additionalIEZoom;
- }
-
- var aShapes = $scope.editor.getCanvas().getAbstractShapesAtPosition(coord);
-
- if (aShapes.length <= 0) {
- if (event.helper) {
- $scope.dragCanContain = false;
- return false;
- }
- }
-
- if (aShapes[0] instanceof ORYX.Core.Canvas) {
- $scope.editor.getCanvas().setHightlightStateBasedOnX(coord.x);
- }
-
- var stencil = undefined;
- var stencilSets = $scope.editor.getStencilSets().values();
- for (var i = 0; i < stencilSets.length; i++)
- {
- var stencilSet = stencilSets[i];
- var nodes = stencilSet.nodes();
- for (var j = 0; j < nodes.length; j++)
- {
- if (nodes[j].idWithoutNs() === event.target.id)
- {
- stencil = nodes[j];
- break;
- }
- }
-
- if (!stencil)
- {
- var edges = stencilSet.edges();
- for (var j = 0; j < edges.length; j++)
- {
- if (edges[j].idWithoutNs() === event.target.id)
- {
- stencil = edges[j];
- break;
- }
- }
- }
- }
-
- var candidate = aShapes.last();
-
- var isValid = false;
- if (stencil.type() === "node")
- {
- //check containment rules
- var canContain = $scope.editor.getRules().canContain({containingShape:candidate, containedStencil:stencil});
-
- var parentCandidate = aShapes.reverse().find(function (candidate) {
- return (candidate instanceof ORYX.Core.Canvas
- || candidate instanceof ORYX.Core.Node
- || candidate instanceof ORYX.Core.Edge);
- });
-
- if (!parentCandidate) {
- $scope.dragCanContain = false;
- return false;
- }
-
- $scope.dragCurrentParent = parentCandidate;
- $scope.dragCurrentParentId = parentCandidate.id;
- $scope.dragCurrentParentStencil = parentCandidate.getStencil().id();
- $scope.dragCanContain = canContain;
- $scope.dropTargetElement = parentCandidate;
- isValid = canContain;
-
- } else { //Edge
-
- var shapes = $scope.editor.getSelection();
- if (shapes && shapes.length == 1)
- {
- var currentSelectedShape = shapes.first();
- var curCan = candidate;
- var canConnect = false;
-
- var targetStencil = $scope.getStencilItemById(curCan.getStencil().idWithoutNs());
- if (targetStencil)
- {
- var associationConnect = false;
- if (stencil.idWithoutNs() === 'Association' && (curCan.getStencil().idWithoutNs() === 'TextAnnotation' || curCan.getStencil().idWithoutNs() === 'BoundaryCompensationEvent'))
- {
- associationConnect = true;
- }
- else if (stencil.idWithoutNs() === 'DataAssociation' && curCan.getStencil().idWithoutNs() === 'DataStore')
- {
- associationConnect = true;
- }
-
- if (targetStencil.canConnectTo || associationConnect)
- {
- while (!canConnect && curCan && !(curCan instanceof ORYX.Core.Canvas))
- {
- candidate = curCan;
- //check connection rules
- canConnect = $scope.editor.getRules().canConnect({
- sourceShape: currentSelectedShape,
- edgeStencil: stencil,
- targetShape: curCan
- });
- curCan = curCan.parent;
- }
- }
- }
- var parentCandidate = $scope.editor.getCanvas();
-
- isValid = canConnect;
- $scope.dragCurrentParent = parentCandidate;
- $scope.dragCurrentParentId = parentCandidate.id;
- $scope.dragCurrentParentStencil = parentCandidate.getStencil().id();
- $scope.dragCanContain = canConnect;
- $scope.dropTargetElement = candidate;
- }
-
- }
-
- $scope.editor.handleEvents({
- type: ORYX.CONFIG.EVENT_HIGHLIGHT_SHOW,
- highlightId:'shapeMenu',
- elements: [candidate],
- color: isValid ? ORYX.CONFIG.SELECTION_VALID_COLOR : ORYX.CONFIG.SELECTION_INVALID_COLOR
- });
- }
- };
-
- }]);
-
-var KISBPM = KISBPM || {};
-//create command for undo/redo
-KISBPM.CreateCommand = ORYX.Core.Command.extend({
- construct: function(option, currentReference, position, facade){
- this.option = option;
- this.currentReference = currentReference;
- this.position = position;
- this.facade = facade;
- this.shape;
- this.edge;
- this.targetRefPos;
- this.sourceRefPos;
- /*
- * clone options parameters
- */
- this.connectedShape = option.connectedShape;
- this.connectingType = option.connectingType;
- this.namespace = option.namespace;
- this.type = option.type;
- this.containedStencil = option.containedStencil;
- this.parent = option.parent;
- this.currentReference = currentReference;
- this.shapeOptions = option.shapeOptions;
- },
- execute: function(){
-
- if (this.shape) {
- if (this.shape instanceof ORYX.Core.Node) {
- this.parent.add(this.shape);
- if (this.edge) {
- this.facade.getCanvas().add(this.edge);
- this.edge.dockers.first().setDockedShape(this.connectedShape);
- this.edge.dockers.first().setReferencePoint(this.sourceRefPos);
- this.edge.dockers.last().setDockedShape(this.shape);
- this.edge.dockers.last().setReferencePoint(this.targetRefPos);
- }
-
- this.facade.setSelection([this.shape]);
-
- } else if (this.shape instanceof ORYX.Core.Edge) {
- this.facade.getCanvas().add(this.shape);
- this.shape.dockers.first().setDockedShape(this.connectedShape);
- this.shape.dockers.first().setReferencePoint(this.sourceRefPos);
- }
- }
- else {
- this.shape = this.facade.createShape(this.option);
- this.edge = (!(this.shape instanceof ORYX.Core.Edge)) ? this.shape.getIncomingShapes().first() : undefined;
- }
-
- if (this.currentReference && this.position) {
-
- if (this.shape instanceof ORYX.Core.Edge) {
-
- if (!(this.currentReference instanceof ORYX.Core.Canvas)) {
- this.shape.dockers.last().setDockedShape(this.currentReference);
-
- if (this.currentReference.getStencil().idWithoutNs() === 'TextAnnotation')
- {
- var midpoint = {};
- midpoint.x = 0;
- midpoint.y = this.currentReference.bounds.height() / 2;
- this.shape.dockers.last().setReferencePoint(midpoint);
- }
- else
- {
- this.shape.dockers.last().setReferencePoint(this.currentReference.bounds.midPoint());
- }
- }
- else {
- this.shape.dockers.last().bounds.centerMoveTo(this.position);
- }
- this.sourceRefPos = this.shape.dockers.first().referencePoint;
- this.targetRefPos = this.shape.dockers.last().referencePoint;
-
- } else if (this.edge){
- this.sourceRefPos = this.edge.dockers.first().referencePoint;
- this.targetRefPos = this.edge.dockers.last().referencePoint;
- }
- } else {
- var containedStencil = this.containedStencil;
- var connectedShape = this.connectedShape;
- var bc = connectedShape.bounds;
- var bs = this.shape.bounds;
-
- var pos = bc.center();
- if(containedStencil.defaultAlign()==="north") {
- pos.y -= (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET + (bs.height()/2);
- } else if(containedStencil.defaultAlign()==="northeast") {
- pos.x += (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.width()/2);
- pos.y -= (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.height()/2);
- } else if(containedStencil.defaultAlign()==="southeast") {
- pos.x += (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.width()/2);
- pos.y += (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.height()/2);
- } else if(containedStencil.defaultAlign()==="south") {
- pos.y += (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET + (bs.height()/2);
- } else if(containedStencil.defaultAlign()==="southwest") {
- pos.x -= (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.width()/2);
- pos.y += (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.height()/2);
- } else if(containedStencil.defaultAlign()==="west") {
- pos.x -= (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET + (bs.width()/2);
- } else if(containedStencil.defaultAlign()==="northwest") {
- pos.x -= (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.width()/2);
- pos.y -= (bc.height() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET_CORNER + (bs.height()/2);
- } else {
- pos.x += (bc.width() / 2) + ORYX.CONFIG.SHAPEMENU_CREATE_OFFSET + (bs.width()/2);
- }
-
- // Move shape to the new position
- this.shape.bounds.centerMoveTo(pos);
-
- // Move all dockers of a node to the position
- if (this.shape instanceof ORYX.Core.Node){
- (this.shape.dockers||[]).each(function(docker){
- docker.bounds.centerMoveTo(pos);
- });
- }
-
- //this.shape.update();
- this.position = pos;
-
- if (this.edge){
- this.sourceRefPos = this.edge.dockers.first().referencePoint;
- this.targetRefPos = this.edge.dockers.last().referencePoint;
- }
- }
-
- this.facade.getCanvas().update();
- this.facade.updateSelection();
-
- },
- rollback: function(){
- this.facade.deleteShape(this.shape);
- if(this.edge) {
- this.facade.deleteShape(this.edge);
- }
- //this.currentParent.update();
- this.facade.setSelection(this.facade.getSelection().without(this.shape, this.edge));
- }
-});
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.collapsed.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.collapsed.png
deleted file mode 100644
index a58a58b..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.collapsed.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.png
deleted file mode 100644
index db72fee..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/event.subprocess.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/expanded.subprocess.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/expanded.subprocess.png
deleted file mode 100644
index 085343c..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/expanded.subprocess.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.business.rule.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.business.rule.png
deleted file mode 100644
index 7b3f3b6..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.business.rule.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.camel.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.camel.png
deleted file mode 100644
index 1682eb7..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.camel.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.manual.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.manual.png
deleted file mode 100644
index 8dc3298..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.manual.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.mule.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.mule.png
deleted file mode 100644
index 6b35fbe..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.mule.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.receive.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.receive.png
deleted file mode 100644
index fffe93f..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.receive.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.script.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.script.png
deleted file mode 100644
index 674e4b8..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.script.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.send.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.send.png
deleted file mode 100644
index 8ebe452..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.send.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.service.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.service.png
deleted file mode 100644
index 8035fb9..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.service.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.shell.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.shell.png
deleted file mode 100644
index 53226b1..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.shell.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.user.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.user.png
deleted file mode 100644
index 60562a0..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/list/type.user.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/subprocess.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/subprocess.png
deleted file mode 100644
index 329b24c..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/subprocess.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/task.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/task.png
deleted file mode 100644
index dd4e53b..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/activity/task.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/artifact/text.annotation.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/artifact/text.annotation.png
deleted file mode 100644
index ab870a2..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/artifact/text.annotation.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/cancel.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/cancel.png
deleted file mode 100644
index e031662..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/cancel.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/compensation.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/compensation.png
deleted file mode 100644
index 8b32f23..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/compensation.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/error.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/error.png
deleted file mode 100644
index 27603c4..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/error.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/message.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/message.png
deleted file mode 100644
index ba997f7..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/message.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/signal.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/signal.png
deleted file mode 100644
index 19ea918..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/signal.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/timer.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/timer.png
deleted file mode 100644
index adb275f..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/catching/timer.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.undirected.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.undirected.png
deleted file mode 100644
index f7954dc..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.undirected.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.unidirectional.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.unidirectional.png
deleted file mode 100644
index 7a9be86..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/association.unidirectional.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/messageflow.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/messageflow.png
deleted file mode 100644
index cd6bbaf..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/messageflow.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/sequenceflow.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/sequenceflow.png
deleted file mode 100644
index d757a24..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/connector/sequenceflow.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/dataobject/data.store.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/dataobject/data.store.png
deleted file mode 100644
index 922f66f..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/dataobject/data.store.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/diagram.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/diagram.png
deleted file mode 100644
index 45c5818..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/diagram.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/cancel.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/cancel.png
deleted file mode 100644
index a7bcba9..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/cancel.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/error.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/error.png
deleted file mode 100644
index 3e310a7..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/error.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/none.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/none.png
deleted file mode 100644
index c46d160..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/none.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/terminate.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/terminate.png
deleted file mode 100644
index 0d6f780..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/endevent/terminate.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/eventbased.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/eventbased.png
deleted file mode 100644
index 7aa78b7..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/eventbased.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/exclusive.databased.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/exclusive.databased.png
deleted file mode 100644
index 3aaf8fa..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/exclusive.databased.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/inclusive.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/inclusive.png
deleted file mode 100644
index 13e84f6..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/inclusive.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/parallel.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/parallel.png
deleted file mode 100644
index ef82f48..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/gateway/parallel.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/error.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/error.png
deleted file mode 100644
index 27603c4..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/error.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/message.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/message.png
deleted file mode 100644
index ba997f7..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/message.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/none.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/none.png
deleted file mode 100644
index 8b51f18..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/none.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/signal.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/signal.png
deleted file mode 100644
index 828a260..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/signal.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/timer.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/timer.png
deleted file mode 100644
index adb275f..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/startevent/timer.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/lane.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/lane.png
deleted file mode 100644
index f0e7a82..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/lane.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/pool.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/pool.png
deleted file mode 100644
index 82c2213..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/swimlane/pool.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/none.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/none.png
deleted file mode 100644
index 7be082e..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/none.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/signal.png b/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/signal.png
deleted file mode 100644
index c5979fb..0000000
Binary files a/adc-da-main/target/classes/static/editor-app/stencilsets/bpmn2.0/icons/throwing/signal.png and /dev/null differ
diff --git a/adc-da-main/target/classes/static/editor-app/toolbar-controller.js b/adc-da-main/target/classes/static/editor-app/toolbar-controller.js
deleted file mode 100644
index 3bd8c3e..0000000
--- a/adc-da-main/target/classes/static/editor-app/toolbar-controller.js
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Activiti Modeler component part of the Activiti project
- * Copyright 2005-2014 Alfresco Software, Ltd. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-'use strict';
-
-angular.module('activitiModeler')
- .controller('ToolbarController', ['$scope', '$http', '$modal', '$q', '$rootScope', '$translate', '$location', function ($scope, $http, $modal, $q, $rootScope, $translate, $location) {
-
- $scope.editorFactory.promise.then(function () {
- $scope.items = KISBPM.TOOLBAR_CONFIG.items;
- });
-
- $scope.secondaryItems = KISBPM.TOOLBAR_CONFIG.secondaryItems;
-
- // Call configurable click handler (From http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string)
- var executeFunctionByName = function(functionName, context /*, args */) {
- var args = Array.prototype.slice.call(arguments).splice(2);
- var namespaces = functionName.split(".");
- var func = namespaces.pop();
- for(var i = 0; i < namespaces.length; i++) {
- context = context[namespaces[i]];
- }
- return context[func].apply(this, args);
- };
-
- // Click handler for toolbar buttons
- $scope.toolbarButtonClicked = function(buttonIndex) {
-
- // Default behaviour
- var buttonClicked = $scope.items[buttonIndex];
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- executeFunctionByName(buttonClicked.action, window, services);
-
- // Other events
- var event = {
- type : KISBPM.eventBus.EVENT_TYPE_TOOLBAR_BUTTON_CLICKED,
- toolbarItem : buttonClicked
- };
- KISBPM.eventBus.dispatch(event.type, event);
- };
-
- // Click handler for secondary toolbar buttons
- $scope.toolbarSecondaryButtonClicked = function(buttonIndex) {
- // var buttonClicked = $scope.secondaryItems[buttonIndex];
- // var services = { '$scope' : $scope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate, '$location': $location};
- // executeFunctionByName(buttonClicked.action, window, services);
- console.log(window.location.href);
- console.log(window.location.host);
- window.open('http://localhost:9999/#/processManage','_parent' )
- };
-
- /* Key bindings */
- Mousetrap.bind(['command+z', 'ctrl+z'], function(e) {
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- KISBPM.TOOLBAR.ACTIONS.undo(services);
- return false;
- });
-
- Mousetrap.bind(['command+y', 'ctrl+y'], function(e) {
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- KISBPM.TOOLBAR.ACTIONS.redo(services);
- return false;
- });
-
- Mousetrap.bind(['command+c', 'ctrl+c'], function(e) {
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- KISBPM.TOOLBAR.ACTIONS.copy(services);
- return false;
- });
-
- Mousetrap.bind(['command+v', 'ctrl+v'], function(e) {
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- KISBPM.TOOLBAR.ACTIONS.paste(services);
- return false;
- });
-
- Mousetrap.bind(['del'], function(e) {
- var services = { '$scope' : $scope, '$rootScope' : $rootScope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate};
- KISBPM.TOOLBAR.ACTIONS.deleteItem(services);
- return false;
- });
-
- /* Undo logic */
-
- $scope.undoStack = [];
- $scope.redoStack = [];
-
- $scope.editorFactory.promise.then(function() {
-
- // Catch all command that are executed and store them on the respective stacks
- $scope.editor.registerOnEvent(ORYX.CONFIG.EVENT_EXECUTE_COMMANDS, function( evt ){
-
- // If the event has commands
- if( !evt.commands ){ return; }
-
- $scope.undoStack.push( evt.commands );
- $scope.redoStack = [];
-
- for(var i = 0; i < $scope.items.length; i++)
- {
- var item = $scope.items[i];
- if (item.action === 'KISBPM.TOOLBAR.ACTIONS.undo')
- {
- item.enabled = true;
- }
- else if (item.action === 'KISBPM.TOOLBAR.ACTIONS.redo')
- {
- item.enabled = false;
- }
- }
-
- // Update
- $scope.editor.getCanvas().update();
- $scope.editor.updateSelection();
-
- });
-
- });
-
- // Handle enable/disable toolbar buttons
- $scope.editorFactory.promise.then(function() {
- $scope.editor.registerOnEvent(ORYX.CONFIG.EVENT_SELECTION_CHANGED, function( evt ){
- var elements = evt.elements;
-
- for(var i = 0; i < $scope.items.length; i++)
- {
- var item = $scope.items[i];
- if (item.enabledAction && item.enabledAction === 'element')
- {
- var minLength = 1;
- if(item.minSelectionCount) {
- minLength = item.minSelectionCount;
- }
- if (elements.length >= minLength && !item.enabled) {
- $scope.safeApply(function () {
- item.enabled = true;
- });
- }
- else if (elements.length == 0 && item.enabled) {
- $scope.safeApply(function () {
- item.enabled = false;
- });
- }
- }
- }
- });
-
- });
-
- }]);
\ No newline at end of file
diff --git a/adc-da-main/target/classes/static/formjs/cdn/avue/avue.min.js b/adc-da-main/target/classes/static/formjs/cdn/avue/avue.min.js
deleted file mode 100644
index a266b6f..0000000
--- a/adc-da-main/target/classes/static/formjs/cdn/avue/avue.min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*!
- * Avue.js v2.6.15
- * (c) 2017-2020 Smallwei
- * Released under the MIT License.
- *
- */
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("AVUE",[],e):"object"==typeof exports?exports.AVUE=e():t.AVUE=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=120)}([function(t,e){t.exports=function(t,e,n,i,r,o){var a,s=t=t||{},l=typeof t.default;"object"!==l&&"function"!==l||(a=t,s=t.default);var u="function"==typeof s?s.options:s;e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0),n&&(u.functional=!0),r&&(u._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=c):i&&(c=i),c){var d=u.functional,f=d?u.render:u.beforeCreate;d?(u._injectStyles=c,u.render=function(t,e){return c.call(e),f(t,e)}):u.beforeCreate=f?[].concat(f,c):[c]}return{esModule:a,exports:s,options:u}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.name=o.KEY_COMPONENT_NAME+t.name,t.mixins=t.mixins||[],t.mixins.push(r.default),t};var i=n(124),r=function(t){return t&&t.__esModule?t:{default:t}}(i),o=n(8)},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.name=l.KEY_ECHART_NAME+t.name,t.mixins=t.mixins||[],t.mixins.push(s.default),(0,o.default)(t)};var r=n(1),o=i(r),a=n(288),s=i(a),l=n(8)},function(t,e,n){"use strict";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t;return{data:function(){return{stringMode:!1,name:"",text:void 0,propsHttpDefault:r.DIC_HTTP_PROPS,propsDefault:r.DIC_PROPS}},props:(t={blur:Function,focus:Function,change:Function,click:Function,typeformat:Function,typeslot:{type:Boolean,default:!1},separator:{type:String,default:r.DIC_SPLIT},formslot:{type:Boolean,default:!1},params:{type:Object,default:function(){return{}}},listType:{type:String},value:{},column:{type:Object,default:function(){return{}}}},i(t,"typeslot",{type:Boolean,default:!1}),i(t,"label",{type:String,default:""}),i(t,"readonly",{type:Boolean,default:!1}),i(t,"size",{type:String,default:""}),i(t,"boxType",{type:String,default:""}),i(t,"tip",{type:String,default:""}),i(t,"disabled",{type:Boolean,default:!1}),i(t,"dataType",{type:String}),i(t,"clearable",{type:Boolean,default:!0}),i(t,"type",{type:String,default:""}),i(t,"dicUrl",{type:String,default:""}),i(t,"dicMethod",{type:String,default:""}),i(t,"dicFormatter",Function),i(t,"dicQuery",{type:Object,default:function(){return{}}}),i(t,"dic",{type:Array,default:function(){return[]}}),i(t,"placeholder",{type:String,default:""}),i(t,"rules",{type:Array}),i(t,"min",{type:Number}),i(t,"max",{type:Number}),i(t,"multiple",{type:Boolean,default:!1}),i(t,"button",{type:Boolean,default:!1}),i(t,"group",{type:Boolean,default:!1}),i(t,"row",{type:Boolean,default:!1}),i(t,"prop",{type:String,default:""}),i(t,"border",{type:Boolean,default:!1}),i(t,"propsHttp",{type:Object,default:function(){return r.DIC_HTTP_PROPS}}),i(t,"props",{type:Object,default:function(){return r.DIC_PROPS}}),t),watch:{text:{handler:function(t,e){this.handleChange(t)}},value:{handler:function(t,e){this.initVal()}}},computed:{componentName:function(){return this.$AVUE.ui.type+"-"+this.name+(this.button?"-button":"")},required:function(){return!this.validatenull(this.rules)},isArray:function(){return"array"===this.dataType},isString:function(){return"string"===this.dataType},isNumber:function(){return"number"===this.dataType},nameKey:function(){return this.propsHttp.name||this.propsHttpDefault.name},urlKey:function(){return this.propsHttp.url||this.propsHttpDefault.url},resKey:function(){return this.propsHttp.res||this.propsHttpDefault.res},groupsKey:function(){return this.props.groups||this.propsDefault.groups},valueKey:function(){return this.props.value||this.propsDefault.value},leafKey:function(){return this.props.leaf||this.propsDefault.leaf},labelKey:function(){return this.props.label||this.propsDefault.label},childrenKey:function(){return this.props.children||this.propsDefault.children},disabledKey:function(){return this.props.disabled||this.propsDefault.disabled},idKey:function(){return this.props.id||this.propsDefault.id}},created:function(){this.initVal()}}};var r=n(8)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{methods:{initVal:function(){var t=this;this.text=(0,o.initVal)({type:this.type,multiple:this.multiple,dataType:this.dataType,value:this.value,separator:this.separator,callback:function(e){t.stringMode=e}})},handleFocus:function(t){"function"==typeof this.focus&&this.focus({value:this.text,column:this.column}),this.$emit("focus",t)},handleBlur:function(t){"function"==typeof this.blur&&this.blur({value:this.text,column:this.column}),this.$emit("blur",t)},getLabelText:function(t){return this.validatenull(t)?"":"function"==typeof this.typeformat?this.typeformat(t,this.labelKey,this.valueKey):t[this.labelKey]},handleClick:function(){var t=this.isString&&this.multiple?this.text.join(","):this.text;"function"==typeof this.click&&this.click({value:t,column:this.column})},handleChange:function(t){var e=t;if("antd"==this.$AVUE.ui.name)if(["date","time"].includes(this.type)){var n=this.format.replace("dd","DD").replace("yyyy","YYYY");e=(0,r.default)(t._d).format(n)}else["radio"].includes(this.type)&&(e=t.target.value);(this.isString||this.isNumber||this.stringMode||"picture-img"===this.listType)&&Array.isArray(t)&&(e=t.join(",")),"function"==typeof this.change&&this.change({value:e,column:this.column}),this.$emit("input",e),this.$emit("change",e)}}}};var i=n(16),r=function(t){return t&&t.__esModule?t:{default:t}}(i),o=n(10)},function(module,exports,__webpack_require__){"use strict";function hasOwn(t,e){return hasOwnProperty.call(t,e)}function getFixed(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(t.toFixed(e))}function getAsVal(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=deepClone(t);return e.split(".").forEach(function(t){(0,_validate.validatenull)(n)||(n=n[t])}),n}function strCorNum(t){return t.forEach(function(e,n){t[n]=Number(e)}),t}function extend(){var t,e,n,i,r=arguments[0]||{},o=!1,a=Array.prototype.slice.call(arguments),s=1,l=!1;for("boolean"==typeof r&&(o=r,s++,r=arguments[1]);s
=2){var o="";n.forEach(function(t){o=o+'{"'+t+'":'}),o+='""';for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"",value=arguments[2];return(0,_validate.validatenull)(value)||eval("obj."+bind+'="'+value+'"'),obj}function dataURLtoFile(t,e){for(var n=t.split(","),i=n[0].match(/:(.*?);/)[1],r=atob(n[1]),o=r.length,a=new Uint8Array(o);o--;)a[o]=r.charCodeAt(o);return new File([a],e,{type:i})}function findObject(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"prop",i=-1,r=function(){var e=void 0;return t.forEach(function(t){t.column?e="group":t.children&&(e="tree")}),e}();return"group"===r?t.forEach(function(t){var r=findArray(t.column,e,n,!0);-1!==r&&(i=r)}):i="tree"===r?findLabelNode(t,e,{value:n},!0):findArray(t,e,n,!0),i}function randomId(){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",e=t.length,n="",i=0;i<16;i++)n+=t.charAt(Math.floor(Math.random()*e));return n}Object.defineProperty(exports,"__esModule",{value:!0}),exports.vaildData=exports.clearVal=exports.getPasswordChar=exports.findArray=exports.findArrayLabel=exports.getObjValue=exports.getDeepData=exports.findLabelNode=exports.detailDicGroup=exports.filterDefaultParams=exports.findByValue=exports.detailDic=exports.getUrlParams=exports.detailDataType=exports.setPx=exports.sortArrys=exports.deepClone=exports.isJson=exports.getObjType=void 0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};exports.hasOwn=hasOwn,exports.getFixed=getFixed,exports.getAsVal=getAsVal,exports.strCorNum=strCorNum,exports.extend=extend,exports.createObj=createObj,exports.setAsVal=setAsVal,exports.dataURLtoFile=dataURLtoFile,exports.findObject=findObject,exports.randomId=randomId;var _validate=__webpack_require__(9),_variable=__webpack_require__(8),hasOwnProperty=Object.prototype.hasOwnProperty,getObjType=exports.getObjType=function(t){var e=Object.prototype.toString,n={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"};return t instanceof Element?"element":n[e.call(t)]},isJson=exports.isJson=function(t){return Array.isArray(t)?t[0]instanceof Object:t instanceof Object},deepClone=exports.deepClone=function t(e){var n,i=getObjType(e);if("array"===i)n=[];else{if("object"!==i)return e;n={}}if("array"===i)for(var r=0,o=e.length;rn[e]?-1:t[e]1&&void 0!==arguments[1]?arguments[1]:"";return(0,_validate.validatenull)(t)&&(t=e),(0,_validate.validatenull)(t)?"":(t+="",-1===t.indexOf("%")&&(t+="px"),t)},detailDataType=exports.detailDataType=function(t,e){return"number"===e?Number(t):"string"===e?t+"":t},getUrlParams=exports.getUrlParams=function(t){var e={url:"",params:{}},n=t.split("?");e.url=n[0];var i=n[1];if(i){i.split("&").forEach(function(t){var n=t.split("="),i=n[0],r=n[1];e.params[i]=r})}return e},detailDic=exports.detailDic=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments[2],r=n.value||_variable.DIC_PROPS.value,o=n.children||_variable.DIC_PROPS.children;return e.forEach(function(e){e[r]=detailDataType(e[r],i),e[o]&&t(e[o],n,i)}),e},findByValue=exports.findByValue=function(t,e,n,i,r){if((0,_validate.validatenull)(t))return e;var o="";if(n=n||_variable.DIC_PROPS,e instanceof Array){o=[];for(var a=0;a1&&void 0!==arguments[1])||arguments[1],n=deepClone(t);if(e)return n;for(var i in n)(-1!==i.indexOf("$")||(0,_validate.validatenull)(n[i]))&&delete n[i];return n},detailDicGroup=exports.detailDicGroup=function(t){t=deepClone(t);var e=[];return(t[0]||{}).groups?(t.forEach(function(t){t.groups&&(e=e.concat(t.groups))}),e):t},findLabelNode=exports.findLabelNode=function(t,e,n,i){var r=void 0;i||(t=detailDicGroup(t));return function t(e,n,o){for(var a=o.label||_variable.DIC_PROPS.label,s=o.value||_variable.DIC_PROPS.value,l=o.children||_variable.DIC_PROPS.children,u=0;u1&&void 0!==arguments[1]?arguments[1]:"",n=arguments[2],i=e.split("."),r=t;return""===i[0]&&"object"!==n?getDeepData(t):(""!==i[0]&&i.forEach(function(t){r=r[t]}),r)},findArrayLabel=exports.findArrayLabel=function(t,e,n){t=detailDicGroup(t);for(var i=n.value||_variable.DIC_PROPS.value,r=n.label||_variable.DIC_PROPS.label,o=0;o0&&void 0!==arguments[0]?arguments[0]:"",e=arguments[1],n=t.toString().length;t="";for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(function(i,r){new o.default(t).validate(e,n,function(t){t?r(t):i()})})}},function(t,e,n){"use strict";function i(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0&&void 0!==arguments[0]?arguments[0]:[];return t.forEach(function(e,n){if(!(0,r.validatenull)(e.cascaderItem)){var o=[].concat(i(e.cascaderItem)),s=e.prop;t[n].cascader=[].concat(i(o)),o.forEach(function(e,n){var r=(0,a.findObject)(t,e);-1!==r&&(r.parentProp=s,r.cascader=[].concat(i(o)).splice(n+1),s=r.prop)})}}),t},0);e.calcCount=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(s=0);return s=s+(t.span||e)+(t.offset||0),24===s?s=0:s>24?s=0+(t.span||e)+(t.offset||0):t.row&&24!==s&&(t.count=24-s,s=0),t},e.initVal=function(t){var e=t.type,n=t.multiple,i=t.dataType,s=t.value,l=t.callback,u=t.separator,c=void 0===u?o.DIC_SPLIT:u,d=s;return(o.MULTIPLE_LIST.includes(e)&&n||o.ARRAY_VALUE_LIST.includes(e))&&(Array.isArray(d)?l&&l(!1):(0,r.validatenull)(d)?d=[]:(d=(d+"").split(c)||[],l&&l(!0)),d.forEach(function(t,e){d[e]=(0,a.detailDataType)(t,i)}),o.ARRAY_LIST.includes(e)&&(0,r.validatenull)(d)&&(d=[""])),d},e.getSearchType=function(t){var e=t.type,n=t.searchRange,i=e;if(["radio","checkbox","switch"].includes(e))i="select";else if(o.DATE_LIST.includes(e)){i=n?e.includes("range")?e:e+"range":e.replace("range","")}else["textarea"].includes(e)&&(i="input");return i},e.getComponent=function(t,e){var n=t||"input";return(0,r.validatenull)(e)?(o.ARRAY_LIST.includes(t)?n="array":["time","timerange"].includes(t)?n="time":o.DATE_LIST.includes(t)?n="date":["password","textarea","search"].includes(t)?n="input":o.INPUT_LIST.includes(t)&&(n="input-"+t),o.KEY_COMPONENT_NAME+n):e},e.formInitVal=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e={};return t.forEach(function(t){o.ARRAY_VALUE_LIST.includes(t.type)||o.MULTIPLE_LIST.includes(t.type)&&t.multiple||t.range||"array"===t.dataType?e[t.prop]=[]:["number","rate","slider"].includes(t.type)||"number"===t.dataType?e[t.prop]=void 0:e[t.prop]="",t.bind&&(e=(0,a.createObj)(e,t.bind)),(0,r.validatenull)(t.value)||(e[t.prop]=t.value)}),{tableForm:e}},e.getPlaceholder=function(t,e){var n=t.placeholder,i=t.label;if("search"===e){var a=t.searchPlaceholder;return(0,r.validatenull)(a)?i:a}return(0,r.validatenull)(n)?o.SELECT_LIST.includes(t.type)?this.t("tip.select")+" "+i:this.t("tip.input")+" "+i:n}},function(t,e,n){"use strict";function i(t){var e={},n=t.dicData||{};return t.column.forEach(function(t){var i=t.prop;!0!==t.dicFlag&&n[i]&&(e[i]=n[i])}),e}function r(t){var e=t.column||[],n=[],i={},r=[];return e.forEach(function(t){var e=t.dicData,o=t.dicUrl,a=t.prop,s=t.parentProp;r=r.concat(t.cascaderItem||[]),Array.isArray(e)&&(i[a]=e),!1===t.dicFlag||!0===t.remote||r.includes(a)||o&&!s&&n.push({url:o,name:a,method:t.dicMethod,formatter:t.dicFormatter,props:t.props,dataType:t.dataType,resKey:(t.props||{}).res,query:t.dicQuery})}),{ajaxdic:n,locationdic:i}}function o(t){var e={},n=[];return new Promise(function(i){t.forEach(function(t){n.push(new Promise(function(e){c(Object.assign(t,{url:""+t.url.replace("{{key}}","")})).then(function(n){n=(0,u.detailDic)(n,t.props,t.dataType),e(n)}).catch(function(){e([])})}))}),Promise.all(n).then(function(n){t.forEach(function(t,i){e[t.name]=n[i]}),i(e)})})}Object.defineProperty(e,"__esModule",{value:!0}),e.sendDic=e.loadDic=e.loadCascaderDic=void 0;var a=n(6),s=function(t){return t&&t.__esModule?t:{default:t}}(a),l=n(9),u=n(5),c=(e.loadCascaderDic=function(t,e){return new Promise(function(n,i){var r=[],o=[],a={};t.forEach(function(t){t.parentProp&&r.push(t)}),e.forEach(function(t,e){r.forEach(function(n){!0!==n.hide&&!1!==n.dicFlag&&o.push(new Promise(function(i){(0,l.validatenull)(t[n.parentProp])?i({prop:n.prop,data:[],index:e}):n.dicUrl&&c(Object.assign({url:""+n.dicUrl.replace("{{key}}",t[n.parentProp])},{props:n.props,method:n.dicMethod,formatter:n.dicFormatter,query:n.dicQuery})).then(function(t){i({prop:n.prop,data:t,index:e})})}))})}),Promise.all(o).then(function(t){t.forEach(function(t){(0,l.validatenull)(a[t.index])&&(a[t.index]={}),a[t.index][t.prop]=t.data}),n(a)})})},e.loadDic=function(t,e){var n={},a={},u=[];return new Promise(function(c,d){var f=r(t);n=Object.assign(i(t),f.locationdic),u=e?[]:f.ajaxdic,(0,l.validatenull)(n)&&(0,l.validatenull)(u)&&c(),window.axios||(0,l.validatenull)(u)||(s.default.logs("axios"),c()),o(u).then(function(t){a=t,Object.keys(n).forEach(function(t){a[t]=n[t].concat(a[t]||[])}),c(a)}).catch(function(t){d(t)})})},e.sendDic=function(t){var e=t.url,n=t.query,i=t.method,r=t.resKey,o=t.props,a=t.formatter,l=t.value,c=t.column,d=t.form,f=void 0===d?{}:d;c&&(e=c.dicUrl,i=c.dicMethod,n=c.dicQuery,a=c.dicFormatter,o=c.props),e=e||"";var p=e.match(/[^\{\}]+(?=\})/g);return p=p||[],p.forEach(function(t){e="key"===t?e.replace("{{key}}",l):e.replace("{{"+t+"}}",f[t]||"")}),o&&(r=(o||{}).res||r),new Promise(function(t){var o=function(e){var n=[];n="function"==typeof a?a(e.data):(0,u.getObjValue)(e.data,r),t(n)};window.axios||(s.default.logs("axios"),t([])),"post"===i?window.axios.post(e,n).then(function(t){o(t)}).catch(function(){return[t([])]}):window.axios.get(e,{params:n}).then(function(t){o(t)}).catch(function(){return[t([])]})})})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={clientHeight:document.documentElement.clientHeight,sumText:"合 计",menuWidth:240,menuFixed:"right",menuXsWidth:100,menuAlign:"center",menuHeaderAlign:"center",headerAlign:"left",cancelBtnIcon:"el-icon-circle-close",viewBtnIcon:"el-icon-view",editBtnIcon:"el-icon-edit",copyBtnIcon:"el-icon-document-add",addBtnIcon:"el-icon-plus",printBtnIcon:"el-icon-printer",excelBtnIcon:"el-icon-download",delBtnIcon:"el-icon-delete",searchBtnIcon:"el-icon-search",emptyBtnIcon:"el-icon-delete",saveBtnIcon:"el-icon-circle-plus-outline",updateBtnIcon:"el-icon-circle-check",columnBtnIcon:"el-icon-s-operation",filterBtnIcon:"el-icon-tickets",refreshBtnIcon:"el-icon-refresh",viewBtn:!1,editBtn:!0,copyBtn:!1,cancelBtn:!0,addBtn:!0,addRowBtn:!1,printBtn:!1,excelBtn:!1,delBtn:!0,cellBtn:!1,dateBtn:!1,updateBtn:!0,saveBtn:!0,refreshBtn:!0,columnBtn:!0,filterBtn:!1,queryBtn:!0,menuBtn:!1,searchBtn:!0,clearBtn:!0,selectClearBtn:!0,searchShow:!0,tip:!0,dialogTop:"100",dialogHeight:"auto",dialogWidth:"60%",dialogDrag:!1,formFullscreen:!1,customClass:"",pageBackground:!0,simplePage:!1,page:!0,menu:!0,indexLabel:"#",indexWidth:50,indexFixed:"left",selectionWidth:50,selectionFixed:"left",expandWidth:60,expandFixed:"left",sortableWidth:50,sortableFixed:!1,filterMultiple:!0,calcHeight:300,title:"表格标题",width:"100%",searchGutter:20,searchLabelWidth:80,searchSpan:6}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(31),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(148),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.getDayText=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return"number"==typeof t?t=new Date(t):"string"==typeof t&&(t=new Date(t.replace(/-/g,"/").replace(/\./g,"/"))),"日一二三四五六".charAt(t.getDay())},e.dateFtt=function(t,e){var n={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length)));for(var i in n)new RegExp("("+i+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?n[i]:("00"+n[i]).substr((""+n[i]).length)));return t},e.getDateValues=function(t){function e(t){return t+="",1===t.length?"0"+t:t}var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy/MM/dd hh:mm::ss",i=new Date;"number"==typeof t?i=new Date(t):"string"==typeof t&&(i=new Date(t.replace(/-/g,"/").replace(/\./g,"/")));var r=[],o=i.getFullYear(),a=i.getMonth()+1,s=i.getDate(),l=i.getHours(),u=i.getMinutes(),c=i.getSeconds();return n.includes("y")&&r.push(e(o)),n.includes("M")&&r.push(e(a)),n.includes("d")&&r.push(e(s)),n.includes("h")&&r.push(e(l)),n.includes("m")&&r.push(e(u)),n.includes("s")&&r.push(e(c)),r},e.timeToSec=function(t){var e=t.split(":")[0]||"00",n=t.split(":")[1]||"00",i=t.split(":")[2]||"00";return Number(3600*e)+Number(60*n)+Number(i)},e.GetDateStr=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=new Date;n.setDate(n.getDate()+t);var i=n.getFullYear(),r=n.getMonth()+1<10?"0"+(n.getMonth()+1):n.getMonth()+1,o=n.getDate()<10?"0"+n.getDate():n.getDate(),a=i+"-"+r+"-"+o;return a=0===e?a+" 00:00:00":a+" 23:59:59"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{props:{option:{type:Object,required:!0,default:function(){return{}}}},watch:{option:{handler:function(){this.init()},deep:!0}},data:function(){return{DIC:{},dicCreate:!1,cascaderDIC:{},tableOption:{},isMobile:""}},created:function(){this.init()},computed:{resultOption:function(){return Object.assign(this.deepClone(this.tableOption),{column:this.propOption})},formRules:function(){var t={};return this.propOption.forEach(function(e){e.rules&&!1!==e.display&&(t[e.prop]=e.rules)}),t},menuType:function(){return this.tableOption.menuType||this.$AVUE.menuType||"button"},isMediumSize:function(){return this.controlSize},controlSize:function(){return this.tableOption.size||this.$AVUE.size||"small"}},methods:{init:function(){var t=this;this.tableOption=this.option,this.getIsMobile(),this.handleLoadDic().then(function(){t.forEachLabel&&t.forEachLabel()})},getIsMobile:function(){this.isMobile=window.document.body.clientWidth<=768},handleLoadDic:function(){var t=this;return new Promise(function(e){(0,i.loadDic)(t.resultOption,t.dicCreate).then(function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.keys(n).forEach(function(e){t.$set(t.DIC,e,n[e])}),t.dicCreate=!0,e()})})},handleLoadCascaderDic:function(){var t=this;(0,i.loadCascaderDic)(this.propOption,this.data).then(function(e){Object.keys(e).forEach(function(n){t.$set(t.cascaderDIC,n,e[n])})})}}}};var i=n(11)},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){"use strict";var t="millisecond",e="second",n="minute",i="hour",r="day",o="week",a="month",s="quarter",l="year",u=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,c=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(t,e,n){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(n)+t},f={s:d,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),r=n%60;return(e<=0?"+":"-")+d(i,2,"0")+":"+d(r,2,"0")},m:function(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(n,a),r=e-i<0,o=t.clone().add(n+(r?-1:1),a);return Number(-(n+(e-i)/(r?i-o:o-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(u){return{M:a,y:l,w:o,d:r,D:"date",h:i,m:n,s:e,ms:t,Q:s}[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",m={};m[h]=p;var v=function(t){return t instanceof _},y=function(t,e,n){var i;if(!t)return h;if("string"==typeof t)m[t]&&(i=t),e&&(m[t]=e,i=t);else{var r=t.name;m[r]=t,i=r}return!n&&i&&(h=i),i||!n&&h},b=function(t,e){if(v(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},g=f;g.l=y,g.i=v,g.w=function(t,e){return b(t,{locale:e.$L,utc:e.$u,$offset:e.$offset})};var _=function(){function d(t){this.$L=this.$L||y(t.locale,null,!0),this.parse(t)}var f=d.prototype;return f.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(g.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(u);if(i)return n?new Date(Date.UTC(i[1],i[2]-1,i[3]||1,i[4]||0,i[5]||0,i[6]||0,i[7]||0)):new Date(i[1],i[2]-1,i[3]||1,i[4]||0,i[5]||0,i[6]||0,i[7]||0)}return new Date(e)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return g},f.isValid=function(){return!("Invalid Date"===this.$d.toString())},f.isSame=function(t,e){var n=b(t);return this.startOf(e)<=n&&n<=this.endOf(e)},f.isAfter=function(t,e){return b(t)=0&&(t="bottom"),t}},mounted:function(){this.parent.addEventListener("scroll",this.handleScroll,!1),this.parent.addEventListener("resize",this.handleScroll,!1)},beforeDestroy:function(){this.parent.removeEventListener("scroll",this.handleScroll,!1),this.parent.removeEventListener("resize",this.handleScroll,!1)},methods:{getScroll:function(t,e){var n=e?"pageYOffset":"pageXOffset",i=e?"scrollTop":"scrollLeft",r=t[n];return"number"!=typeof r&&(r=window.document.documentElement[i]),r},getOffset:function(t){var e=t.getBoundingClientRect(),n=this.getScroll(this.parent,!0),i=this.getScroll(this.parent),r=window.document.body,o=r.clientTop||0,a=r.clientLeft||0;return{top:e.top+n-o,left:e.left+i-a}},handleScroll:function(){var t=this.affix,e=this.getScroll(window,!0),n=this.getOffset(this.$el),i=window.innerHeight,r=this.$el.getElementsByTagName("div")[0].offsetHeight;n.top-this.offsetTope&&"top"==this.offsetType&&t&&(this.slot=!1,this.slotStyle={},this.affix=!1,this.styles=null,this.$emit("on-change",!1)),n.top+this.offsetBottom+r>e+i&&"bottom"==this.offsetType&&!t?(this.affix=!0,this.styles={bottom:this.offsetBottom+"px",left:n.left+"px",width:this.$el.offsetWidth+"px"},this.$emit("on-change",!0)):n.top+this.offsetBottom+r table > tbody")[0];t.sortable=window.Sortable.create(e,{ghostClass:"avue-crud__sortable",handle:t.tableOption.dragHandler?".avue-crud__drag-handler":void 0,onEnd:function(e){var n=e.oldIndex,i=e.newIndex,r=t.list.splice(n,1)[0];t.list.splice(i,0,r),t.$emit("sortable-change",n,i,r,t.list)}})};this.isSortable&&this.$nextTick(function(){e()})},treeLoad:function(t,e,n){this.$emit("tree-load",t,e,function(e){t.children=e,n(e)})},formatData:function(){var t=this.data;if(0===t.length)return[];(0,D.addAttrs)(this,t,{expand:this.expandAll,expandLevel:this.expandLevel}),this.list=(0,A.default)(this,t)},showRow:function(t){var e=(t.rowIndex,!t.row._parent||t.row._parent._expand&&t.row._parent._show);return t.row._show=e,e?"animation:treeTableShow 1s;-webkit-animation:treeTableShow 1s;":"display:none;"},validateField:function(t){return this.$refs.dialogForm.$refs.tableForm.validateField(t)},handleGetRowKeys:function(t){return t[this.rowKey]},menuIcon:function(t){return this.isIconMenu?"":this.vaildData(this.tableOption[t+"Text"],this.t("crud."+t))},menuText:function(t){return this.isTextMenu?"text":t},selectClear:function(){this.$refs.table.clearSelection()},toggleRowSelection:function(t,e){this.$refs.table.toggleRowSelection(t,e)},toggleRowExpansion:function(t,e){this.$refs.table.toggleRowExpansion(t,e)},setCurrentRow:function(t){this.$refs.table.setCurrentRow(t)},indexMethod:function(t){return t+1+((this.page.currentPage||1)-1)*(this.page.pageSize||10)},formVal:function(){var t=this;Object.keys(this.value).forEach(function(e){t.$set(t.tableForm,e,t.value[e])})},dataInit:function(){var t=this;this.list=this.data,this.list.forEach(function(e,n){e.$cellEdit&&!t.formCascaderList[n]&&(t.formCascaderList[n]=t.deepClone(e)),e.$index=n})},headerDragend:function(t,e,n,i){this.$emit("header-dragend",t,e,n,i)},expandChange:function(t,e){this.expandList=[].concat(r(e)),this.$emit("expand-change",t,e)},currentRowChange:function(t){this.$emit("current-row-change",t)},refreshChange:function(){this.$emit("refresh-change")},toggleSelection:function(t){var e=this;t?t.forEach(function(t){e.$refs.table.toggleRowSelection(t)}):this.$refs.table.clearSelection()},selectionChange:function(t){this.tableSelect=t,this.$emit("selection-change",this.tableSelect)},select:function(t,e){this.$emit("select",t,e)},selectAll:function(t){this.$emit("select-all",t)},sortChange:function(t){this.$emit("sort-change",t)},rowDblclick:function(t,e){this.$emit("row-dblclick",t,e)},rowClick:function(t,e,n){this.$emit("row-click",t,e,n)},clearSort:function(){this.$refs.table.clearSort()},cellMouseEnter:function(t,e,n,i){this.$emit("cell-mouse-enter",t,e,n,i)},cellMouseLeave:function(t,e,n,i){this.$emit("cell-mouse-leave",t,e,n,i)},cellClick:function(t,e,n,i){this.$emit("cell-click",t,e,n,i)},headerClick:function(t,e){this.$emit("header-click",t,e)},rowContextmenu:function(t,e,n){this.$emit("row-contextmenu",t,e,n)},headerContextmenu:function(t,e){this.$emit("header-contextmenu",t,e)},cellDblclick:function(t,e,n,i){this.$emit("cell-dblclick",t,e,n,i)},rowCell:function(t,e){t.$cellEdit?this.rowCellUpdate(t,e):this.rowCellEdit(t,e)},rowCellAdd:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.list.length,n=(0,I.formInitVal)(this.propOption).tableForm;t=this.deepClone(Object.assign({$cellEdit:!0,$index:e},n,t)),this.list.push(t),this.formIndexList.push(e),this.setSort()},rowCancel:function(t,e){if(this.validatenull(t[this.rowKey]))return void this.list.splice(e,1);this.formCascaderList[e].$cellEdit=!1,this.$set(this.list,e,this.formCascaderList[e]),delete this.formCascaderList[e],this.$set(this.cascaderDIC,e,this.cascaderDicList[e]),this.formIndexList.splice(this.formIndexList.indexOf(e),1)},rowCellEdit:function(t,e){var n=this;t.$cellEdit=!0,this.$set(this.list,e,t),this.formCascaderList[e]=this.deepClone(t),this.cascaderDicList[e]=this.deepClone(this.cascaderDIC[e]),setTimeout(function(){n.formIndexList.push(e)},1e3)},rowCellUpdate:function(t,e){var n=this;this.asyncValidator(this.formRules,t).then(function(i){n.btnDisabledList[e]=!0,n.btnDisabled=!0,n.$emit("row-update",t,e,function(){n.btnDisabledList[e]=!1,n.btnDisabled=!1,t.$cellEdit=!1,n.$set(n.list,e,t),delete n.formCascaderList[e]},function(){n.btnDisabledList[e]=!1})}).catch(function(t){n.$message.error("第"+(e+1)+"行:"+t[0].message)})},rowAdd:function(){this.$refs.dialogForm.show("add")},rowSave:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},rowUpdate:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},closeDialog:function(){return this.$refs.dialogForm.closeDialog()},rowClone:function(t){var e={};return Object.keys(t).forEach(function(n){["_parent","children"].includes(n)||(e[n]=t[n])}),e},searchChange:function(){this.$refs.headerSearch.searchChange()},getPropRef:function(t){return this.$refs.dialogForm.$refs.tableForm.getPropRef(t)},searchReset:function(){this.$refs.headerSearch.searchReset()},rowEdit:function(t,e){this.tableForm=this.rowClone(t),this.$emit("input",this.tableForm),this.tableIndex=e,this.$refs.dialogForm.show("edit",e)},rowCopy:function(t){this.tableForm=this.rowClone(t),delete this.tableForm[this.rowKey],this.$emit("input",this.tableForm),this.tableIndex=-1,this.$refs.dialogForm.show("add")},rowView:function(t,e){this.tableForm=this.rowClone(t),this.$emit("input",this.tableForm),this.tableIndex=e,this.$refs.dialogForm.show("view")},vaildParent:function(t){return this.validatenull(t.parentId)},rowDel:function(t,e){var n=this;this.$emit("row-del",t,e,function(){var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=e.findIndex(function(e){return e[n.rowKey]===t[n.rowKey]});e.splice(i,1)};if(n.isTree)if(n.vaildParent(t))e(n.data);else{var i=n.findObject(n.data,t.parentId,n.rowKey);e(void 0===i?n.data:i.children)}else e(n.data)})},resetForm:function(){this.$refs.dialogForm.resetForm(),this.$emit("input",this.tableForm)},tableSpanMethod:function(t){if("function"==typeof this.spanMethod)return this.spanMethod(t)},tableSummaryMethod:function(t){var e=this;if("function"==typeof this.summaryMethod)return this.summaryMethod(t);var n=t.columns,i=t.data,r=[];return n.length>0&&n.forEach(function(t,n){var o=e.sumColumnList.find(function(e){return e.name===t.property});if(0===n)r[n]=e.tableOption.sumText||T.default.sumText;else if(o)switch(o.type){case"count":r[n]="计数:"+i.length;break;case"avg":var a=i.map(function(e){return Number(e[t.property])}),s=1;r[n]=a.reduce(function(t,e){var n=Number(e);return isNaN(n)?t:(t*(s-1)+e)/s++},0),r[n]="平均:"+r[n].toFixed(2);break;case"sum":var l=i.map(function(e){return Number(e[t.property])});r[n]=l.reduce(function(t,e){var n=Number(e);return isNaN(n)?t:t+e},0),r[n]="合计:"+r[n].toFixed(2)}else r[n]="-"}),this.sumsList=r,r}}})},function(t,e,n){"use strict";function i(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0&&void 0!==arguments[0]?arguments[0]:"default",e="";switch(t){case"default":e="#35495E";break;case"primary":e="#3488ff";break;case"success":e="#43B883";break;case"warning":e="#e6a23c";break;case"danger":e="#f56c6c"}return e}Object.defineProperty(e,"__esModule",{value:!0});var o={};o.capsule=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"primary";console.log("%c "+t+" %c "+e+" %c","background:#35495E; padding: 1px; border-radius: 3px 0 0 3px; color: #fff;","background:"+r(n)+"; padding: 1px; border-radius: 0 3px 3px 0; color: #fff;","background:transparent")},o.colorful=function(t){var e;(e=console).log.apply(e,["%c"+t.map(function(t){return t.text||""}).join("%c")].concat(i(t.map(function(t){return"color: "+r(t.type)+";"}))))},o.default=function(t){o.colorful([{text:t}])},o.primary=function(t){o.colorful([{text:t,type:"primary"}])},o.success=function(t){o.colorful([{text:t,type:"success"}])},o.warning=function(t){o.colorful([{text:t,type:"warning"}])},o.danger=function(t){o.colorful([{text:t,type:"danger"}])},window.$Log=o,e.default=o},function(t,e,n){"use strict";function i(t,e){var n=e.value;t.style.display=!1===n?"none":""}Object.defineProperty(e,"__esModule",{value:!0}),e.default={bind:function(t,e){i(t,e)},update:function(t,e){i(t,e)}}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(12),o=i(r),a=n(1),s=i(a);e.default=(0,s.default)({name:"crud",inject:["crud"],props:{page:{type:Object,default:function(){return{}}}},data:function(){return{config:o.default,defaultPage:{total:0,pagerCount:7,currentPage:1,pageSize:10,pageSizes:[10,20,30,40,50,100],layout:"total, sizes, prev, pager, next, jumper",background:!0}}},created:function(){this.pageInit(),this.crud.$emit("on-load",this.defaultPage)},watch:{page:{handler:function(){this.pageInit()},deep:!0},pageFlag:function(){this.crud.getTableHeight()},"defaultPage.total":function(t){this.defaultPage.total===(this.defaultPage.currentPage-1)*this.defaultPage.pageSize&&0!=this.defaultPage.total&&(this.defaultPage.currentPage=this.defaultPage.currentPage-1,this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",this.defaultPage.currentPage),this.updateValue())}},computed:{pageFlag:function(){return 0!=this.defaultPage.total}},methods:{pageInit:function(){this.defaultPage=Object.assign(this.defaultPage,this.page,{total:Number(this.page.total||this.defaultPage.total),pagerCount:Number(this.page.pagerCount||this.defaultPage.pagerCount),currentPage:Number(this.page.currentPage||this.defaultPage.currentPage),pageSize:Number(this.page.pageSize||this.defaultPage.pageSize)}),this.updateValue()},updateValue:function(){this.crud.$emit("update:page",this.defaultPage)},nextClick:function(t){this.crud.$emit("next-click",t)},prevClick:function(t){this.crud.$emit("prev-click",t)},sizeChange:function(t){this.defaultPage.currentPage=1,this.defaultPage.pageSize=t,this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("size-change",t)},currentChange:function(t){this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",t)}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(5),s=n(9),l=n(7),u=i(l),c=n(10),d=n(12),f=i(d);e.default=(0,o.default)({name:"crud__search",inject:["crud"],mixins:[u.default],data:function(){return{flag:!1,config:f.default,defaultForm:{searchForm:{}},searchShow:!0,searchForm:{}}},props:{search:{type:Object,default:function(){return{}}}},watch:{"crud.propOption":{handler:function(){this.dataformat()},immediate:!0},search:{handler:function(){this.searchInit()},deep:!0},searchForm:{handler:function(){this.$emit("input",this.searchForm),this.updateValue()},deep:!0}},created:function(){this.init(),this.searchInit()},computed:{columnOption:function(){return this.option.column||[]},option:function(){var t=this,e=this.crud.option,n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=[];return n.forEach(function(n){if(n.search){n=Object.assign(n,{type:(0,c.getSearchType)(n),multiple:n.searchMultiple,detail:!1,dicFlag:!1,span:n.searchSpan||e.searchSpan||t.config.searchSpan,gutter:n.searchGutter||e.searchGutter||t.config.searchGutter,labelWidth:n.searchLabelWidth||e.searchLabelWidth||t.config.searchLabelWidth,labelPosition:n.searchLabelPosition||e.searchLabelPosition,tip:n.searchTip,placeholder:(0,c.getPlaceholder)(n,"search"),filterable:n.searchFilterable,tipPlacement:n.searchTipPlacement,filterMethod:n.searchFilterMethod,checkStrictly:n.searchCheckStrictly||e.searchCheckStrictly,tags:n.searchTags,row:n.searchRow,size:n.searchSize,formslot:n.searchslot,clearable:n.searchClearable,rules:n.searchRules,disabled:n.searchDisabled,readonly:n.searchReadonly,value:n.searchValue});["display","disabled","readonly"].forEach(function(t){delete n[t]}),i.push(n)}}),i},i=function(i){var r=t.deepClone(i);return r.translate=!1,r.group&&delete r.group,r.column=n(t.deepClone(t.crud.columnFormOption)),r=Object.assign(r,{tabs:!1,printBtn:!1,mockBtn:!1,submitText:t.vaildData(e.searchBtnText,t.t("crud.searchBtn")),submitBtn:t.vaildData(e.searchBtn,t.config.searchSubBtn),submitIcon:e.searchBtnIcon||t.config.searchBtnIcon,emptyText:t.vaildData(e.emptyBtnText,t.t("crud.emptyBtn")),emptyBtn:t.vaildData(e.emptyBtn,t.config.emptyBtn),emptyIcon:e.emptyBtnIcon||t.config.emptyBtnIcon,menuSpan:e.searchMenuSpan,dicFlag:!1,dicData:t.crud.DIC})}(e);return this.flag=!this.validatenull(i.column),i},searchSlot:function(){return!(0,s.validatenull)(this.$slots.search)},searchFlag:function(){return!!this.searchSlot||!(0,s.validatenull)(this.searchForm)}},methods:{searchInit:function(){this.searchForm=Object.assign(this.searchForm,this.search)},updateValue:function(){this.crud.$emit("update:search",this.searchForm)},init:function(){this.crud.searchChange=this.searchChange,this.crud.searchReset=this.searchReset},searchChange:function(t,e){this.crud.$emit("search-change",t,e)},resetChange:function(){this.crud.$emit("search-reset",this.defaultForm.tableForm)},searchReset:function(){this.$refs.form.resetForm()},handleSearchShow:function(){this.searchShow=!this.searchShow},dataformat:function(){this.defaultForm=(0,c.formInitVal)(this.option.column),this.searchForm=this.deepClone(this.defaultForm.tableForm),this.searchShow=(0,a.vaildData)(this.crud.tableOption.searchShow,this.crud.config.searchShow)}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.i18n=e.use=e.locale=e.t=void 0;var r=n(141),o=i(r),a=n(142),s=i(a),l=n(143),u=i(l),c=n(144),d=i(c),f=window.Vue,p=(0,d.default)(f),h=o.default,m=!1,v=function(){var t=Object.getPrototypeOf(this||f).$t;if("function"==typeof t&&(f||{}).locale)return m||(m=!0,f.locale(f.config.lang,(0,u.default)(h,f.locale(f.config.lang)||{},{clone:!0}))),t.apply(this,arguments)},y=e.t=function(t,e){var n=v.apply(this,arguments);if(null!==n&&void 0!==n)return n;for(var i=t.split("."),r=h,o=0,a=i.length;o1&&void 0!==arguments[1]?arguments[1]:a.DIC_SPLIT;return this.validatenull(t)?[]:Array.isArray(t)?t:t.split(e)},getImgList:function(t,e){var n=(e.propsHttp||{}).home||"",i=(e.props||{}).value||a.DIC_PROPS.value;if("picture-img"==e.listType)return[n+t.row[e.prop]];var r=this.corArray(this.deepClone(t.row[e.prop]),e.separator);return r.forEach(function(t,e){"object"===(void 0===t?"undefined":o(t))?r[e]=n+t[i]:r[e]=n+t}),r},menuText:function(t){return"text"===this.menuType?"text":t},handleDetail:function(t,e,n){var i=t[e.prop];return i=(0,m.detail)(t,e,this.crud.tableOption,n),this.validatenull(n)||(t["$"+e.prop]=i),i},handleShowLabel:function(t,e,n){var i="";return this.validatenull(n)||(i=(0,m.detail)(t,e,this.tableOption,n),t["$"+e.prop]=i),i},handleChange:function(t,e){var n=this;this.$nextTick(function(){var i=[].concat(r(n.crud.propOption)),o=i[t],s=o.cascader,l=e[o.prop],u=e.$index,c=i[t+1],f=c.prop;n.validatenull(s)||n.validatenull(l)||n.validatenull(c)||(n.validatenull(n.crud.cascaderDIC[u])&&n.$set(n.crud.cascaderDIC,u,{}),n.crud.formIndexList.includes(u)&&s.forEach(function(t){n.$set(n.crud.cascaderDIC[u],t.prop,[]),s.forEach(function(t){return e[t]=""})}),(0,d.sendDic)({column:c,value:l,form:e}).then(function(t){n.crud.formIndexList.includes(u)||n.crud.formIndexList.push(u);var i=Array.isArray(t)?t:[];n.$set(n.crud.cascaderDIC[u],f,i),n.validatenull(i)||n.validatenull(c.cascaderIndex)||(e[f]=i[c.cascaderIndex][(c.props||{}).value||a.DIC_PROPS.value])}))})},openImg:function(t,e){t=t.map(function(t){return{thumbUrl:t,url:t}}),this.$ImagePreview(t,e)},cellEditFlag:function(t,e){return t.$cellEdit&&!0!==e.slot&&e.cell},iconShow:function(t,e){return t===this.crud.treeProp&&e.children&&e.children.length>0},toggleExpanded:function(t,e){t._expand=!t._expand,this.$set(this.crud.list,e,t)},handleFiltersMethod:function(t,e,n){var i=this.columnOption.filter(function(t){return t.prop===n.property})[0];return"function"==typeof i.filtersMethod?i.filtersMethod(t,e,i):e[i.prop]===t},handleFilters:function(t){var e=this;if(!0===t.filter){if(this.validatenull(t.dicFilters)){var n=[];return(this.crud.DIC[t.prop]||[]).forEach(function(i){var r=t.props||e.crud.tableOption.props||{};n.push({text:i[r.label||a.DIC_PROPS.label],value:i[r.value||a.DIC_PROPS.value]})}),n}return t.dicFilters}}}}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(13),o=i(r),a=n(7),s=i(a);e.default={name:"dynamic-column",mixins:[s.default],components:{formTemp:o.default},inject:["dynamic","crud"],props:{columnOption:{type:Object,required:!0}},created:function(){var t=this,e=["corArray","openImg","detailData","getComponent","getPlaceholder","vaildColumn","menuText","handleDetail","handleShowLabel","handleChange","cellEditFlag","iconShow","getImgList","toggleExpanded","handleFiltersMethod","handleFilters"];Object.keys(this.dynamic).forEach(function(n){e.includes(n)&&(t[n]=t.dynamic[n])})}}},function(t,e,n){"use strict";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r,o=n(10);e.default={name:"form-temp",props:(r={value:{},t:Function,uploadBefore:Function,uploadDelete:Function,uploadAfter:Function,uploadPreview:Function,uploadError:Function,props:{type:Object},clearable:{type:Boolean},enter:{type:Boolean,default:!1},type:{type:String},propsHttp:{type:Object,default:function(){return{}}}},i(r,"props",{type:Object}),i(r,"dic",{type:Array}),i(r,"placeholder",{type:String}),i(r,"size",{type:String}),i(r,"disabled",{type:Boolean}),i(r,"readonly",{type:Boolean}),i(r,"column",{type:Object,default:function(){return{}}}),r),data:function(){return{first:!1,text:void 0}},computed:{params:function(){return this.column.params||{}},columnOption:function(){return(this.column.children||[]).column||[]}},watch:{text:{handler:function(t){this.first||!this.validatenull(t)?(this.first=!0,this.$emit("input",t)):this.first=!0}},value:{handler:function(t){this.text=t},immediate:!0}},methods:{getComponent:o.getComponent,getPlaceholder:o.getPlaceholder,enterChange:function(){this.enter&&this.$emit("enter")},handleChange:function(t){this.$emit("change",t)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.detail=void 0;var i=n(9),r=n(5),o=n(8),a=n(16),s=function(t){return t&&t.__esModule?t:{default:t}}(a);e.detail=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],l=t[e.prop],u=e.type,c=e.separator;if((0,i.validatenull)(l)&&(l=""),e.formatter&&"function"==typeof e.formatter&&(l=e.formatter(t,t[e.prop],l,e)),!(0,i.validatenull)(l)&&o.DATE_LIST.includes(u)&&e.format){var d=e.format.replace("dd","DD").replace("yyyy","YYYY");l=(0,s.default)(l).format(d)}return["array"].includes(u)?l=Array.isArray(l)?l.join(c||o.DIC_SHOW_SPLIT):l.split(c||o.DIC_SPLIT).join(c||o.DIC_SHOW_SPLIT):["string","number"].includes(e.dataType)&&!Array.isArray(l)?(l=(l+"").split(c||o.DIC_SPLIT),"number"===e.dataType&&(l=(0,r.strCorNum)(l))):["password"].includes(u)?l=(0,r.getPasswordChar)(l,"*"):["color"].includes(u)?l=' ':["icon"].includes(u)&&(l=' '),e.bind&&(l=(0,r.getAsVal)(t,e.bind)),(0,i.validatenull)(a)||(l=(0,r.findByValue)(a,l,e.props||n.props,["cascader","tree"].includes(e.type),e)),l}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e",value:">"},{label:"≥",value:"≥"},{label:"<",value:"<"},{label:"≤",value:"≤"},{label:"∈",value:"∈"}]},result:function(){var t=this,e=[];return this.list.forEach(function(n){t.validatenull(n.value)||e.push([n.text,n.symbol,n.value])}),e},columnObj:function(){return this.columnOption[0]},columnOption:function(){return this.crud.propOption}},created:function(){this.getSearchType=r.getSearchType,this.formDefault=(0,r.formInitVal)(this.columnOption).tableForm},methods:{getColumnByIndex:function(t,e){var n=this.deepClone(t);return n.type=(0,r.getSearchType)(n),n.multiple=["checkbox"].includes(t.type),n},handleDelete:function(t){this.list.splice(t,1),this.columnList.splice(t,1)},handleClear:function(){this.list=[],this.columnList=[]},handleValueClear:function(){var t=this;this.list.forEach(function(e,n){t.$set(t.list[n],"value",t.formDefault[e.text])})},handleGetColumn:function(t){return this.columnOption.find(function(e){return e.prop===t})},handleSubmit:function(){this.list.push({}),this.list.splice(this.list.length-1,1),this.crud.$emit("filter-change",this.result),this.box=!1},handleChange:function(t,e){var n=this.handleGetColumn(t);this.columnList[e]=n,this.list[e].value=this.formDefault[t]},handleAdd:function(){var t=(this.list.length,this.columnObj.prop),e=this.handleGetColumn(t);this.columnList.push(e),this.list.push({text:t,value:this.formDefault[t],symbol:this.symbolDic[0].value})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(5),o=n(1),a=i(o),s=n(7),l=i(s),u=n(12),c=i(u);e.default=(0,a.default)({name:"crud",mixins:[l.default],inject:["crud"],data:function(){return{config:c.default,boxType:"",fullscreen:!1,size:null,boxVisible:!1,boxHeight:0,tableForm:{},index:-1}},props:{value:{type:Object,default:function(){return{}}}},watch:{boxVisible:function(t){var e=this;t&&this.$nextTick(function(){e.initFun()})},value:{handler:function(){this.formVal()},deep:!0},tableForm:{handler:function(){this.$emit("input",this.tableForm)},deep:!0}},computed:{styleName:function(){return{height:this.dialogHeight,overflow:"hidden"}},isView:function(){return"view"===this.boxType},isAdd:function(){return"add"===this.boxType},isEdit:function(){return"edit"===this.boxType},direction:function(){return this.crud.tableOption.dialogDirection},width:function(){return this.vaildData(this.crud.tableOption.dialogWidth+"",this.crud.isMobile?"100%":c.default.dialogWidth+"")},dialogType:function(){return this.isDrawer?"elDrawer":"elDialog"},dialogTop:function(){return this.crud.tableOption.dialogTop||c.default.dialogTop},isDrawer:function(){return"drawer"===this.crud.tableOption.dialogType},dialogHeight:function(){return this.isDrawer?"calc(100% - 100px)":this.crud.tableOption.dialogHeight===c.default.dialogHeight?this.setPx(c.default.clientHeight-3*this.dialogTop):this.setPx(this.crud.tableOption.dialogHeight)},formOption:function(){var t=this,e=this.deepClone(this.crud.tableOption);return e.boxType=this.boxType,e.column=this.crud.propOption,e.printBtn=!1,e.mockBtn=!1,this.isView?(e.menuBtn=!1,e.detail=!0):(e.menuPosition||(e.menuPosition="right"),this.isAdd?(e.submitBtn=e.saveBtn,e.submitText=this.crud.menuIcon("saveBtn"),e.submitIcon=e.saveBtnIcon||c.default.saveBtnIcon):this.isEdit&&(e.submitBtn=e.updateBtn,e.submitText=this.crud.menuIcon("updateBtn"),e.submitIcon=e.updateBtnIcon||c.default.updateBtnIcon),e.emptyBtn=e.cancelBtn,e.emptyIcon=e.cancelBtnIcon||c.default.cancelBtnIcon,e.emptyText=this.crud.menuIcon("cancelBtn")),this.crud.isGroup||(e.dicFlag=!1,e.dicData=this.crud.DIC),this.validatenull(e.dicFlag)||e.column.forEach(function(n){n.boxType=t.boxType,n.dicFlag=n.dicFlag||e.dicFlag}),e},dialogTitle:function(){var t=""+this.boxType;if(!this.validatenull(this.boxType))return this.crud.tableOption[t+"Title"]||this.t("crud."+t+"Title")}},methods:{handleFullScreen:function(){this.isDrawer?this.validatenull(this.size)?this.size="100%":this.size="":this.fullscreen?this.fullscreen=!1:this.fullscreen=!0},handleError:function(t){this.crud.$emit("error",t)},handleSubmit:function(){this.isAdd?this.rowSave():this.isEdit&&this.rowUpdate()},initFun:function(){var t=this;["clearValidate","validate"].forEach(function(e){t.crud[e]=t.$refs.tableForm[e]})},formVal:function(){var t=this;Object.keys(this.value).forEach(function(e){t.tableForm[e]=t.value[e]})},resetForm:function(){this.$refs.tableForm.resetForm(),this.$emit("input",this.tableForm)},rowSave:function(){var t=this;this.$refs.tableForm.validate(function(e){e&&t.crud.$emit("row-save",(0,r.filterDefaultParams)(t.tableForm,t.crud.tableOption.translate),t.closeDialog,t.$refs.tableForm.hide)})},rowUpdate:function(){var t=this;this.$refs.tableForm.validate(function(e){if(e){t.crud.tableIndex;t.crud.$emit("row-update",(0,r.filterDefaultParams)(t.tableForm,t.crud.tableOption.translate),t.index,t.closeDialog,t.$refs.tableForm.hide)}})},closeDialog:function(t,e){var n=this;t&&function(){if(n.isEdit){var i=n.findObject(n.crud.data,t[n.crud.rowKey],n.crud.rowKey);i=Object.assign(i,t)}else if(n.isAdd){var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments[1];n.validatenull(i)?e.push(t):e.splice(i,0,t)};if(n.crud.isTree)if(t.children||(t.children=[]),n.crud.vaildParent(t))r(n.crud.data,e);else{var o=n.findObject(n.crud.data,t.parentId,n.crud.rowKey);if(void 0===o)return r(n.crud.data,e);o.children||(o.hasChildren=!0,o.children=[]),r(o.children,e)}else r(n.crud.data,e)}}(),this.hide()},hide:function(t){var e=this,n=function(){t&&t(),e.crud.tableIndex=-1,e.tableForm={},e.$nextTick(function(){e.boxVisible=!1})};"function"==typeof this.crud.beforeClose?this.crud.beforeClose(n,this.boxType):n()},show:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;this.index=n,this.boxType=t;var i=function(){e.$nextTick(function(){e.boxVisible=!0})};"function"==typeof this.crud.beforeOpen?this.crud.beforeOpen(i,this.boxType):i()}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i),o={img:"img",title:"title",info:"info"};e.default=(0,r.default)({name:"card",props:{props:{type:Object,default:function(){return o}},option:{type:Object,default:function(){return{}}},data:{type:Array,default:function(){return[]}}},data:function(){return{propsDefault:o}},computed:{imgKey:function(){return this.option.props.img||this.propsDefault.img},titleKey:function(){return this.option.props.title||this.propsDefault.title},infoKey:function(){return this.option.props.info||this.propsDefault.info},span:function(){return this.option.span||8},gutter:function(){return this.option.gutter||20}},methods:{rowAdd:function(){this.$emit("row-add")},rowClick:function(t,e){this.$emit("row-click",t,e)}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(6),s=i(a);e.default=(0,o.default)({name:"code",props:{height:{type:Number,default:200},syntax:{type:String,default:"javascript"}},computed:{styleName:function(){return{height:this.setPx(this.height)}}},mounted:function(){if(!window.hljs)return void s.default.logs("hljs");window.hljs&&"function"==typeof window.hljs.highlightBlock&&window.hljs.highlightBlock(this.$refs.container)}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=n(1),o=function(t){return t&&t.__esModule?t:{default:t}}(r),a=n(14);e.default=(0,o.default)({name:"chat",data:function(){return{upload:{box:!1,src:"",type:"",title:""},visible:!1,imgSrc:"",videoSrc:"",audioSrc:"",keys:"",show:!1,msg:""}},props:{beforeOpen:Function,tools:{type:Object,default:function(){return{img:!0,video:!0,file:!0}}},placeholder:{type:String,default:"请输入..."},width:{type:[String,Number],default:320},height:{type:[String,Number],default:520},value:{type:String},notice:{type:Boolean,default:!0},audio:{type:Array,default:function(){return["https://www.helloweba.net/demo/notifysound/notify.ogg","https://www.helloweba.net/demo/notifysound/notify.mp3","https://www.helloweba.net/demo/notifysound/notify.wav"]}},config:{type:Object,default:function(){return{}}},keylist:{type:Array,default:function(){return[]}},list:{type:Array,default:function(){return[]}}},watch:{"upload.box":function(t){var e=this;t&&this.$nextTick(function(){e.$refs.form.clearValidate()})},value:{handler:function(){this.msg=this.value},immediate:!0},msg:{handler:function(){this.$emit("input",this.msg)},immediate:!0}},computed:{heightStyleName:function(){return{height:this.setPx(this.height)}},widthStyleName:function(){return{width:this.setPx(this.width)}},msgActive:function(){return!this.validatenull(this.msg.replace(/[\r\n]/g,""))}},methods:{uploadSubmit:function(){var t=this;this.$refs.form.validate(function(e){e&&(t.upload.box=!1,t.$emit("submit",t.getDetail(t.upload)))})},handleUpload:function(t){this.upload.type=t,this.upload.src="","img"===t?this.upload.title="图片上传":"video"===t?this.upload.title="视频上传":"file"===t&&(this.upload.title="文件上传"),this.upload.box=!0},handleClose:function(t){this.imgSrc=void 0,this.videoSrc=void 0,this.audioSrc=void 0,t()},addKey:function(){""!==this.keys&&(this.$emit("keyadd",this.keys),this.keys=""),this.visible=!1},sendKey:function(t){this.$emit("keysend",t)},getAudio:function(){this.$refs.chatAudio.play()},getNotification:function(t){var e=this,n=Notification||window.Notification;if(n){var i=function(){var n=new Notification(e.config.name,{body:t,icon:e.config.img});n.onshow=function(){e.getAudio(),setTimeout(function(){n.close()},2500)},n.onclick=function(t){n.close()}},r=n.permission;"granted"===r?i():"denied"===r?console.log("用户拒绝了你!!!"):function(){n.requestPermission(function(t){"granted"===t?i():console.log("用户无情残忍的拒绝了你!!!")})}()}},pushMsg:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=!0===e.mine,r=e.text||{},o=e.date,s={date:o||(0,a.dateFtt)("yyyy-MM-dd hh:mm:ss",new Date),text:function(){return"object"!=(void 0===r?"undefined":i(r))?{text:r}:r}(),mine:n,img:n?this.config.myImg:this.config.img,name:n?this.config.myName:this.config.name};this.list.push(s),setTimeout(function(){t.setScroll()},50)},setScroll:function(t){var e=this;this.$nextTick(function(){e.$refs.main.scrollTop=t||e.$refs.main.scrollHeight})},handleSend:function(){this.msgActive&&this.$emit("submit")},handleItemMsg:function(t){this.$emit("submit",t.ask)},handleDetail:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=e;return setTimeout(function(){t.$refs.content.forEach(function(e){for(var n=0;nFile"+i.getAttribute("data-name")+" "):"MAP"===i.tagName&&(i.className="web__msg--file web__msg--map",i.innerHTML="Map "+i.getAttribute("data-longitude")+" , "+i.getAttribute("data-latitude")+" "+i.getAttribute("data-address")+" "),t.setScroll())}(n)})},0),n},getDetail:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.type,n=t.src,i=t.name,r=t.longitude,o=t.latitude,a=t.address;return"img"===e?' ':"video"===e?' ':"audio"===e?' ':"file"===e?' ':"map"===e?' ':void 0},handleEvent:function(t){var e=this,n=function(){"IMG"===t.type?(e.imgSrc=t.src,e.show=!0):"VIDEO"===t.type?(e.videoSrc=t.src,e.show=!0):"AUDIO"===t.type?(e.audioSrc=t.src,e.show=!0):"FILE"===t.type&&window.open(t.src)};"function"==typeof this.beforeOpen?this.beforeOpen(t,n):n()},rootSendMsg:function(t){this.pushMsg({text:t}),this.notice&&this.getNotification(t.text||t)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i),o={avatar:"avatar",author:"author",body:"body"};e.default=(0,r.default)({name:"comment",props:{reverse:{type:Boolean,default:!1},data:{type:Object,default:function(){return{}}},props:{type:Object,default:function(){return o}},option:{type:Object,default:function(){return{}}}},computed:{avatarKey:function(){return this.props.avatar||o.avatar},authorKey:function(){return this.props.author||o.author},bodyKey:function(){return this.props.body||o.body},avatar:function(){return this.data[this.avatarKey]},author:function(){return this.data[this.authorKey]},body:function(){return this.data[this.bodyKey]}},mounted:function(){}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0&&void 0!==arguments[0]?arguments[0]:[];if(this.all){var e=t.length;if(0!==e){var n=this.dic.length;this.checkAll=e===n,this.isIndeterminate=e>0&&e0&&void 0!==arguments[0]?arguments[0]:0;return 0==t?"info":1==t?"":2==t?"warning":3==t?"danger":4==t?"success":void 0}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"license",props:{id:{type:String,default:""},option:{type:Object,default:function(){return{}}}},watch:{option:{handler:function(){this.init()},deep:!0}},data:function(){return{draw:!1,canvas:"",context:""}},computed:{img:function(){return this.option.img},list:function(){return this.option.list||[]}},mounted:function(){this.canvas=document.getElementById("canvas"+this.id),this.context=this.canvas.getContext("2d"),this.init()},methods:{init:function(){var t=this;this.draw=!1;var e=new Image;e.src=this.img,e.onload=function(){var n=t.option.width||e.width,i=t.option.width?e.height/e.width*t.option.width:e.height;t.$refs.canvas.width=n,t.$refs.canvas.height=i,t.context.clearRect(0,0,n,i),t.context.drawImage(e,0,0,n,i),t.list.forEach(function(e,n){var i=function(){n==t.list.length-1&&setTimeout(function(){t.draw=!0},0)};if(e.img){var r=new Image;r.src=e.img,r.onload=function(){var n=e.width||r.width,o=e.width?r.height/r.width*e.width:r.height;t.context.drawImage(r,e.left,e.top,n,o),i()}}else e.bold?t.context.font="bold "+e.size+"px "+e.style:t.context.font=e.size+"px "+e.style,t.context.fillStyle=e.color,t.context.fillText(e.text,e.left,e.top),t.context.stroke(),i()})}},getFile:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime();return new Promise(function(n){var i=setInterval(function(){if(t.draw){var r=t.canvas.toDataURL("image/jpeg",1),o=t.dataURLtoFile(r,e);clearInterval(i),n(o)}},1e3)})},getBase64:function(){var t=this;return new Promise(function(e){var n=setInterval(function(){if(t.draw){var i=t.canvas.toDataURL("image/jpeg",1);clearInterval(n),e(i)}},100)})},getPdf:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime(),e=this.canvas.width,n=this.canvas.height,i=e/592.28*841.89,r=n,o=0,a=592.28/e*n,s=this.canvas.toDataURL("image/jpeg",1),l=new window.jsPDF("","pt","a4");if(r0;)l.addImage(s,"JPEG",0,o,595.28,a),r-=i,o-=841.89,r>0&&l.addPage();l.save(t+".pdf")}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"progress",props:{showText:{type:Boolean},width:{type:[Number,String]},strokeWidth:{type:[Number,String]},type:{type:String},color:{type:String},percentage:{type:[Number]}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l),c=n(7),d=i(c);e.default=(0,o.default)({name:"time",mixins:[(0,s.default)(),(0,u.default)(),d.default],data:function(){return{}},props:{startPlaceholder:{type:String,default:"开始时间"},endPlaceholder:{type:String,default:"结束时间"},rangeSeparator:{type:String},value:{required:!0},defaultValue:{type:[String,Array]},valueFormat:{default:""},arrowControl:{type:Boolean,default:!1},type:{default:""},format:{default:""}},watch:{text:function(){Array.isArray(this.text)&&this.validatenull(this.text)&&(this.text=this.text.join(","))}},created:function(){},mounted:function(){},computed:{isRange:function(){return"timerange"===this.type}},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var o,a=n(1),s=i(a),l=n(3),u=i(l),c=n(4),d=i(c);n(9);e.default=(0,s.default)({name:"input",mixins:[(0,u.default)(),(0,d.default)()],data:function(){return{}},props:(o={value:{},maxlength:"",minlength:"",showWordLimit:{type:Boolean,default:!1},target:{type:String,default:" _blank"},prefixIcon:{type:String},suffixIcon:{type:String},prependClick:{type:Function,default:function(){}},prepend:{type:String},appendClick:{type:Function,default:function(){}},append:{type:String}},r(o,"minlength",{type:Number}),r(o,"maxlength",{type:Number}),r(o,"minRows",{type:Number,default:5}),r(o,"maxRows",{type:Number,default:10}),r(o,"autocomplete",{type:String}),o),computed:{isSearch:function(){return"search"==this.type},typeParam:function(){return"textarea"===this.type?"textarea":"password"===this.type?"password":"text"}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"radio",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{name:"radio"}},props:{value:{}},watch:{},created:function(){},mounted:function(){},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(6),o=i(r),a=n(1),s=i(a),l=n(3),u=i(l),c=n(4),d=i(c),f=n(11);e.default=(0,s.default)({name:"select",mixins:[(0,u.default)(),(0,d.default)()],data:function(){return{created:!1,netDic:[],loading:!1}},props:{value:{},loadingText:{type:String},noMatchText:{type:String},noDataText:{type:String},drag:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},tags:{type:Boolean,default:!1},limit:{type:Number,default:99},filterable:{type:Boolean,default:!1},allowCreate:{type:Boolean,default:!1},defaultFirstOption:{type:Boolean,default:!1}},watch:{value:function(t){this.validatenull(t)||this.remote&&!this.created&&(this.created=!0,this.handleRemoteMethod(this.multiple?this.text.join(","):this.text))},dic:{handler:function(t){this.netDic=t},immediate:!0}},created:function(){},mounted:function(){this.drag&&this.setSort()},methods:{setSort:function(){var t=this;if(!window.Sortable)return void o.default.logs("Sortable");var e=this.$refs.main.$el.querySelectorAll(".el-select__tags > span")[0];this.sortable=window.Sortable.create(e,{ghostClass:"sortable-ghost",setData:function(t){t.setData("Text","")},onEnd:function(e){var n=t.value.splice(e.oldIndex,1)[0];t.value.splice(e.newIndex,0,n)}})},handleRemoteMethod:function(t){var e=this;this.loading=!0,(0,f.sendDic)({column:this.column,value:t}).then(function(t){e.loading=!1,e.netDic=t})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var o,a=n(1),s=i(a),l=n(3),u=i(l),c=n(4),d=i(c);e.default=(0,s.default)({name:"cascader",mixins:[(0,u.default)(),(0,d.default)()],props:(o={checkStrictly:{type:Boolean,default:!1},emitPath:{type:Boolean,default:!0},tags:{type:Boolean,default:!1},value:{type:Array,default:function(){return[]}},changeOnSelect:{type:Boolean,default:!1},expandTrigger:{type:String,default:"hover"},showAllLevels:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},lazyLoad:Function,filterable:{type:Boolean,default:!1}},r(o,"expandTrigger",{type:String,default:"click"}),r(o,"separator",{type:String}),o),data:function(){return{}},watch:{},computed:{allProps:function(){return{label:this.labelKey,value:this.valueKey,children:this.childrenKey,checkStrictly:this.checkStrictly,multiple:this.multiple,lazy:this.lazy,lazyLoad:this.lazyLoad,expandTrigger:this.expandTrigger}}},created:function(){},mounted:function(){},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"input-color",mixins:[(0,s.default)(),(0,u.default)()],props:{iconList:{type:Array,default:function(){return[]}}},data:function(){return{predefineColors:["#ff4500","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgba(255, 69, 0, 0.68)","rgb(255, 120, 0)","hsv(51, 100, 98)","hsva(120, 40, 94, 0.5)","hsl(181, 100%, 37%)","hsla(209, 100%, 56%, 0.73)","#c7158577"]}},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"input-number",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{}},props:{controls:{type:Boolean,default:!0},step:{type:Number,default:1},controlsPosition:{type:String,default:"right"},precision:{type:Number},minRows:{type:Number,default:-1/0},maxRows:{type:Number,default:1/0}},created:function(){},mounted:function(){},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l),c=n(8);e.default=(0,o.default)({name:"input-tree",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{node:[],filterText:"",box:!1,labelText:[]}},props:{nodeClick:Function,treeLoad:Function,checked:Function,value:{},lazy:{type:Boolean,default:!1},leafOnly:{type:Boolean,default:!1},includeHalfChecked:{type:Boolean,default:!1},filter:{type:Boolean,default:!0},checkStrictly:{type:Boolean,default:!1},accordion:{type:Boolean,default:!1},parent:{type:Boolean,default:!0},defaultExpandedKeys:{type:Array},iconClass:{type:String},defaultCheckedKeys:{type:Array},defaultExpandAll:{type:Boolean,default:!1}},watch:{text:{handler:function(t){this.validatenull(t)&&this.clearHandle()}},dic:function(){this.init()},value:function(){this.initVal(),this.init()},filterText:function(t){this.$refs.tree.filter(t)}},computed:{treeProps:function(){return Object.assign(this.props,{isLeaf:this.leafKey})},dicList:function(){function t(e,n){e.forEach(function(e){var i=e.children;i&&t(i,e),n&&(e.$parent=n)})}var e=this.dic;return t(e),e},keysList:function(){return this.validatenull(this.text)?[]:this.multiple?this.text:[this.text]},labelShow:function(){var t=this;if(this.typeformat){var e=[];return this.node.forEach(function(n){e.push(t.getLabelText(n))}),e.join(c.DIC_SHOW_SPLIT).toString()}return(this.labelText||[]).join(c.DIC_SHOW_SPLIT).toString()}},mounted:function(){this.init()},methods:{initScroll:function(){var t=this;setTimeout(function(){t.$nextTick(function(){document.querySelectorAll(".el-scrollbar .el-select-dropdown__wrap").forEach(function(t){t.scrollTop=0})})},0)},filterNode:function(t,e){return!t||-1!==e[this.labelKey].indexOf(t)},checkChange:function(t,e,n,i){var r=this;this.text=[],this.node=[],this.labelText=[],this.$refs.tree.getCheckedNodes().forEach(function(t){r.node.push(t),r.text.push(t[r.valueKey]),r.labelText.push(t[r.labelKey])}),"function"==typeof this.checked&&this.checked(t);var o=this.isString&&this.multiple?this.text.join(","):this.text;this.$emit("input",o),this.$emit("change",o)},init:function(){var t=this;this.$nextTick(function(){if(t.labelText=[],t.node=[],t.multiple){t.$refs.tree.getCheckedNodes(t.leafOnly,t.includeHalfChecked).forEach(function(e){t.labelText.push(e[t.labelKey]),t.node.push(e)})}else{var e=t.$refs.tree.getNode(t.text);if(e){var n=e.data;t.$refs.tree.setCurrentKey(n[t.valueKey]),t.labelText.push(n[t.labelKey]),t.node.push(n)}}}),this.disabledParentNode(this.dic,this.parent)},disabledParentNode:function(t,e){var n=this;t.forEach(function(t){var i=t[n.childrenKey];n.validatenull(i)||(e||(t.disabled=!0),n.disabledParentNode(i,e))})},clearHandle:function(){this.$refs.tree.setCurrentKey(null),this.$refs.tree.setCheckedKeys([])},handleNodeClick:function(t){if(!t.disabled&&("function"==typeof this.nodeClick&&this.nodeClick(t),!this.multiple&&(this.validatenull(t[this.childrenKey])&&!this.multiple||this.parent))){var e=t[this.valueKey],n=t[this.labelKey],i=this.isString&&this.multiple?e.join(","):e;this.text=e,this.node=[t],this.labelText=[n],this.$refs.main.blur(),this.$emit("input",i),this.$emit("change",i)}},handleClick:function(){var t=this.isString&&this.multiple?this.text.join(","):this.text;"function"==typeof this.click&&this.click({value:t,column:this.column})},handleChange:function(t){var e=(this.text,this.isString&&this.multiple?t.join(","):t);"function"==typeof this.change&&this.change({value:e,column:this.column}),this.$emit("input",e),this.$emit("change",e)}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(6),o=i(r),a=n(1),s=i(a),l=n(3),u=i(l),c=n(4),d=i(c);e.default=(0,s.default)({name:"input-map",mixins:[(0,u.default)(),(0,d.default)()],data:function(){return{address:"",poi:{},marker:null,map:null,box:!1}},watch:{value:function(t){this.validatenull(t)&&(this.poi={})},formattedAddress:function(){this.address=this.formattedAddress},text:function(t){this.validatenull(t)||(this.poi={longitude:t[0],latitude:t[1],formattedAddress:t[2]})},box:{handler:function(){var t=this;this.box&&this.$nextTick(function(){return t.init(function(){t.longitude&&t.latitude&&(t.addMarker(t.longitude,t.latitude),t.getAddress(t.longitude,t.latitude))})})},immediate:!0}},computed:{formattedAddress:function(){return this.poi.formattedAddress},longitude:function(){return this.poi.longitude},latitude:function(){return this.poi.latitude},title:function(){return this.disabled||this.readonly?"查看":"选择"}},methods:{handleClear:function(){this.text=[],this.poi={},this.handleChange(this.text)},setVal:function(){this.text=[this.poi.longitude,this.poi.latitude,this.poi.formattedAddress],this.handleChange(this.text)},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)},addMarker:function(t,e){this.clearMarker(),this.marker=new window.AMap.Marker({position:[t,e]}),this.marker.setMap(this.map)},clearMarker:function(){this.marker&&(this.marker.setMap(null),this.marker=null)},getAddress:function(t,e){var n=this;new window.AMap.service("AMap.Geocoder",function(){new window.AMap.Geocoder({}).getAddress([t,e],function(i,r){if("complete"===i&&"OK"===r.info){var o=r.regeocode;n.poi=Object.assign(o,{longitude:t,latitude:e}),n.setVal();var a=document.createElement("div"),s=document.createElement("img");s.src="//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",a.appendChild(s);var l=document.createElement("span");l.className="avue-input-map__marker",l.innerHTML=n.formattedAddress,a.appendChild(l),n.marker.setContent(a)}})})},handleClose:function(){window.poiPicker.clearSearchResults()},addClick:function(){var t=this;this.map.on("click",function(e){if(!t.disabled&&!t.readonly){var n=e.lnglat,i=n.P||n.Q,r=n.R;t.addMarker(r,i),t.getAddress(r,i)}})},init:function(t){var e=this;if(!window.AMap)return void o.default.logs("Map");this.map=new window.AMap.Map("map__container",{zoom:13,center:function(){if(e.longitude&&e.latitude)return[e.longitude,e.latitude]}()}),this.initPoip(),this.addClick(),t()},initPoip:function(){var t=this;if(!window.AMapUI)return void o.default.logs("MapUi");window.AMapUI.loadUI(["misc/PoiPicker"],function(e){var n=new e({input:"map__input",placeSearchOptions:{map:t.map,pageSize:10},searchResultsContainer:"map__result"});t.poiPickerReady(n)})},poiPickerReady:function(t){var e=this;window.poiPicker=t,t.on("poiPicked",function(n){e.clearMarker();var i=n.source,r=n.item;e.poi=Object.assign(r,{formattedAddress:r.name,longitude:r.location.R,latitude:r.location.P||r.location.Q}),e.setVal(),"search"!==i&&t.searchByKeyword(r.name)})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"input-icon",mixins:[(0,s.default)(),(0,u.default)()],props:{iconList:{type:Array,default:function(){return[]}}},data:function(){return{box:!1,tabs:{}}},computed:{list:function(){return(this.tabs.list||[]).map(function(t){return t.value?t:{value:t}})},option:function(){return{column:this.iconList}}},created:function(){this.tabs=this.iconList[0]||{}},methods:{handleTabs:function(t){this.tabs=t},handleSubmit:function(t){this.box=!1,this.text=t,this.handleChange(t)},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"input-table",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{active:{},page:{},box:!1,created:!1,data:[]}},props:{formatter:Function,onLoad:Function},watch:{value:function(t){this.validatenull(t)&&(this.active={})},text:function(t){var e=this;this.create||this.validatenull(t)||"function"==typeof this.onLoad&&this.onLoad({value:this.text},function(t){e.active=t,e.create=!0})}},computed:{title:function(){return this.disabled||this.readonly?"查看":"选择"},labelShow:function(){return"function"==typeof this.formatter?this.formatter(this.active):this.active[this.labelKey]||""},option:function(){return Object.assign({menu:!1,header:!1,size:"mini",headerAlign:"center",align:"center"},this.column.children)}},methods:{handleClear:function(){this.handleCurrentRowChange({})},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)},handleCurrentRowChange:function(t){this.active=t,this.text=this.active[this.valueKey]||"",this.handleChange(this.text),this.box=!1},handleSearchChange:function(t,e){var n=this;this.onLoad({page:this.page,data:t},function(t){n.page.total=t.total,n.data=t.data}),e&&e()},onList:function(t){var e=this;"function"==typeof this.onLoad&&this.onLoad({page:this.page},function(t){e.page.total=t.total,e.data=t.data})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"verify",props:{size:{type:[Number,String],default:50},value:[Number,String],len:{type:[Number,String],default:6}},computed:{styleName:function(){return{padding:this.setPx(this.size/7)+" "+this.setPx(this.size/4),fontSize:this.setPx(this.size)}},list:function(){return this.data.split("")}},watch:{value:{handler:function(t){if(this.validatenull(t))return void this.randomn();this.data=t+""},immediate:!0},data:{handler:function(t){this.$emit("input",t)},immediate:!0}},data:function(){return{data:0}},methods:{randomn:function(){var t=this.len;if(t>21)return null;var e=new RegExp("(\\d{"+t+"})(\\.|$)"),n=(Array(t-1).join(0)+Math.pow(10,t)*Math.random()).match(e)[1];this.data=n}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"switch",mixins:[(0,s.default)(),(0,u.default)()],props:{value:{},activeIconClass:String,inactiveIconClass:String,activeColor:String,inactiveColor:String,len:Number},data:function(){return{}},watch:{},created:function(){},mounted:function(){},computed:{active:function(){return this.dic[1]||{}},inactive:function(){return this.dic[0]||{}}},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"rate",mixins:[(0,s.default)(),(0,u.default)()],props:{value:{type:Number,default:0},colors:{type:Array},max:{type:Number,default:5},iconClasses:{type:Array},texts:{type:Array},showText:{type:Boolean,default:!1},voidIconClass:{type:String}},data:function(){return{}},watch:{},created:function(){},mounted:function(){},methods:{}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l),c=n(5),d=n(67),f=n(222),p=n(223),h=n(6),m=i(h);e.default=(0,o.default)({name:"upload",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{menu:!1,loading:!1,typeList:{img:/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)/,video:/\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/},dialogUrl:"",dialogType:!0,dialogVisible:!1,text:[],file:{}}},props:{data:{type:Object,default:function(){return{}}},preview:{type:Object,default:function(){}},value:{},onRemove:Function,showFileList:{type:Boolean,default:!0},oss:{type:String},limit:{type:Number,default:10},headers:{type:Object,default:function(){return{}}},accept:{type:[String,Array],default:""},canvasOption:{type:Object,default:function(){return{}}},fileSize:{type:Number},drag:{type:Boolean,default:!1},loadText:{type:String,default:"文件上传中,请稍等"},action:{type:String,default:""},uploadBefore:Function,uploadAfter:Function,uploadDelete:Function,uploadPreview:Function,uploadError:Function},computed:{acceptList:function(){return Array.isArray(this.accept)?this.accept.join(","):this.accept},homeUrl:function(){return this.propsHttp.home||""},allParams:function(){return this.typeList.video.test(this.imgUrl)?Object.assign({is:"video"},this.params):this.params},fileName:function(){return this.propsHttp.fileName||"file"},isAliOss:function(){return"ali"===this.oss},isQiniuOss:function(){return"qiniu"===this.oss},isPictureImg:function(){return"picture-img"===this.listType},imgUrl:function(){if(!this.validatenull(this.text))return this.homeUrl+this.text[0]},fileList:function(){var t=this,e=[],n=this.isArray||this.isString||this.stringMode;return(this.text||[]).forEach(function(i,r){if(i){var o=void 0;if(n){var a=i.lastIndexOf("/");o=i.substring(a+1)}e.push({uid:r+"",status:"done",name:n?o:i[t.labelKey],url:t.homeUrl+(n?i:i[t.valueKey])})}}),e}},created:function(){},watch:{},mounted:function(){},methods:{handleClick:function(){"function"==typeof this.click&&this.click({value:this.text,column:this.column})},handleFileChange:function(t,e){e.splice(e.length-1,1),"function"==typeof this.change&&this.change({value:this.text,column:this.column})},handleSuccess:function(t){if(this.isArray||this.isString||this.stringMode)this.text.push(t[this.urlKey]);else if(this.isPictureImg)this.text.splice(0,1,t[this.urlKey]);else{var e={};e[this.labelKey]=t[this.nameKey],e[this.valueKey]=t[this.urlKey],this.text.push(e)}this.$message.success("上传成功")},handleRemove:function(t,e){this.onRemove&&this.onRemove(t,e),this.delete(t),this.$message.success("删除成功")},handleError:function(t){"function"==typeof this.uploadError&&this.uploadError(t,this.column)},delete:function(t){var e=this;this.isArray||this.isString||this.stringMode?(this.text||[]).forEach(function(n,i){n===t.url&&e.text.splice(i,1)}):(this.text||[]).forEach(function(n,i){n[e.valueKey]===t.url&&e.text.splice(i,1)})},show:function(t){this.loading=!1,this.handleSuccess(t)},hide:function(t){this.loading=!1,this.handleError(t)},httpRequest:function(t){var e=this;this.loading=!0;var n=t.file,i=n.type,r=n.size;this.file=t.file;var o=this.acceptList;if(Array.isArray(o)||this.validatenull(o)||(o=o.split(",")),!this.validatenull(o)&&!o.includes(i))return void this.hide("文件类型不符合");if(!this.validatenull(r)&&r>this.fileSize)return void this.hide("文件太大不符合");var a=Object.assign(this.headers,{"Content-Type":"multipart/form-data"}),s={},l={},u=new FormData;for(var h in this.data)u.append(h,this.data[h]);var v=function(){var t=e.action,i=function(i){var r=i||n;if(u.append(e.fileName,r),e.isQiniuOss){if(!window.CryptoJS)return m.default.logs("CryptoJS"),void e.hide();s=e.$AVUE.qiniu;var o=(0,f.getToken)(s.AK,s.SK,{scope:s.scope,deadline:(new Date).getTime()+3600*s.deadline});u.append("token",o),t=s.bucket}else if(e.isAliOss){if(!window.OSS)return m.default.logs("AliOSS"),void e.hide();s=e.$AVUE.ali,l=(0,p.getClient)(s)}(function(){return e.isAliOss?l.put(r.name,r):window.axios?e.$axios.post(t,u,{headers:a}):(m.default.logs("axios"),Promise.reject())})().then(function(t){var n={};e.isQiniuOss&&(t.data.key=s.url+t.data.key),n=e.isAliOss?(0,c.getObjValue)(t,e.resKey,"object"):(0,c.getObjValue)(t.data,e.resKey,"object"),"function"==typeof e.uploadAfter?e.uploadAfter(n,function(){e.show(n)},function(){e.loading=!1},e.column):e.show(n)}).catch(function(t){"function"==typeof e.uploadAfter?e.uploadAfter(t,e.hide,function(){e.loading=!1},e.column):e.hide(t)})};"function"==typeof e.uploadBefore?e.uploadBefore(e.file,i,function(){e.loading=!1},e.column):i()};this.validatenull(this.canvasOption)?v():(0,d.detailImg)(n,this.canvasOption).then(function(t){n=t,v()})},handleExceed:function(t,e){this.$message.warning("当前限制选择 "+this.limit+" 个文件,本次选择了 "+t.length+" 个文件,共上传了 "+(t.length+e.length)+" 个文件")},handlePreview:function(t){var e=this,n=function(){if(e.dialogUrl=t.url,e.typeList.img.test(t.url))return void(e.dialogVisible=!0);e.typeList.video.test(t.url)&&(e.dialogVisible=!0)};"function"==typeof this.uploadPreview?this.uploadPreview(t,this.column,n):n()},handleDelete:function(t){var e=this;this.beforeRemove(t).then(function(){e.text=[]}).catch(function(){})},beforeRemove:function(t){return"function"==typeof this.uploadDelete?this.uploadDelete(this.column,t):this.$confirm("是否确定移除该选项?")}}})},function(t,e,n){"use strict";function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(n,i){function a(e){var i=new Image;i.src=e,i.onload=function(){var e=i.width,r=i.height;s(e,r),o.drawImage(i,0,0,e,r),d(e,r),n((0,l.dataURLtoFile)(document.getElementById("canvas").toDataURL(t.type,c.ratio),t.name))}}function s(t,e){r=document.getElementById("canvas"),null===r&&(r=document.createElement("canvas"),r.id="canvas",r.className="avue-canvas",document.body.appendChild(r)),o=r.getContext("2d"),r.width=t,r.height=e}function d(t,e){var n=c.text,i=f(n,t,e);o.font=i.fontSize+"px "+c.fontFamily,o.fillStyle=c.color,o.globalAlpha=c.opacity/100,o.fillText(n,i.x,i.y)}function f(t,e,n){var i,r,a=c.fontSize/u.width,s=a*e;r=c.bottom?u.height-c.bottom:c.top,i=c.right?u.width-c.right:c.left,o.font=c.fontSize+"px "+c.fontFamily,i-=Number(o.measureText(t).width);var l=i/u.width,d=r/u.height;return i=l*e,r=d*n,{x:i,y:r,fontSize:s}}var p=e.text,h=e.fontFamily,m=e.color,v=e.fontSize,y=e.opacity,b=e.bottom,g=e.right,_=e.ratio;!function(){c.text=p||c.text,c.fontFamily=h||c.fontFamily,c.color=m||c.color,c.fontSize=v||c.fontSize,c.opacity=y||c.opacity,c.bottom=b||c.bottom,c.right=g||c.right,c.ratio=_||c.ratio}(),function(t,e){var n=new FileReader;n.readAsDataURL(t),n.onload=function(t){e(t.target.result)}}(t,a)})}Object.defineProperty(e,"__esModule",{value:!0}),e.watermark=void 0,e.detailImg=i;var r,o,a=n(221),s=function(t){return t&&t.__esModule?t:{default:t}}(a),l=n(5),u={width:200,height:200},c={text:"avue.top",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1};e.watermark=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new s.default(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"sign",props:{width:{type:Number,default:600},height:{type:Number,default:400}},data:function(){return{linex:[],liney:[],linen:[],canvas:{},context:{}}},computed:{styleName:function(){return{width:this.setPx(this.width),height:this.setPx(this.height)}}},mounted:function(){this.init()},methods:{getStar:function(t,e,n){var i=this.canvas,r=this.context,o=i.width/2,a=i.height/2;r.lineWidth=7,r.strokeStyle="#f00",r.beginPath(),r.arc(o,a,110,0,2*Math.PI),r.stroke(),function(t,e,n,i,r,o){t.save(),t.fillStyle=r,t.translate(e,n),t.rotate(Math.PI+o),t.beginPath();for(var a=Math.sin(0),s=Math.cos(0),l=Math.PI/5*4,u=0;u<5;u++){var a=Math.sin(u*l),s=Math.cos(u*l);t.lineTo(a*i,s*i)}t.closePath(),t.stroke(),t.fill(),t.restore()}(r,o,a,20,"#f00",0),r.font="18px 黑体",r.textBaseline="middle",r.textAlign="center",r.lineWidth=1,r.strokeStyle="#f00",r.strokeText(t,o,a+50),r.font="14px 黑体",r.textBaseline="middle",r.textAlign="center",r.lineWidth=1,r.strokeStyle="#f00",r.strokeText(n,o,a+80),r.translate(o,a),r.font="22px 黑体";for(var s,l=e.length,u=4*Math.PI/(3*(l-1)),c=e.split(""),d=0;d0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];return t[e[n]||(this.parentOption.props||{})[n]||n]},dataformat:function(){var t=this;this.columnOption.forEach(function(e){var n=e.prop;t.validatenull(t.form[n])&&(!1===e.multiple?t.$set(t.form,n,""):t.$set(t.form,n,[]))})},getActive:function(t,e){var n=this.getKey(t,e.props,"value");return!1===e.multiple?this.form[e.prop]===n:this.form[e.prop].includes(n)},handleClick:function(t,e){var n=this.getKey(e,t.props,"value");if(!1===t.multiple)this.form[t.prop]=n;else{var i=this.form[t.prop].indexOf(n);-1===i?this.form[t.prop].push(n):this.form[t.prop].splice(i,1)}this.$emit("change",this.form),this.$emit("input",this.form)}}})},function(t,e,n){"use strict";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=(0,o.default)({name:"skeleton",props:{loading:{type:Boolean,default:!0},avatar:Boolean,active:{type:Boolean,default:!0},block:Boolean,number:{type:Number,default:1},rows:{type:Number,default:3}},computed:{styleName:function(){return this.block?{width:"100%"}:{}},className:function(){return i({},"avue-skeleton__loading",this.active)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"tabs",props:{value:{},uploadBefore:Function,uploadAfter:Function,option:{type:Object,required:!0,default:function(){return{}}}},data:function(){return{form:{},tabsForm:{},active:"0",tableOption:{}}},watch:{value:{handler:function(){this.form=this.value},immediate:!0},form:{handler:function(){this.$emit("input",this.form)},deep:!0},active:function(){this.$emit("change",this.tabsObj)}},computed:{tabsPropOptiom:function(){var t=[];return this.tabsObjOption.group.forEach(function(e){e.column.forEach(function(e){t.push(e)})}),t},tabsObjOption:function(){if(this.tabsObj.option){var t=this.deepClone(this.tabsObj.option);return t.group||(t=Object.assign(t,{group:[this.deepClone(t)]})),delete t.column,Object.assign(t,{submitBtn:!1,emptyBtn:!1})}},tabsObj:function(){return this.columnOption[this.active]},parentOption:function(){return this.tableOption},columnOption:function(){return this.parentOption.column||[]},formRef:function(){return this.$refs.form[this.active]}},created:function(){this.tableOption=this.option},methods:{changeTabs:function(t){this.active=t+""},setVal:function(t){var e=this;t.forEach(function(t){var n=t.prop;e.$set(e.tabsForm,n,e.validatenull(e.form[n])?e.formRef.formDefault.tableForm[n]:e.form[n])})},clearValidate:function(){this.formRef.clearValidate()},resetForm:function(){this.formRef.resetForm({part:!0}),this.$emit("reset-change")},validate:function(){var t=this;return new Promise(function(e,n){t.formRef.validate(function(t){t?e():n()})})},submit:function(){var t=this;this.$emit("input",this.form),this.formRef.validate(function(e){e&&(t.tabsForm={},t.tabsObjOption.group.forEach(function(e){t.setVal(e.column)}),t.$emit("submit",t.tabsForm))})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"dynamic",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{hoverList:[]}},props:{children:{type:Object,default:function(){return{}}}},computed:{showIndex:function(){return this.vaildData(this.children.index,!0)},showType:function(){return this.children.type||"crud"},isForm:function(){return"form"===this.showType},isCrud:function(){return"crud"===this.showType},selectionChange:function(){return this.children.selectionChange},rowAdd:function(){return this.children.rowAdd},rowDel:function(){return this.children.rowDel},viewBtn:function(){return!1===this.children.viewBtn},addBtn:function(){return!1===this.children.addBtn},delBtn:function(){return!1===this.children.delBtn},valueOption:function(){var t={};return this.columnOption.forEach(function(e){e.value&&(t[e.prop]=e.value)}),t},rulesOption:function(){var t={};return this.columnOption.forEach(function(e){e.rules&&(t[e.prop]=e.rules)}),t},columnOption:function(){return this.children.column||[]},option:function(){var t=this;return Object.assign({border:!0,header:!1,menu:!1,size:this.size,readonly:this.readonly,disabled:this.disabled,emptyBtn:!1,submitBtn:!1},function(){var e=t.deepClone(t.children);return delete e.column,e}(),function(){var e=[{label:"序号",prop:"$index",display:t.showIndex,detail:!0,fixed:!0,width:50,renderHeader:function(e,n){n.column,n.$index;return t.addBtn||t.readonly?"序号":e("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-plus",disabled:t.disabled,circle:!0},on:{click:t.addRow}})},slot:!0,formslot:!0}];return t.columnOption.forEach(function(n){e.push(Object.assign(n,Object.assign(function(){var e=t.boxType;return n.disabled||n.editDisabled&&"edit"===e||n.addDisabled&&"add"===e?{cell:!1}:{cell:!0}}(),{slot:n.formslot,disabled:t.disabled||t.viewBtn})))}),{column:e}}())}},mounted:function(){this.initData()},watch:{text:function(){this.initData()}},methods:{handleSelectionChange:function(t){this.selectionChange&&this.selectionChange(t)},cellMouseenter:function(t){var e=t.$index;this.mouseoverRow(e)},cellMouseLeave:function(t,e,n,i){var r=t.$index;this.mouseoutRow(r)},validate:function(){var t=this;return new Promise(function(e){var n=[];t.text.forEach(function(e,i){n.push(function(){return new Promise(function(n){t.asyncValidator(t.rulesOption,e).then(function(){n()}).catch(function(t){n(t)})})}())}),Promise.all(n).then(function(n){var i=void 0;n.forEach(function(e,n){t.validatenull(e)||(i||(i={}),i[n]=e)}),e(i)})})},initData:function(){this.text.forEach(function(t,e){t=Object.assign(t,{$cellEdit:!0,$index:e})})},mouseoverRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!0))},mouseoutRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!1))},flagList:function(){this.hoverList.forEach(function(t,e){!1})},delRow:function(t){var e=this,n=function(){e.text.splice(t,1)},i=this.text[t];"function"==typeof this.rowDel?this.rowDel(i,n):n()},addRow:function(){var t=this,e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e=Object.assign(t.valueOption,e,{$index:t.text.length}),t.isCrud?t.$refs.crud.rowCellAdd(e):t.isForm&&t.text.push(e)};"function"==typeof this.rowAdd?this.rowAdd(e):e()}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"queue",props:{enter:{type:String,default:"fadeInLeft"},leave:{type:String,default:"fadeOutRight"},block:{type:Boolean,default:!1},delay:{type:Number,default:0}},data:function(){return{isFixed:0,animate:[]}},mounted:function(){var t=this;this.$nextTick(function(){addEventListener("scroll",t.handleAnimate),t.handleAnimate()})},methods:{handleAnimate:function(){var t=this;(pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)+document.documentElement.clientHeight>this.$refs.queue.offsetTop?setTimeout(function(){t.animate=[t.enter,"avuex-opacity--active"]},this.delay):this.animate=["avuex-opacity"]}},destroyed:function(){removeEventListener("scroll",this.handleAnimate)}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(251),s=i(a);e.default=(0,o.default)({name:"video",props:{background:{type:String},width:{type:[String,Number],default:500}},computed:{styleName:function(){return{width:this.setPx(this.width)}},imgStyleName:function(){return{width:this.setPx(this.width/2)}},borderStyleName:function(){return{width:this.setPx(this.width/15),height:this.setPx(this.width/15),borderWidth:this.setPx(5)}}},data:function(){return{videoObj:null}},mounted:function(){this.init()},methods:{init:function(){var t=this;this.videoObj=new s.default(this.$refs.main),this.videoObj.init().then(function(){t.videoObj.mediaRecorder.addEventListener("stop",t.getData,!1)})},startRecord:function(){this.videoObj.startRecord()},stopRecord:function(){this.videoObj.stopRecord()},getData:function(){var t=this,e=new Blob(this.videoObj.chunks,{type:"video/mp4"}),n=new FileReader;n.readAsDataURL(e),n.addEventListener("loadend",function(){var e=n.result;t.$emit("data-change",e)})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i),o="{{time}}s后重获取";e.default=(0,r.default)({name:"login",props:{codesrc:{type:String},option:{type:Object,default:function(){return{}}}},computed:{labelWidth:function(){return this.option.labelWidth||80},time:function(){return this.option.time||60},isImg:function(){return"img"===this.codeType},isPhone:function(){return"phone"===this.codeType},codeType:function(){return this.option.codeType||"img"},width:function(){return this.option.width||"100%"},username:function(){return this.column.username||{}},password:function(){return this.column.password||{}},code:function(){return this.column.code||{}},column:function(){return this.option.column||{}},sendDisabled:function(){return!this.validatenull(this.check)}},data:function(){return{text:"",nowtime:"",check:{},flag:!1,form:{}}},created:function(){this.text="发送验证码"},methods:{onSend:function(){var t=this,e=function(){t.nowtime=t.time,t.text=o.replace("{{time}}",t.nowtime),t.check=setInterval(function(){t.nowtime--,0===t.nowtime?(t.text="发送验证码",clearInterval(t.check),t.check=null):t.text=o.replace("{{time}}",t.nowtime)},1e3)};this.sendDisabled||this.$emit("send",e)},onRefresh:function(){this.$emit("refresh")},onSubmit:function(){var t=this,e=function(){var e={};for(var n in t.form){var i=n;t[n].prop&&(i=t[n].prop),e[i]=t.form[n]}return e};this.$refs.form.validate(function(n){n&&t.$emit("submit",e())})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=i(r),a=n(3),s=i(a),l=n(4),u=i(l);e.default=(0,o.default)({name:"array",mixins:[(0,s.default)(),(0,u.default)()],data:function(){return{text:[]}},computed:{isImg:function(){return"img"===this.type},isUrl:function(){return"url"===this.type}},props:{alone:Boolean,type:String,size:String,placeholder:String,readonly:Boolean,disabled:Boolean,value:[Array,String]},methods:{add:function(){this.text.push("")},remove:function(t){this.text.splice(t,1)},openImg:function(t){var e=this.text.map(function(t){return{thumbUrl:t,url:t}});this.$ImagePreview(e,t)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"text-ellipsis",props:{text:String,height:Number,width:Number,isLimitHeight:{type:Boolean,default:!0},useTooltip:{type:Boolean,default:!1},placement:String},data:function(){return{keyIndex:0,oversize:!1,isHide:!1}},watch:{isLimitHeight:function(){this.init()},text:function(){this.init()},height:function(){this.init()}},mounted:function(){this.init()},methods:{init:function(){this.oversize=!1,this.keyIndex+=1,this.$refs.more.style.display="none",this.isLimitHeight&&this.limitShow()},limitShow:function(){var t=this;this.$nextTick(function(){var e=t.$refs.text,n=t.$el,i=t.$refs.more,r=1e3;if(e)if(n.offsetHeight>t.height){i.style.display="inline-block";for(var o=t.text;n.offsetHeight>t.height&&r>0;)n.offsetHeight>3*t.height?e.innerText=o=o.substring(0,Math.floor(o.length/2)):e.innerText=o=o.substring(0,o.length-1),r--;t.$emit("hide"),t.isHide=!0}else t.$emit("show"),t.isHide=!1})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-tabs",data:function(){return{}},computed:{animation:function(){return this.option.animation},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-cardtext",data:function(){return{}},computed:{icon:function(){return this.option.icon},color:function(){return this.option.color||"#333"},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-box",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-progress",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-icons",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||4},data:function(){return this.option.data},color:function(){return this.option.color||"rgb(63, 161, 255)"},discount:function(){return this.option.discount||!1}},props:{option:{type:Object,default:function(){}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-card",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},colorText:function(){return this.option.colorText||"#fff"},bgText:function(){return this.option.bgText||"#2e323f"},borderColor:function(){return this.option.borderColor||"#2e323f"}},created:function(){},mounted:function(){},watch:{},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-display",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-imgtext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-operatext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-rotate",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-pay",props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-price",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data}},props:{option:{type:Object,default:function(){}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"data-panel",data:function(){return{}},computed:{decimals:function(){return this.option.decimals||0},animation:function(){return this.option.animation},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"bar",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:this.ishasprop(this.formatter,{formatter:function(e){return t.formatter(e,t.dataChart)}},{textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"vertical",x:this.option.legendPostion||"left",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:function(){return(e.series||[]).map(function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n,!0)},{})}})}()},xAxis:{type:this.option.category?"value":"category",name:this.option.xAxisName,axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},data:e.categories||[],inverse:this.vaildData(this.option.xAxisInverse,!1),show:this.vaildData(this.option.xAxisShow,!0),splitLine:{show:this.vaildData(this.option.xAxisSplitLineShow,!1)},axisLabel:{interval:this.option.xAxisinterval||"auto",rotate:this.option.xAxisRotate||0,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{type:this.option.category?"category":"value",name:this.option.yAxisName,data:e.categories||[],axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}},axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},inverse:this.vaildData(this.option.yAxisInverse,!1),show:this.vaildData(this.option.yAxisShow,!0),splitLine:{show:this.vaildData(this.option.yAxisSplitLineShow,!0)}},series:function(){t.option.barColor;return(e.series||[]).map(function(e,n){return Object.assign(e,{type:"bar",stack:e.stack,barWidth:t.option.barWidth||16,barMinHeight:t.option.barMinHeight||0,itemStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n)},{barBorderRadius:t.option.barRadius||0}),label:{show:t.vaildData(t.option.labelShow,!1),position:"top",formatter:function(e){return t.getLabelFormatter(e)},textStyle:{fontSize:t.option.labelShowFontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})})}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"pie",computed:{labelShow:function(){return this.vaildData(this.option.labelShow,!1)},x2:function(){return this.option.gridX2||20},fontSize:function(){return this.option.fontSize||14}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart)||[],n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:function(){return Object.assign(function(){return t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{}}(),{textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}})}(),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"vertical",x:this.option.legendPostion||"left",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:function(){return e.map(function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n,!0)},{})}})}()},series:function(){t.option.barColor;return[{type:"pie",roseType:t.option.roseType?"radius":"",radius:t.option.radius?["40%","55%"]:"50%",center:["50%","60%"],animationType:"scale",animationEasing:"elasticOut",animationDelay:function(t){return 200*Math.random()},label:{normal:{show:t.labelShow,formatter:"{b}:{c}({d}%)",textStyle:{fontSize:t.fontSize}}},data:function(){var n=e;return t.option.notCount&&(n=n.filter(function(t){if(0!==t.value&&t.value)return!0})),t.option.sort&&n.sort(function(t,e){return t.value-e.value}),n}(),itemStyle:t.ishasprop(!t.switchTheme,{color:function(e){return t.getColor(e.dataIndex)}},{emphasis:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}})}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"line",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:function(){return Object.assign(function(){return t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{}}(),{backgroundColor:"rgba(0,0,0,1)",trigger:"axis",textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}})}(),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"horizontal",x:this.option.legendPostion||"right",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:function(){return(e.series||[]).map(function(e,n){return{name:e.name,textStyle:{color:t.getColor(n,!0)}}})}()},xAxis:{type:this.option.category?"value":"category",name:this.option.xAxisName,axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},data:e.categories||[],inverse:this.vaildData(this.option.xAxisInverse,!1),show:this.vaildData(this.option.xAxisShow,!0),splitLine:{show:this.vaildData(this.option.xAxisSplitLineShow,!1)},axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{type:this.option.category?"category":"value",name:this.option.yAxisName,data:e.categories||[],axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}},axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},inverse:this.vaildData(this.option.yAxisInverse,!1),show:this.vaildData(this.option.yAxisShow,!0),splitLine:{show:this.vaildData(this.option.yAxisSplitLineShow,!0)}},series:function(){return(e.series||[]).map(function(e,n){return Object.assign(e,{type:"line",smooth:!0,symbolSize:t.option.symbolSize||10,areaStyle:function(){if(t.option.areaStyle)return{opacity:.7}}(),lineStyle:{width:t.option.lineWidth||1},itemStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n)},{}),label:{show:t.vaildData(t.option.labelShow,!1),position:"top",formatter:function(e){return t.getLabelFormatter(e)},textStyle:{fontSize:t.option.labelShowFontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})})}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r,o=n(2),a=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default=(0,a.default)({name:"table",data:function(){return{visible:!1,listVisible:!1,columnData:[],indexWidth:50,top:0,prop:"",scrollCheck:"",activeIndex:0,query:{}}},watch:(r={scrollCount:function(){this.setTime()},count:function(){this.setTime()},scrollTime:function(){this.setTime()}},i(r,"count",function(){this.setTime()}),i(r,"scroll",{handler:function(t){this.setTime()},immediate:!0}),r),created:function(){var t=this;this.columnList.forEach(function(e){t.columnShowList.includes(e.value)||t.columnData.push(e.value)})},computed:{listOption:function(){var t=this;return Object.assign({align:"center",headerAlign:"center",size:"mini",menu:!1,header:!1,height:500,sumText:"合计",showSummary:!0,column:this.option.column},function(){return{sumColumnList:t.totalList.map(function(t){return{name:t,type:"sum"}})}}())},totalList:function(){return this.option.totalList||[]},totalFlag:function(){return!this.validatenull(this.totalList)},totalData:function(){var t=this,e={};return this.totalList.forEach(function(n){t.dataChart.forEach(function(t){e[n]=(e[n]||0)+Number(t[n]),e[n]=Number(e[n].toFixed(2))})}),e},columnList:function(){var t=this;return this.columnOption.map(function(e){return!t.columnShowWhite.includes(e.prop)&&{label:e.label,value:e.prop}}).filter(function(t){return t.value})},columnShow:function(){return this.option.columnShow},columnListShow:function(){return this.option.columnListShow},columnShowWhite:function(){return this.option.columnShowWhite||[]},columnShowList:function(){return this.option.columnShowList||[]},dataTabelLen:function(){return this.dataChart.length},dataTabel:function(){var t=this.dataChart;return this.validatenull(this.prop)||(t=this.sortArrys(t,this.prop)),t},allHeight:function(){var t=this.count-(this.totalFlag?2:1);return(this.dataChartLen-t)*this.lineHeight},count:function(){return(this.option.count||10)+1},dataChartLen:function(){return(this.dataChart||[]).length},lineHeight:function(){return parseInt(this.height/this.count)},index:function(){return this.option.index},scroll:function(){return this.option.scroll},scrollTime:function(){return this.option.scrollTime||5e3},indexLabel:function(){return this.option.indexLabel||"排名"},line:function(){return this.option.line},fontSize:function(){return this.option.fontSize||14},scrollCount:function(){return this.option.scrollCount||this.count},speed:function(){return this.scrollCount*this.lineHeight},styleThName:function(){return{fontSize:this.setPx(this.fontSize),textAlign:this.option.headerTextAlign||"center",background:this.option.headerBackground||"rgba(0, 0, 0, 0.01)",color:this.option.headerColor||"rgba(154, 168, 212, 1)"}},columnOption:function(){return this.crudOption.column||[]},styleTdName:function(){return{fontSize:this.setPx(this.fontSize),lineHeight:this.setPx(this.lineHeight),textAlign:this.option.bodyTextAlign||"center",background:this.option.bodyBackground||"rgba(0, 0, 0, 0.01)",color:this.option.bodyColor||"rgba(154, 168, 212, 1)",borderColor:this.option.borderColor||"rgba(51, 65, 107, 1)"}},styleMenuName:function(){return{color:this.option.headerColor||"rgba(154, 168, 212, 1)"}},sortableProp:function(){return this.option.sortableProp||"order"},crudOption:function(){return Object.assign(this.option,{menu:!1,align:"center",headerAlign:"center",header:!1})}},props:{option:{type:Object,default:function(){return{}}}},methods:{styleWidth:function(t){return{width:this.setPx(t.width),flex:t.width?"auto":1}},resetData:function(){this.top=0},handleSortable:function(t){this.propQuery[this.sortableProp]=t,this.updateData()},setTime:function(){var t=this;this.top=0,clearInterval(this.scrollCheck),setTimeout(function(){t.scroll&&(t.scrollCheck=setInterval(function(){t.top<=-t.allHeight?t.top=0:t.top=t.top-t.speed},t.scrollTime))},2e3)},styleTrName:function(t){var e={lineHeight:this.setPx(this.lineHeight)};return e.background=t%2==0?this.option.othColor:this.option.nthColor,e},rowClick:function(t,e){this.clickFormatter({type:e,value:t,data:this.dataChart})},handleClick:function(t,e){this.activeIndex=e,this.query.type=t,this.updateData()}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"flop",data:function(){return{statusDIC:[".",","]}},computed:{isArray:function(){return Array.isArray(this.dataChart)},decimals:function(){return this.option.decimals||0},listData:function(){return this.isArray?this.dataChart:[this.dataChart]},isWhole:function(){return this.vaildData(this.option.whole,!1)},type:function(){return this.option.type},isBorder:function(){return"border"===this.type},isImg:function(){return"img"===this.type},span:function(){return this.option.span||1},prefixStyle:function(){return{display:this.option.prefixInline?"inline-block":"block",textAlign:this.option.prefixTextAlign,marginBottom:this.setPx(this.option.prefixSplity),marginRight:this.setPx(this.option.prefixSplitx),color:this.option.prefixColor||"#fff",fontSize:this.setPx(this.option.prefixFontSize||24)}},suffixStyle:function(){return{display:this.option.suffixInline?"inline-block":"block",textAlign:this.option.suffixTextAlign,marginTop:this.setPx(this.option.suffixSplity),marginLeft:this.setPx(this.option.suffixSplitx),color:this.option.suffixColor||"#fff",fontSize:this.setPx(this.option.suffixFontSize||24)}},styleParentSize:function(){var t={boxSizing:"border-box",display:"inline-block",width:100/this.span-1+"%"};return this.option.splitx&&(t.paddingRight=this.setPx(this.option.splitx)),this.option.splity&&(t.paddingBottom=this.setPx(this.option.splity)),t},styleParentName:function(){var t={};return this.isImg||this.isBorder||(t=Object.assign(t,{backgroundImage:"url("+this.option.backgroundImage+")",backgroundColor:this.option.backgroundColor})),this.option.padding&&(t.padding=this.setPx(this.option.padding)),t},styleName:function(){var t=this;return Object.assign(function(){var e={};return t.option.splitx&&(e.marginRight=t.setPx(t.option.splitx)),t.option.splity&&(e.marginBottom=t.setPx(t.option.splity)),t.option.backgroundImage&&(e=Object.assign(e,{backgroundImage:"url("+t.option.backgroundImage+")",backgroundSize:"100% 100%"})),e}(),{textAlign:this.option.textAlign,backgroundColor:this.option.backgroundColor,color:this.option.color||"#fff",fontSize:this.setPx(this.option.fontSize||64),fontWeight:this.option.fontWeight},function(){return"img"===t.type?{borderImageSource:"url("+t.option.backgroundBorder+")"}:"border"===t.type?{borderColor:t.option.borderColor||"#fff",borderStyle:"solid",borderWidth:t.setPx(t.option.borderWidth)}:void 0}())}},props:{option:{type:Object,default:function(){return{}}}},created:function(){},methods:{handleClick:function(t,e){this.clickFormatter({type:e,value:t,data:this.dataChart})},getValByArray:function(t,e){return this.isArray?t[e]:this.option[e]}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(16),o=i(r),a=n(14),s=n(2),l=i(s);e.default=(0,l.default)({name:"datetime",data:function(){return{date:new Date}},computed:{nowDate:function(){if("day"===this.option.format)return"星期"+(0,a.getDayText)();var t=(this.option.format||"yyyy-MM-dd hh:mm:ss").replace("dd","DD").replace("yyyy","YYYY");return(0,o.default)(this.date).format(t)},styleName:function(){return{width:"100%",height:"100%",textAlign:this.option.textAlign,letterSpacing:this.setPx(this.option.split),textIndent:this.setPx(this.option.split),backgroundColor:this.option.backgroundColor,fontWeight:this.option.fontWeight||"normal",fontSize:(this.option.fontSize||30)+"px",color:this.option.color||"#333"}}},created:function(){var t=this;setInterval(function(){t.date=new Date},1e3)},props:{option:{type:Object,default:function(){return{}}}},methods:{handleClick:function(){this.clickFormatter({data:this.dataChart})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"text",data:function(){return{check:"",date:new Date,left:0}},computed:{scroll:function(){return this.vaildData(this.option.scroll,!1)},linkHref:function(){return this.option.linkHref||"#"},linkTarget:function(){return this.option.linkTarget||"_self"},step:function(){return this.option.step||5},speed:function(){return this.option.speed||100},lineHeight:function(){return this.option.lineHeight||40},fontSize:function(){return this.option.fontSize||30},split:function(){return this.option.split},textWidth:function(){return(this.dataChart.value||"").length*this.fontSize},styleName:function(){return{width:this.scroll?this.setPx(this.textWidth):"auto",transform:"translateX("+this.left+"px)",textAlign:this.option.textAlign,letterSpacing:this.setPx(this.split),textIndent:this.setPx(this.split),backgroundColor:this.option.backgroundColor,fontWeight:this.option.fontWeight||"normal",fontSize:this.fontSize+"px",lineHeight:this.lineHeight+"px",color:this.option.color||"#333"}}},watch:{scroll:function(){this.move()},speed:function(){this.move()}},created:function(){var t=this;setInterval(function(){t.date=new Date},1e3)},mounted:function(){this.move()},methods:{handleClick:function(){this.clickFormatter({data:this.dataChart})},move:function(){var t=this;clearInterval(this.check),this.scroll?this.check=setInterval(function(){t.left<-t.textWidth&&(t.left=t.width),t.left=t.left-t.step},this.speed):this.left=0}},props:{option:{type:Object,default:function(){return{}}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"swiper",data:function(){return{}},computed:{styleName:function(){return{opacity:this.opacity}},indicator:function(){return this.opacity.indicator||"none"},opacity:function(){return.01*(this.option.opacity||100)},type:function(){return this.option.type||""},interval:function(){return this.option.interval||5e3}},created:function(){},mounted:function(){},methods:{handleClick:function(t,e){this.clickFormatter({type:e,value:t,data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"iframe",data:function(){return{}},computed:{},created:function(){},mounted:function(){},methods:{handleClick:function(){this.clickFormatter({data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"video",data:function(){return{}},computed:{},created:function(){},mounted:function(){},methods:{handleClick:function(){this.clickFormatter({type:index,value:item,data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"wordcloud",methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart)||[],n={series:[{type:"wordCloud",left:"center",top:"center",width:"100%",height:"100%",right:null,bottom:null,sizeRange:function(){return[t.option.minFontSize||12,t.option.maxFontSize||60]}(),rotationRange:function(){return t.option.rotate?[-90,90]:[0,0]}(),rotationStep:function(){return t.option.rotate?45:0}(),gridSize:this.option.split||30,drawOutOfBound:!1,textStyle:{normal:{fontFamily:"sans-serif",fontWeight:"bold",color:function(){return"rgb("+[Math.round(160*Math.random()),Math.round(160*Math.random()),Math.round(160*Math.random())].join(",")+")"}},emphasis:{shadowBlur:10,shadowColor:"#333"}},data:e}]};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"gauge",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},series:[{name:"业务指标",type:"gauge",detail:{fontSize:this.option.valueFontSize||30,formatter:"{value}"+e.unit},min:e.min,max:e.max,axisLine:{lineStyle:{color:function(){var e=[];return(t.option.barColor||[]).forEach(function(t){e.push([t.postion,t.color1])}),t.validatenull(e)&&(e=[[0,2,"#91c7ae"],[.8,"#638693"],[1,"#c23531"]]),e}(),width:this.option.lineSize||5}},axisLabel:{show:this.vaildData(this.option.axisLabelShow,!0),fontSize:this.option.axisLabelFontSize||25},axisTick:{lineStyle:{color:this.option.lineColor||"#eee"}},title:{color:this.option.nameColor,fontSize:this.option.nameFontSize||20},data:[e]}]};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"progress",computed:{styleSuffixName:function(){return{fontWeight:this.option.suffixFontWeight||"normal",fontSize:(this.option.suffixFontSize||40)+"px",color:this.option.suffixColor||"#333"}},styleName:function(){return{marginBottom:this.option.split+"px",fontWeight:this.option.fontWeight||"normal",fontSize:(this.option.fontSize||40)+"px",color:this.option.color||"#333"}},type:function(){return this.option.type||"line"},color:function(){return this.option.borderColor||"#333"},strokeWidth:function(){return this.option.strokeWidth||14}},props:{option:{type:Object,default:function(){return{}}}},methods:{handleClick:function(){this.clickFormatter({data:this.dataChart})}}})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var o=n(2),a=i(o),s=n(6),l=i(s);e.default=(0,a.default)({name:"map",data:function(){return{bannerCount:0,bannerCheck:"",move:!1,step:1,startLeft:0,startTop:0,baseScale:0,left:0,top:0,centerData:[],zoomData:1}},watch:{mapData:function(){this.updateChart()},dataChartLen:function(){this.setBanner()},bannerTime:function(){this.setBanner()},banner:{handler:function(){this.setBanner()},immediate:!0},type:function(){var t=this;this.isEchart&&this.$nextTick(function(){t.init(),t.updateData()})},width:function(){this.updateData()},height:function(){this.updateData()},zoom:{handler:function(){this.zoomData=this.zoom},immediate:!0},zoomData:{handler:function(){this.updateData()},immediate:!0},scale:{handler:function(t){this.baseScale=t},immediate:!0}},computed:{zoomShow:function(){return this.option.zoomShow||1},zoom:function(){return this.option.zoom||1},mapData:function(){return this.option.mapData||{}},borderWidth:function(){return this.option.borderWidth||3},borderColor:function(){return this.option.borderColor||"#389BB7"},areaColor:function(){return this.option.areaColor||"#0c162f"},empColor:function(){return this.option.empColor||"#fff"},empAreaColor:function(){return this.option.empAreaColor||"yellow"},color:function(){return this.option.color||"#fff"},fontSize:function(){return this.option.fontSize||24},isEchart:function(){return 0===this.type},bannerTime:function(){return this.option.bannerTime||3e3},banner:function(){return this.option.banner},scale:function(){return this.option.scale||100},styleImgName:function(){return{marginLeft:this.setPx(this.left),marginTop:this.setPx(this.top),transform:"scale("+this.baseScale/100+", "+this.baseScale/100+")"}},location:function(){return this.option.location||[]},img:function(){return this.option.img},type:function(){return this.option.type},locationData:function(){var t=this;return(this.dataChart||[]).map(function(e){e.zoom=e.zoom||1;var n=t.zoomData<1?1:t.zoomData;return Object.assign(function(){return e.zoom<=n?{name:e.name}:{}}(),{value:[e.lng,e.lat,e.value]})})}},methods:{docMouseUp:function(){var t=this;window.document.onmouseup=function(e){window.document.onmousemove=void 0,t.move=!1}},handleMouseDown:function(t){this.move=!0,this.startLeft=t.clientX,this.startTop=t.clientY,this.docMouseUp()},handleMouseMove:function(t){var e=this;this.move&&(window.document.onmousemove=function(t){var n=t.clientX,i=t.clientY;e.left=e.left+(n-e.startLeft)*e.step,e.top=e.top+(i-e.startTop)*e.step,e.startLeft=n,e.startTop=i})},handleMouseUp:function(){this.move=!1},handleMousewheel:function(t){var e=t.deltaY;this.baseScale=e>0?this.baseScale+10:this.baseScale-10},resetBanner:function(){var t=this;this.$nextTick(function(){t.myChart.dispatchAction({type:"hideTip"})})},setBanner:function(){var t=this;clearInterval(this.bannerCheck),this.banner&&(this.bannerCheck=setInterval(function(){var e=t.bannerCount%t.dataChartLen;t.myChart.dispatchAction({type:"showTip",seriesIndex:"0",dataIndex:e}),t.myChart.dispatchAction({type:"downplay"}),t.myChart.dispatchAction({type:"highlight",dataIndex:e}),t.bannerCount+=1},this.bannerTime))},updateChart:function(){var t=this;if(!window.axios)return void l.default.logs("axios");this.$axios(this.mapData).then(function(e){var n,i=e.data,o=t.deepClone(i);window.echarts.registerMap("HK",o);var a={tooltip:function(){return Object.assign(function(){return t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{}}(),{backgroundColor:t.option.tipBackgroundColor||"rgba(0,0,0,1)",textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"red"}})}(),geo:Object.assign(function(){return t.validatenull(t.centerData)?{}:{center:t.centerData}}(),(n={map:"HK",label:{emphasis:{show:!1}},zoom:t.zoomData,layoutCenter:["50%","50%"],layoutSize:1200,roam:!0},r(n,"label",{show:!0,fontSize:t.fontSize,color:t.color}),r(n,"left",t.option.gridX),r(n,"top",t.option.gridY),r(n,"right",t.option.gridX2),r(n,"bottom",t.option.gridY2),r(n,"emphasis",{label:{color:t.empColor},itemStyle:{areaColor:t.empAreaColor}}),r(n,"itemStyle",{borderWidth:t.borderWidth,borderColor:t.borderColor,areaColor:t.areaColor}),n)),series:[{type:"effectScatter",coordinateSystem:"geo",showEffectOn:"emphasis",rippleEffect:{brushType:"fill",scale:4},symbolSize:t.fontSize,hoverAnimation:!0,data:t.locationData,label:{show:!0,position:["130%","0"],fontSize:t.fontSize,color:t.color,formatter:function(t){return t.name}},itemStyle:{color:t.color},emphasis:{label:{show:!0,fontSize:t.fontSize+20,color:t.option.empColor},itemStyle:{color:t.option.empColor}}}]};t.myChart.on("mouseover",function(){clearInterval(t.bannerCheck),t.resetBanner()}),t.myChart.on("mouseout",function(){t.bannerCount=0,t.setBanner()}),t.myChart.on("georoam",function(e){var n=t.myChart.getOption(),i=n.geo[0];t.centerData=i.center,t.zoomData=i.zoom,t.zoomData<1&&(t.zoomData=1)}),t.myChart.resize(),t.myChart.setOption(a,!0)})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"img",computed:{styleImgName:function(){var t=this;return Object.assign(function(){return t.rotate?{animationDuration:t.duration/1e3+"s"}:{}}(),{opacity:this.option.opacity||1})},duration:function(){return this.option.duration||3e3},rotate:function(){return this.option.rotate}},methods:{handleClick:function(){this.clickFormatter({data:this.dataChart})}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"imgborder",computed:{styleImgName:function(){var t=this;return Object.assign({width:"100%",height:"100%",backgroundColor:this.option.backgroundColor||"rgba(180, 181, 198, 0.1)",backgroundClip:"padding-box",opacity:this.option.opacity||1,filter:"blur(0px)"},function(){return t.validatenull(t.dataChart)?{}:{borderImageSource:"url("+t.dataChart+")",borderImageSlice:"10 16 15 10 fill",borderWidth:"10px 16px 15px 10px",borderStyle:"solid",boxSizing:"border-box"}}())}},methods:{}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"tabs",data:function(){return{active:""}},watch:{active:function(t){t&&this.handleClick(t)},dataChart:{handler:function(t){0!==t.length&&(this.active=t[0].value)},immediate:!0}},computed:{isSelect:function(){return"select"===this.type},type:function(){return this.option.type},paramName:function(){return this.option.paramName},iconSize:function(){return this.option.iconSize||20},styleSelectName:function(){return Object.assign({fontSize:this.setPx(this.option.fontSize||30)},this.styleSizeName)},styleIconName:function(){return Object.assign({marginRight:this.setPx(this.option.iconSplit),width:this.setPx(this.option.iconSize),height:this.setPx(this.option.iconSize)})},styleName:function(){var t=this;return Object.assign(function(){return t.option.backgroundImage?{backgroundImage:"url("+t.option.backgroundImage+")",backgroundSize:"100% 100%"}:{}}(),{borderColor:this.option.borderColor||"#fff",borderStyle:"solid",borderWidth:this.setPx(this.option.borderWidth||0),margin:"0 "+this.setPx(this.option.split),backgroundColor:this.option.backgroundColor,fontSize:this.setPx(this.option.fontSize||30),color:this.option.color})}},created:function(){},mounted:function(){},methods:{styleIconBgName:function(t){if(t.icon)return{backgroundImage:"url("+t.icon+")",backgroundSize:"100% 100%"}},styleIconActiveName:function(t){if(this.active==t.value&&t.empIcon)return{backgroundImage:"url("+t.empIcon+")",backgroundSize:"100% 100%"}},styleActiveName:function(t){var e=this;if(this.active==t.value)return Object.assign(function(){return e.option.empBackgroundImage?{backgroundImage:"url("+e.option.empBackgroundImage+")",backgroundSize:"100% 100%"}:{}}(),{borderColor:this.option.empBorderColor||"#fff",borderStyle:"solid",borderWidth:this.setPx(this.option.empBorderWidth||0),color:this.option.empColor})},handleClick:function(t){this.active=t,this.click({type:this.name,child:this.child,value:this.active})}},props:{option:{type:Object,default:function(){return{}}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"slide",data:function(){return{reload:!0}},mounted:function(){this.init()},computed:{delay:function(){return this.option.delay||3e3},autoplay:function(){return this.vaildData(this.option.autoplay,!1)}},watch:{option:{handler:function(){var t=this;this.reload=!1,this.$nextTick(function(){t.reload=!0,t.init()})},deep:!0}},methods:{init:function(){var t=this;new Swiper(".swiper-container",Object.assign(function(){return t.autoplay?{autoplay:{delay:t.delay,disableOnInteraction:!1}}:{}}(),{spaceBetween:80,pagination:{el:".swiper-pagination",clickable:!0},observer:!0,observeParents:!0}))}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"pictorialbar",methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n=this.validatenull(this.option.symbol)?"":"image://"+this.option.symbol,i=this.option.color||"#fff",r=this.option.fontSize||20,o=0;e.forEach(function(t){t.value>o&&(o=t.value)});var a={tooltip:function(){return Object.assign(function(){return t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{}}(),{textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}})}(),xAxis:{show:this.vaildData(this.option.xAxisShow,!0),max:o,splitLine:{show:!1},offset:10,axisTick:{show:!1},axisLine:{show:!1},axisLabel:{margin:10,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{data:function(){return e.map(function(t){return t.name})}(),show:this.vaildData(this.option.yAxisShow,!0),inverse:!0,axisTick:{show:!1},axisLine:{show:!1},axisLabel:{margin:10,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}}},grid:{top:"center",height:10*Number(this.option.split),left:this.option.gridX||70,right:this.option.gridX2||100},series:[{type:"pictorialBar",symbol:n,symbolRepeat:"fixed",symbolMargin:"5%",symbolClip:!0,symbolSize:this.option.symbolSize||30,symbolBoundingData:o,data:function(){return e.map(function(t){return t.value})}()},{type:"pictorialBar",itemStyle:{normal:{opacity:.2}},label:{normal:{show:!0,position:"right",offset:[10,0],textStyle:{color:i,fontSize:r}}},animationDuration:0,symbol:n,symbolRepeat:"fixed",symbolMargin:"5%",symbolSize:30,symbolBoundingData:o,data:function(){return e.map(function(t){return t.value})}()}]};this.myChart.resize(),this.myChart.setOption(a,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"radar",x2:function(){return this.option.gridX2||"80%"},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:function(){return Object.assign(function(){return t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{}}(),{backgroundColor:t.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:t.option.tipFontSize||14,color:t.option.tipColor||"#fff"}})}(),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),top:0,x:this.option.legendPostion||"right",right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:function(){return(e.series[0].data||[]).map(function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.option.switchTheme,{color:t.getColor(n,!0)},{})}})}()},radar:{name:{fontSize:this.option.radarNameSize||12,color:this.option.radarNameColor||"#333"},indicator:e.indicator||[],shape:this.option.shape||"polygon",radius:this.option.radius||"75%"},series:function(){t.option.barColor;return[{type:"radar",barWidth:t.option.barWidth||16,barMinHeight:t.option.barMinHeight||0,itemStyle:{barBorderRadius:t.option.barRadius||0},data:function(){return(e.series[0].data||[]).map(function(e,n){return{name:e.name,value:e.value,label:{show:t.vaildData(t.option.labelShow,!1),textStyle:{fontSize:t.option.fontSize||14,color:t.getColor(n),fontWeight:t.option.labelShowFontWeight||500}},areaStyle:{color:t.getColor(n),opacity:t.option.areaOpacity||.9}}})}()}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"funnel",computed:{x2:function(){return this.option.gridX2||20},fontSize:function(){return this.option.fontSize||14}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:this.ishasprop(this.formatter,{formatter:function(e){return t.formatter(e,t.dataChart)}},{backgroundColor:this.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"horizontal",top:0,x:this.option.legendPostion||"right",right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:function(){return e.map(function(t,e){return t.name})}()},series:function(){t.option.barColor;return[{type:"funnel",animationDelay:function(t){return 200*Math.random()},label:{show:t.vaildData(t.option.labelShow,!1),fontSize:t.fontSize},data:function(){var n=e;return t.option.notCount&&(n=n.filter(function(t){if(0!==t.value&&t.value)return!0})),t.option.sort&&n.sort(function(t,e){return t.value-e.value}),n}(),itemStyle:t.ishasprop(!t.switchTheme,{normal:{color:function(e){return t.getColor(e.dataIndex)}}},{emphasis:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}})}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"scatter",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:{formatter:this.option.formatter||"",backgroundColor:this.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}},grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},xAxis:{splitLine:{lineStyle:{type:"dashed"}}},yAxis:{splitLine:{lineStyle:{type:"dashed"}}},series:function(){t.option.barColor;return(e||[]).map(function(e,n){return Object.assign(e,{type:"scatter",itemStyle:{color:t.getColor(n)},label:{show:t.vaildData(t.option.labelShow,!1),position:"top",textStyle:{fontSize:t.option.fontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})})}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"common",methods:{updateChart:function(){var t=this.deepClone(this.dataChart)||[],e=this.echartFormatter(t);this.myChart.resize(),this.myChart.setOption(e,!0)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=(0,r.default)({name:"image-preview",data:function(){return{left:0,top:0,scale:1,datas:[],rotate:0,isShow:!1,index:0,onClose:null}},computed:{styleBoxName:function(){return{marginLeft:this.setPx(this.left),marginTop:this.setPx(this.top)}},styleName:function(){return{transform:"scale("+this.scale+") rotate("+this.rotate+"deg)",maxWidth:"100%",maxHeight:"100%"}},isRrrow:function(){return 1!=this.imgLen},imgLen:function(){return this.imgList.length},imgList:function(){return this.datas.map(function(t){return t.url})}},methods:{handleChange:function(){this.scale=1,this.rotate=0},move:function(t){var e=this,n=t.clientX,i=t.clientY;document.onmousemove=function(t){var r=t.clientX-n,o=t.clientY-i;n=t.clientX,i=t.clientY,e.left=e.left+r,e.top=e.top+o},document.onmouseup=function(t){document.onmousemove=null,document.onmouseup=null}},close:function(){this.isShow=!1,"function"==typeof this.onClose&&this.onClose(this)}}})},function(t,e,n){t.exports=n(121)},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var r=n(122),o=i(r),a=n(9),s=n(5),l=n(335),u=i(l),c=n(336),d=i(c),f=n(67);n(339);var p=n(24),h=i(p),m=n(28),v=i(m),y=n(340),b=i(y),g=n(341),_=i(g),x=n(342),w=i(x),S=n(343),C=i(S),k=n(345),O=i(k),M={$Print:w.default,$Clipboard:_.default,$Log:h.default,$NProgress:C.default,$Screenshot:b.default,deepClone:s.deepClone,dataURLtoFile:s.dataURLtoFile,isJson:s.isJson,setPx:s.setPx,vaildData:s.vaildData,sortArrys:s.sortArrys,findArray:s.findArray,validatenull:a.validatenull,watermark:f.watermark,asyncValidator:a.asyncValidator,findObject:s.findObject},P=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.use(d.default),t.directive("dialogdrag",u.default),Object.keys(o.default).map(function(e){var n=o.default[e];t.component(n.name,n)}),Object.keys(M).forEach(function(e){t.prototype[e]=M[e]}),v.default.use(e.locale),v.default.i18n(e.i18n),t.prototype.$axios=e.axios||window.axios,t.prototype.$ImagePreview=(0,O.default)(t),"dark"===e.theme&&(document.documentElement.className="avue-theme--dark"),t.prototype.$AVUE={ui:function(){return window.antd?(t.prototype.moment=window.moment,{name:"antd",type:"a"}):window.Element?{name:"element-ui",type:"el"}:void 0}(),size:e.size||"small",tableSize:e.tableSize,formSize:e.formSize,menuType:e.menuType||"text",canvas:Object.assign({text:"avuejs.com",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1},e.canvas),qiniu:Object.assign({AK:"",SK:"",scope:"",url:"",bucket:"https://upload.qiniup.com",deadline:1},e.qiniu||{}),ali:Object.assign({region:"",endpoint:"",stsToken:"",accessKeyId:"",accessKeySecret:"",bucket:""},e.ali||{})}};"undefined"!=typeof window&&window.Vue&&P(window.Vue);var j=Object.assign({version:"2.6.11",locale:v.default.locale,install:P},o.default);t.exports=j,t.exports.default=t.exports},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(123),o=i(r),a=n(126),s=i(a),l=n(129),u=i(l),c=n(131),d=i(c),f=n(133),p=i(f),h=n(135),m=i(h),v=n(161),y=i(v),b=n(163),g=i(b),_=n(165),x=i(_),w=n(167),S=i(w),C=n(169),k=i(C),O=n(174),M=i(O),P=n(176),j=i(P),T=n(178),D=i(T),A=n(180),I=i(A),$=n(182),z=i($),F=n(186),L=i(F),N=n(188),E=i(N),B=n(190),R=i(B),K=n(192),V=i(K),H=n(194),W=i(H),U=n(196),q=i(U),Y=n(198),G=i(Y),X=n(200),Q=i(X),J=n(202),Z=i(J),tt=n(204),et=i(tt),nt=n(206),it=i(nt),rt=n(208),ot=i(rt),at=n(210),st=i(at),lt=n(212),ut=i(lt),ct=n(214),dt=i(ct),ft=n(216),pt=i(ft),ht=n(218),mt=i(ht),vt=n(220),yt=i(vt),bt=n(225),gt=i(bt),_t=n(227),xt=i(_t),wt=n(229),St=i(wt),Ct=n(234),kt=i(Ct),Ot=n(236),Mt=i(Ot),Pt=n(238),jt=i(Pt),Tt=n(240),Dt=i(Tt),At=n(242),It=i(At),$t=n(244),zt=i($t),Ft=n(246),Lt=i(Ft),Nt=n(248),Et=i(Nt),Bt=n(250),Rt=i(Bt),Kt=n(253),Vt=i(Kt),Ht=n(255),Wt=i(Ht),Ut=n(257),qt=i(Ut),Yt=n(6),Gt=i(Yt),Xt=n(259),Qt=i(Xt),Jt=n(286),Zt=i(Jt);window.Element||Gt.default.logs("element-ui"),e.default=Object.assign(Qt.default,Zt.default,{Arrays:Wt.default,Affix:o.default,Avatar:u.default,Article:d.default,Carousel:p.default,Crud:m.default,Code:g.default,Card:y.default,Chat:x.default,Comment:S.default,Form:k.default,Checkbox:M.default,Date:j.default,CountUp:s.default,Draggable:D.default,Empty:I.default,Flow:z.default,Notice:L.default,License:E.default,Progress:R.default,Time:V.default,Input:W.default,Radio:q.default,Select:G.default,Cascader:Q.default,InputColor:Z.default,InputNumber:et.default,InputTree:it.default,InputIcon:st.default,InputMap:ot.default,InputTable:ut.default,Switchs:pt.default,Rate:mt.default,Upload:yt.default,Slider:xt.default,Keyboard:St.default,Group:kt.default,Tree:Mt.default,Title:jt.default,Search:Dt.default,Tabs:zt.default,Queue:Et.default,Dynamic:Lt.default,Video:Rt.default,Verifys:dt.default,textEllipsis:qt.default,Skeleton:It.default,Sign:gt.default,Login:Vt.default})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(17),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(125),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t,e,n){return e?t+n+e:t},r=function t(e,n){if("string"==typeof n)return i(e,n,"--");if(Array.isArray(n))return n.map(function(n){return t(e,n)});var r={};return Object.keys(n||{}).forEach(function(t){r[e+"--"+t]=n[t]}),r};e.default={methods:{b:function(t,e){var n=this.$options.name;return t&&"string"!=typeof t&&(e=t,t=""),t=i(n,t,"__"),e?[t,r(t,e)]:t}}}},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{ref:"point",class:{"avue-affix":t.affix},style:t.styles},[t._t("default")],2),n("div",{directives:[{name:"show",rawName:"v-show",value:t.slot,expression:"slot"}],style:t.slotStyle})])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(19),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(128),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){var i,r;!function(o,a){i=a,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r)}(0,function(t,e,n){return function(t,e,n,i,r,o){function a(t){var e,n,i,r,o,a,s=t<0;if(t=Math.abs(t).toFixed(u.decimals),t+="",e=t.split("."),n=e[0],i=e.length>1?u.options.decimal+e[1]:"",u.options.useGrouping){for(r="",o=0,a=n.length;ou.endVal,u.frameVal=u.startVal,u.initialized=!0,0):(u.error="[CountUp] startVal ("+e+") or endVal ("+n+") is not a number",1)):(u.error="[CountUp] target is null or undefined",1)))},u.printValue=function(t){var e=u.options.formattingFn(t);"INPUT"===u.d.tagName?this.d.value=e:"text"===u.d.tagName||"tspan"===u.d.tagName?this.d.textContent=e:this.d.innerHTML=e},u.count=function(t){u.startTime||(u.startTime=t),u.timestamp=t;var e=t-u.startTime;u.remaining=u.duration-e,u.options.useEasing?u.countDown?u.frameVal=u.startVal-u.options.easingFn(e,0,u.startVal-u.endVal,u.duration):u.frameVal=u.options.easingFn(e,u.startVal,u.endVal-u.startVal,u.duration):u.countDown?u.frameVal=u.startVal-(u.startVal-u.endVal)*(e/u.duration):u.frameVal=u.startVal+(u.endVal-u.startVal)*(e/u.duration),u.countDown?u.frameVal=u.frameValu.endVal?u.endVal:u.frameVal,u.frameVal=Math.round(u.frameVal*u.dec)/u.dec,u.printValue(u.frameVal),eu.endVal,u.rAF=requestAnimationFrame(u.count))}},u.initialize()&&u.printValue(u.startVal)}})},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement;return(t._self._c||e)("span",[t._v(t._s(t.end))])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(20),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(130),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{class:[t.b(),t.sizeCls,t.b("icon")],style:t.sizeStyle},[t.src?n("img",{class:t.b("images"),attrs:{src:t.src,alt:""}}):t.icon?n("i",{class:t.icon}):n("span",{ref:"avatarChildren",class:t.b("string"),style:t.sizeChildrenStyle},[t._t("default")],2)])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(21),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(132),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("div",{class:t.b("header")},[t.title?n("div",{class:t.b("title"),domProps:{textContent:t._s(t.title)}}):t._e(),t.meta?n("small",{class:t.b("meta"),domProps:{textContent:t._s(t.meta)}}):t._e()]),t.lead?n("div",{class:t.b("lead"),domProps:{textContent:t._s(t.lead)}}):t._e(),t.body?n("div",{class:t.b("body"),domProps:{innerHTML:t._s(t.body)}}):t._e()])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(22),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(134),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:[t.b(),{"avue-carousel--fullscreen":t.option.fullscreen}]},[n("el-carousel",{attrs:{type:t.option.type,height:t.option.height+"px",autoplay:t.option.autoplay,interval:t.option.interval,"indicator-position":"outside"}},t._l(t.data,function(e,i){return n("el-carousel-item",{key:i},[n("div",{class:t.b("item")},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target}},[n("div",{class:t.b("img"),style:{backgroundImage:"url("+e.src+")"}}),e.title?n("div",{class:t.b("title")},[t._v(t._s(e.title))]):t._e()])])])}),1)],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(23),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(160),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){function n(){return n=Object.assign||function(t){for(var e=1;e=o)return t;switch(t){case"%s":return String(e[i++]);case"%d":return Number(e[i++]);case"%j":try{return JSON.stringify(e[i++])}catch(t){return"[Circular]"}break;default:return t}}),s=e[i];i-1?q[a](e)||i.push(d(r.messages.types[a],t.fullField,t.type)):a&&typeof e!==t.type&&i.push(d(r.messages.types[a],t.fullField,t.type))}function S(t,e,n,i,r){var o="number"==typeof t.len,a="number"==typeof t.min,s="number"==typeof t.max,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=e,c=null,f="number"==typeof e,p="string"==typeof e,h=Array.isArray(e);if(f?c="number":p?c="string":h&&(c="array"),!c)return!1;h&&(u=e.length),p&&(u=e.replace(l,"_").length),o?u!==t.len&&i.push(d(r.messages[c].len,t.fullField,t.len)):a&&!s&&ut.max?i.push(d(r.messages[c].max,t.fullField,t.max)):a&&s&&(ut.max)&&i.push(d(r.messages[c].range,t.fullField,t.min,t.max))}function C(t,e,n,i,r){t[Y]=Array.isArray(t[Y])?t[Y]:[],-1===t[Y].indexOf(e)&&i.push(d(r.messages[Y],t.fullField,t[Y].join(", ")))}function k(t,e,n,i,r){if(t.pattern)if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(e)||i.push(d(r.messages.pattern.mismatch,t.fullField,e,t.pattern));else if("string"==typeof t.pattern){var o=new RegExp(t.pattern);o.test(e)||i.push(d(r.messages.pattern.mismatch,t.fullField,e,t.pattern))}}function O(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e,"string")&&!t.required)return n();G.required(t,e,i,o,r,"string"),p(e,"string")||(G.type(t,e,i,o,r),G.range(t,e,i,o,r),G.pattern(t,e,i,o,r),!0===t.whitespace&&G.whitespace(t,e,i,o,r))}n(o)}function M(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&G.type(t,e,i,o,r)}n(o)}function P(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(""===e&&(e=void 0),p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&(G.type(t,e,i,o,r),G.range(t,e,i,o,r))}n(o)}function j(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&G.type(t,e,i,o,r)}n(o)}function T(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),p(e)||G.type(t,e,i,o,r)}n(o)}function D(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&(G.type(t,e,i,o,r),G.range(t,e,i,o,r))}n(o)}function A(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&(G.type(t,e,i,o,r),G.range(t,e,i,o,r))}n(o)}function I(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e,"array")&&!t.required)return n();G.required(t,e,i,o,r,"array"),p(e,"array")||(G.type(t,e,i,o,r),G.range(t,e,i,o,r))}n(o)}function $(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&G.type(t,e,i,o,r)}n(o)}function z(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r),void 0!==e&&G[X](t,e,i,o,r)}n(o)}function F(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e,"string")&&!t.required)return n();G.required(t,e,i,o,r),p(e,"string")||G.pattern(t,e,i,o,r)}n(o)}function L(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();if(G.required(t,e,i,o,r),!p(e)){var a;a="number"==typeof e?new Date(e):e,G.type(t,a,i,o,r),a&&G.range(t,a.getTime(),i,o,r)}}n(o)}function N(t,e,n,i,r){var o=[],a=Array.isArray(e)?"array":typeof e;G.required(t,e,i,o,r,a),n(o)}function E(t,e,n,i,r){var o=t.type,a=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e,o)&&!t.required)return n();G.required(t,e,i,a,r,o),p(e,o)||G.type(t,e,i,a,r)}n(a)}function B(t,e,n,i,r){var o=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(p(e)&&!t.required)return n();G.required(t,e,i,o,r)}n(o)}function R(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}function K(t){this.rules=null,this._messages=J,this.define(t)}var V=/%[sdj%]/g,H=function(){};void 0!==t&&t.env&&"production"!==t.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(H=function(t,e){"undefined"!=typeof console&&console.warn&&e.every(function(t){return"string"==typeof t})&&console.warn(t,e)});var W=function(t){function e(e,n){var i;return i=t.call(this,"Async Validation Error")||this,i.errors=e,i.fields=n,i}return i(e,t),e}(u(Error)),U={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},q={integer:function(t){return q.number(t)&&parseInt(t,10)===t},float:function(t){return q.number(t)&&!q.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch(t){return!1}},date:function(t){return"function"==typeof t.getTime&&"function"==typeof t.getMonth&&"function"==typeof t.getYear},number:function(t){return!isNaN(t)&&"number"==typeof t},object:function(t){return"object"==typeof t&&!q.array(t)},method:function(t){return"function"==typeof t},email:function(t){return"string"==typeof t&&!!t.match(U.email)&&t.length<255},url:function(t){return"string"==typeof t&&!!t.match(U.url)},hex:function(t){return"string"==typeof t&&!!t.match(U.hex)}},Y="enum",G={required:_,whitespace:x,type:w,range:S,enum:C,pattern:k},X="enum",Q={string:O,method:M,number:P,boolean:j,regexp:T,integer:D,float:A,array:I,object:$,enum:z,pattern:F,date:L,url:E,hex:E,email:E,required:N,any:B},J=R();K.prototype={messages:function(t){return t&&(this._messages=g(R(),t)),this._messages},define:function(t){if(!t)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof t||Array.isArray(t))throw new Error("Rules must be an object");this.rules={};var e,n;for(e in t)t.hasOwnProperty(e)&&(n=t[e],this.rules[e]=Array.isArray(n)?n:[n])},validate:function(t,e,i){function r(t){var e,n=[],i={};for(e=0;e1)for(var n=1;n1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:"";return 1===e.length&&"object"===i(e[0])&&(e=e[0]),e&&e.hasOwnProperty||(e={}),a.replace(o,function(t,n,i,o){var s=void 0;return"{"===a[o-1]&&"}"===a[o+t.length]?i:(s=(0,r.hasOwn)(e,i)?e[i]:null,null===s||void 0===s?"":s)})}return e};var r=n(5),o=/(%|)\{([0-9a-zA-Z_]+)\}/g},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-collapse-transition",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.searchShow&&t.searchFlag,expression:"searchShow && searchFlag"}],class:t.b()},[t.flag?n("avue-form",{ref:"form",attrs:{option:t.option},on:{submit:t.searchChange,"reset-change":t.resetChange},scopedSlots:t._u([{key:"menuForm",fn:function(e){var n=e.size;return[t._t("searchMenu",null,{row:t.searchForm,size:n})]}},t._l(t.columnOption,function(e){return{key:e.prop,fn:function(n){return[e.searchslot?t._t(e.prop,null,{value:n.value,column:n.column,dic:n.dic,size:n.size,label:n.label,disabled:n.disabled,row:t.searchForm}):t._e()]}}}),{key:"search",fn:function(e){return[t._t("search",null,{row:t.searchForm,size:t.crud.controlSize})]}}],null,!0),model:{value:t.searchForm,callback:function(e){t.searchForm=e},expression:"searchForm"}}):t._e()],1)])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(29),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(150),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(30),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(149),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(t.getComponent(t.column.type,t.column.component),t._b({ref:"temp",tag:"component",attrs:{column:Object.assign(t.column,t.params),dic:t.dic,disabled:t.column.disabled||t.disabled,readonly:t.column.readonly||t.readonly,placeholder:t.getPlaceholder(t.column),props:t.column.props||t.props,propsHttp:t.column.propsHttp||t.propsHttp,size:t.column.size||t.size,type:t.type||t.column.type,"upload-preview":t.uploadPreview,"upload-before":t.uploadBefore,"upload-after":t.uploadAfter,"upload-delete":t.uploadDelete,"upload-error":t.uploadError},on:{change:t.handleChange},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.enterChange(e)}},scopedSlots:t._u([{key:t.column.prop+"Type",fn:function(e){var n=e.item,i=e.label,r=e.value,o=e.node,a=e.data;return t.column.typeslot?[t._t(t.column.prop+"Type",null,{item:n,node:o,data:a,value:r,label:i})]:void 0}},t._l(t.columnOption,function(e){return{key:e.prop,fn:function(n){return[e.slot?t._t(e.prop,null,{row:n.row,dic:n.dic,size:n.size,label:n.label}):t._e()]}}})],null,!0),model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},"component",t.column,!1),[t.params.html?n("span",{domProps:{innerHTML:t._s(t.params.html)}}):t._e()])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-table-column",{attrs:{label:t.columnOption.label,"min-width":t.columnOption.minWidth,width:t.columnOption.width,"render-header":t.columnOption.renderHeader,align:t.columnOption.align||t.crud.tableOption.align,"header-align":t.columnOption.headerAlign||t.crud.tableOption.headerAlign,prop:t.columnOption.key}},[t._l(t.columnOption.children,function(e){return[e.children&&e.children.length?n("dynamic-column",{key:e.label,attrs:{columnOption:e},scopedSlots:t._u([t._l(t.crud.propOption,function(e,n){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,{row:n.row,dic:n.dic,size:n.size,label:n.label})]}}})],null,!0)}):["dynamic"].includes(e.type)?t._e():[t.vaildColumn(e)?n("el-table-column",{key:e.prop,attrs:{prop:e.prop,label:e.label,"filter-placement":"bottom-end",filters:t.handleFilters(e),"filter-method":e.filter?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(e.filterMultiple,!0),"show-overflow-tooltip":e.overHidden,"min-width":e.minWidth,sortable:e.sortable,"render-header":e.renderHeader,align:e.align||t.crud.tableOption.align,"header-align":e.headerAlign||t.crud.tableOption.headerAlign,width:e.width,fixed:!t.crud.isMobile&&e.fixed},scopedSlots:t._u([{key:"default",fn:function(i){return n("span",{},[t.cellEditFlag(i.row,e)?n("form-temp",{attrs:{column:e,size:"mini",dic:(t.crud.cascaderDIC[i.row.$index]||{})[e.prop]||t.crud.DIC[e.prop],t:t.t,props:e.props||t.crud.tableOption.props,readonly:e.readonly,disabled:e.disabled||t.crud.btnDisabledList[i.row.$index],clearable:t.vaildData(e.clearable,!1),"upload-before":t.crud.uploadBefore,"upload-after":t.crud.uploadAfter,"upload-preview":t.crud.uploadPreview,"upload-error":t.crud.uploadError,"upload-delete":t.crud.uploadDelete},on:{change:function(n){e.cascader&&t.handleChange(t.index,i.row)}},model:{value:i.row[e.prop],callback:function(n){t.$set(i.row,e.prop,n)},expression:"scope.row[column.prop]"}}):e.slot?t._t(e.prop,null,{row:i.row,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,label:t.handleShowLabel(i.row,e,t.crud.DIC[e.prop])}):[e.parentProp?n("span",{domProps:{innerHTML:t._s(t.handleDetail(i.row,e,(t.crud.cascaderDIC[i.row.$index]||{})[e.prop]))}}):["img","upload"].includes(e.type)?n("span",[n("div",{staticClass:"avue-crud__img"},t._l(t.getImgList(i,e),function(r,o){return n("img",{key:o,attrs:{src:r},on:{click:function(n){t.openImg(t.getImgList(i,e),o)}}})}),0)]):["url"].includes(e.type)?n("span",t._l(t.corArray(i.row[e.prop],e.separator),function(i,r){return n("el-link",{key:r,attrs:{type:"primary",href:i,target:e.target||"_blank"}},[t._v(t._s(i))])}),1):["rate"].includes(e.type)?n("span",[n("avue-rate",{attrs:{readonly:""},model:{value:i.row[e.prop],callback:function(n){t.$set(i.row,e.prop,n)},expression:"scope.row[column.prop]"}})],1):n("span",{domProps:{innerHTML:t._s(t.handleDetail(i.row,e,t.crud.DIC[e.prop]))}},[t._v("1")])]],2)}}],null,!0)}):t._e()]]})],2)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",[t._l(t.list,function(e,i){return[e.children&&e.children.length?n("dynamic-column",{key:e.label,attrs:{columnOption:e},scopedSlots:t._u([t._l(t.crud.propOption,function(e,n){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,{row:n.row,dic:n.dic,size:n.size,label:n.label})]}}})],null,!0)}):["dynamic"].includes(e.type)?t._e():[t.vaildColumn(e)?n("el-table-column",{key:e.prop,attrs:{prop:e.prop,label:e.label,"filter-placement":"bottom-end",filters:t.handleFilters(e),"filter-method":e.filter?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(e.filterMultiple,!0),"show-overflow-tooltip":e.overHidden,"min-width":e.minWidth,sortable:e.sortable,"render-header":e.renderHeader,align:e.align||t.crud.tableOption.align,"header-align":e.headerAlign||t.crud.tableOption.headerAlign,width:e.width,fixed:!t.crud.isMobile&&e.fixed},scopedSlots:t._u([{key:"default",fn:function(r){return n("span",{},[t.cellEditFlag(r.row,e)?n("form-temp",{attrs:{column:e,size:t.crud.isMediumSize,dic:(t.crud.cascaderDIC[r.row.$index]||{})[e.prop]||t.crud.DIC[e.prop],t:t.t,props:e.props||t.crud.tableOption.props,readonly:e.readonly,disabled:e.disabled||t.crud.btnDisabledList[r.row.$index],clearable:t.vaildData(e.clearable,!1),"upload-before":t.crud.uploadBefore,"upload-after":t.crud.uploadAfter,"upload-preview":t.crud.uploadPreview,"upload-error":t.crud.uploadError,"upload-delete":t.crud.uploadDelete},on:{change:function(n){e.cascader&&t.handleChange(i,r.row)}},model:{value:r.row[e.prop],callback:function(n){t.$set(r.row,e.prop,n)},expression:"scope.row[column.prop]"}}):e.slot?t._t(e.prop,null,{row:r.row,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,label:t.handleShowLabel(r.row,e,t.crud.DIC[e.prop])}):[e.parentProp?n("span",[t._v(t._s(t.handleDetail(r.row,e,(t.crud.cascaderDIC[r.row.$index]||{})[e.prop])))]):["img","upload"].includes(e.type)?n("span",[n("div",{staticClass:"avue-crud__img"},t._l(t.getImgList(r,e),function(i,o){return n("img",{key:o,attrs:{src:i},on:{click:function(n){t.openImg(t.getImgList(r,e),o)}}})}),0)]):["url"].includes(e.type)?n("span",t._l(t.corArray(r.row[e.prop],e.separator),function(i,r){return n("el-link",{key:r,attrs:{type:"primary",href:i,target:e.target||"_blank"}},[t._v(t._s(i))])}),1):["rate"].includes(e.type)?n("span",[n("avue-rate",{attrs:{readonly:""},model:{value:r.row[e.prop],callback:function(n){t.$set(r.row,e.prop,n)},expression:"scope.row[column.prop]"}})],1):n("span",{domProps:{innerHTML:t._s(t.handleDetail(r.row,e,t.crud.DIC[e.prop]))}})]],2)}}],null,!0)}):t._e()]]})],2)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(33),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(152),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b("menu")},[n("div",{class:t.b("left")},[t.vaildData(t.crud.tableOption.addBtn,t.config.addBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("addBtn"),expression:"crud.getPermission('addBtn')"}],attrs:{type:"primary",icon:t.config.addBtnIcon,size:t.crud.isMediumSize},on:{click:t.crud.rowAdd}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("addBtn"))+"\n ")]],2):t._e(),t.vaildData(t.crud.tableOption.addRowBtn,t.config.addRowBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("addRowBtn"),expression:"crud.getPermission('addRowBtn')"}],attrs:{type:"primary",icon:t.config.addBtnIcon,size:t.crud.isMediumSize},on:{click:t.crud.rowCellAdd}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("addBtn"))+"\n ")]],2):t._e(),t.vaildData(t.crud.tableOption.printBtn,t.config.printBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("printBtn"),expression:"crud.getPermission('printBtn')"}],attrs:{type:"primary",icon:t.config.printBtnIcon,size:t.crud.isMediumSize},on:{click:t.rowPrint}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("printBtn"))+"\n ")]],2):t._e(),t.vaildData(t.crud.tableOption.excelBtn,t.config.excelBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("excelBtn"),expression:"crud.getPermission('excelBtn')"}],attrs:{type:"primary",icon:t.config.excelBtnIcon,size:t.crud.isMediumSize},on:{click:t.rowExcel}},[t.crud.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("excelBtn"))+"\n ")]],2):t._e(),t._t("menuLeft")],2),n("div",{class:t.b("right")},[t._t("menuRight"),t.vaildData(t.crud.tableOption.dateBtn,t.config.dateBtn)?n("avue-date",{staticStyle:{display:"inline-block","margin-right":"20px"},attrs:{type:"datetimerange","value-format":"yyyy-MM-dd HH:mm:ss",format:"yyyy-MM-dd HH:mm:ss",pickerOptions:t.pickerOptions,size:t.crud.isMediumSize},on:{change:t.dateChange}}):t._e(),n("el-tooltip",{attrs:{effect:"dark",content:t.t("crud.refreshBtn"),placement:"top"}},[t.vaildData(t.crud.tableOption.refreshBtn,t.config.refreshBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("refreshBtn"),expression:"crud.getPermission('refreshBtn')"}],attrs:{icon:t.config.refreshBtnIcon,circle:"",size:t.crud.isMediumSize},on:{click:t.crud.refreshChange}}):t._e()],1),n("el-tooltip",{attrs:{effect:"dark",content:t.t("crud.showBtn"),placement:"top"}},[t.vaildData(t.crud.tableOption.columnBtn,t.config.columnBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("columnBtn"),expression:"crud.getPermission('columnBtn')"}],attrs:{icon:t.config.columnBtnIcon,circle:"",size:t.crud.isMediumSize},on:{click:function(e){t.crud.$refs.dialogColumn.columnBox=!0}}}):t._e()],1),n("el-tooltip",{attrs:{effect:"dark",content:t.t("crud.searchBtn"),placement:"top"}},[(t.crud.$refs.headerSearch||{}).searchFlag?n("el-button",{attrs:{icon:t.config.searchBtnIcon,circle:"",size:t.crud.isMediumSize},on:{click:function(e){return t.crud.$refs.headerSearch.handleSearchShow()}}}):t._e()],1),n("el-tooltip",{attrs:{effect:"dark",content:t.t("crud.filterBtn"),placement:"top"}},[t.vaildData(t.crud.tableOption.filterBtn,t.config.filterBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("filterBtn"),expression:"crud.getPermission('filterBtn')"}],attrs:{icon:t.config.filterBtnIcon,circle:"",size:t.crud.isMediumSize},on:{click:function(e){t.crud.$refs.dialogFilter.box=!0}}}):t._e()],1)],2)])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(34),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(154),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-drawer",{staticClass:"avue-dialog",class:[t.b("dialog"),t.b("column")],attrs:{"lock-scroll":"","modal-append-to-body":!1,"append-to-body":"",title:t.t("crud.showTitle"),size:t.crud.isMobile?"100%":"50%",visible:t.columnBox},on:{"update:visible":function(e){t.columnBox=e}}},[n("el-transfer",{ref:"transfer",attrs:{titles:[t.t("crud.hide"),t.t("crud.show")],filterable:"",data:t.columnList},model:{value:t.columnIndex,callback:function(e){t.columnIndex=e},expression:"columnIndex"}})],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(35),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(156),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-drawer",{staticClass:"avue-dialog",class:[t.b("dialog"),t.b("filter")],attrs:{"lock-scroll":"","modal-append-to-body":!1,"append-to-body":"",title:t.t("crud.filterTitle"),size:t.crud.isMobile?"100%":"60%",visible:t.box},on:{"update:visible":function(e){t.box=e}}},[n("el-row",{attrs:{span:24}},[n("div",{class:t.b("filter-menu")},[n("el-button-group",[n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleAdd}},[t._v(t._s(t.t("crud.filter.addBtn")))]),n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleClear}},[t._v(t._s(t.t("crud.filter.resetBtn")))]),n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleValueClear}},[t._v(t._s(t.t("crud.filter.clearBtn")))])],1)],1),t._l(t.list,function(e,i){return n("el-col",{key:i,class:t.b("filter-item"),attrs:{md:12,xs:24,sm:12}},[n("avue-select",{class:t.b("filter-label"),attrs:{dic:t.columnOption,props:t.columnProps,clearable:!1,size:t.crud.isMediumSize},on:{change:function(n){return t.handleChange(e.text,i)}},model:{value:e.text,callback:function(n){t.$set(e,"text",n)},expression:"column.text"}}),n("avue-select",{class:t.b("filter-symbol"),attrs:{dic:t.symbolDic,clearable:!1,size:t.crud.isMediumSize},model:{value:e.symbol,callback:function(n){t.$set(e,"symbol",n)},expression:"column.symbol"}}),n("form-temp",{class:t.b("filter-value"),attrs:{column:t.getColumnByIndex(t.columnList[i]),size:t.crud.isMediumSize,dic:t.crud.DIC[t.columnList[i].prop],t:t.t,props:t.columnList[i].props||t.crud.tableOption.props},model:{value:e.value,callback:function(n){t.$set(e,"value",n)},expression:"column.value"}}),n("el-button",{class:t.b("filter-icon"),attrs:{type:"danger",size:"mini",circle:"",icon:"el-icon-minus"},on:{click:function(e){return t.handleDelete(i)}}})],1)}),n("el-col",{staticClass:"avue-form__menu avue-form__menu--right",attrs:{span:24}},[n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleSubmit}},[t._v(t._s(t.t("crud.filter.submitBtn")))]),n("el-button",{attrs:{size:t.crud.isMediumSize},on:{click:function(e){t.box=!1}}},[t._v(t._s(t.t("crud.filter.cancelBtn")))])],1)],2)],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(36),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(158),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(t.dialogType,{directives:[{name:"dialogdrag",rawName:"v-dialogdrag",value:t.vaildData(t.crud.tableOption.dialogDrag,t.config.dialogDrag),expression:"vaildData(crud.tableOption.dialogDrag,config.dialogDrag)"}],tag:"component",staticClass:"avue-dialog",class:t.b("dialog",{fullscreen:t.fullscreen}),attrs:{"lock-scroll":"","destroy-on-close":t.crud.tableOption.dialogDestroy,wrapperClosable:t.crud.tableOption.dialogClickModal,direction:t.direction,"custom-class":t.vaildData(t.crud.tableOption.customClass,t.config.customClass),fullscreen:t.fullscreen?t.fullscreen:!!t.crud.isMobile||t.crud.tableOption.dialogFullscreen,"modal-append-to-body":!1,"append-to-body":"",top:t.setPx(t.dialogTop),title:t.dialogTitle,"close-on-press-escape":t.crud.tableOption.dialogEscape,"close-on-click-modal":t.crud.tableOption.dialogClickModal,modal:t.crud.tableOption.dialogModal,"show-close":t.crud.tableOption.dialogCloseBtn,visible:t.boxVisible,size:t.size?t.size:t.width,width:t.setPx(t.width),"before-close":t.hide},on:{"update:visible":function(e){t.boxVisible=e}}},[n("div",{class:t.b("dialog__header"),attrs:{slot:"title"},slot:"title"},[n("span",{staticClass:"el-dialog__title"},[t._v(t._s(t.dialogTitle))]),n("div",{class:t.b("dialog__menu")},[n("i",{staticClass:"el-dialog__close el-icon-full-screen",on:{click:t.handleFullScreen}})])]),n("el-scrollbar",{style:t.styleName},[t.boxVisible?n("avue-form",{ref:"tableForm",attrs:{reset:!1,"upload-preview":t.crud.uploadPreview,"upload-delete":t.crud.uploadDelete,"upload-before":t.crud.uploadBefore,"upload-after":t.crud.uploadAfter,"upload-error":t.crud.uploadError,option:t.formOption},on:{submit:t.handleSubmit,error:t.handleError,"reset-change":t.hide},scopedSlots:t._u([t._l(t.crud.columnFormOption,function(e){return{key:e.prop,fn:function(n){return[e.formslot?t._t(e.prop,null,null,Object.assign(n,{row:e.dynamic?n.row:t.tableForm,index:e.dynamic?n.row.$index:t.crud.tableIndex})):t._e()]}}}),t._l(t.crud.columnFormOption,function(e){return{key:e.prop+"Error",fn:function(n){return[e.errorslot?t._t(e.prop+"Error",null,null,Object.assign(n,{row:t.tableForm,index:t.crud.tableIndex})):t._e()]}}}),t._l(t.crud.columnFormOption,function(e){return{key:e.prop+"Label",fn:function(n){return[e.labelslot?t._t(e.prop+"Label",null,null,Object.assign(n,{row:t.tableForm,index:t.crud.tableIndex})):t._e()]}}}),{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,Object.assign(e,{type:t.boxType}))]}}],null,!0),model:{value:t.tableForm,callback:function(e){t.tableForm=e},expression:"tableForm"}}):t._e()],1)],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[];return e.forEach(function(e,r){if(t.$set(e,"_index",r),n.push(e),e.children&&e.children.length>0){var o=i(t,e.children);n=n.concat(o)}}),n}function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.parent,o=void 0===i?null:i,a=n.preIndex,s=void 0!==a&&a,l=n.level,u=void 0===l?1:l,c=n.expandLevel,d=void 0===c?0:c,f=n.expand,p=void 0!==f&&f,h=n.show,m=void 0===h||h;e.forEach(function(e,n){var i=(s?s+"-"+n:n)+"";t.$set(e,"_id",i),t.$set(e,"_level",u),t.$set(e,"_expand",function(){return!!p||0!==d&&u0&&r(t,e.children,{parent:e,level:u+1,expand:p,expandLevel:d,preIndex:i,status:status})})}Object.defineProperty(e,"__esModule",{value:!0}),e.default=i,e.addAttrs=r},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("header-search",{ref:"headerSearch",attrs:{search:t.search},scopedSlots:t._u([{key:"search",fn:function(e){var n=e.size,i=e.row;return[t._t("search",null,{row:i,size:n})]}},{key:"searchMenu",fn:function(e){var n=e.size,i=e.row;return[t._t("searchMenu",null,{row:i,size:n})]}},t._l(t.columnOption,function(e){return{key:e.prop,fn:function(n){var i=n.value,r=n.column,o=n.dic,a=n.size,s=n.label,l=n.disabled;return[e.searchslot?t._t(e.prop+"Search",null,{value:i,column:r,dic:o,size:a,label:s,disabled:l,row:t.search}):t._e()]}}})],null,!0)}),t.vaildData(t.tableOption.header,!0)?n("header-menu",{ref:"headerMenu"},[n("template",{slot:"menuLeft"},[t._t("menuLeft")],2),n("template",{slot:"menuRight"},[t._t("menuRight")],2)],2):t._e(),t.vaildData(t.tableOption.tip,t.config.tip)&&t.tableOption.selection?n("el-tag",{staticClass:"avue-crud__tip"},[n("span",{staticClass:"avue-crud__tip-name"},[t._v("\n "+t._s(t.t("crud.tipStartTitle"))+"\n "),n("span",{staticClass:"avue-crud__tip-count"},[t._v(t._s(t.selectLen))]),t._v("\n "+t._s(t.t("crud.tipEndTitle"))+"\n ")]),t.vaildData(t.tableOption.selectClearBtn,t.config.selectClearBtn)&&t.tableOption.selection?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("selectClearBtn"),expression:"getPermission('selectClearBtn')"}],attrs:{type:"text",size:"small"},on:{click:t.selectClear}},[t._v(t._s(t.t("crud.emptyBtn")))]):t._e(),t._t("tip")],2):t._e(),t._t("header"),t.reload?n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.tableLoading,expression:"tableLoading"}],ref:"table",class:{"avue-crud--indeterminate":t.vaildData(t.tableOption.indeterminate,!1)},attrs:{data:t.list,"row-key":t.handleGetRowKeys,size:t.$AVUE.tableSize||t.controlSize,lazy:t.vaildData(t.tableOption.lazy,!1),load:t.treeLoad,"tree-props":t.tableOption.treeProps||{},"expand-row-keys":t.tableOption.expandRowKeys,"default-expand-all":t.tableOption.defaultExpandAll,"highlight-current-row":t.tableOption.highlightCurrentRow,"show-summary":t.tableOption.showSummary,"summary-method":t.tableSummaryMethod,"span-method":t.tableSpanMethod,stripe:t.tableOption.stripe,"show-header":t.tableOption.showHeader,"default-sort":t.tableOption.defaultSort,"row-class-name":t.rowClassName,"cell-class-name":t.cellClassName,"row-style":t.rowStyle,"cell-style":t.cellStyle,"sort-method":t.sortMethod,"sort-orders":t.sortOrders,"sort-by":t.sortBy,fit:t.tableOption.fit,"header-cell-class-name":t.headerCellClassName,"max-height":t.tableOption.maxHeight,height:t.tableHeight,width:t.setPx(t.tableOption.width,t.config.width),border:t.tableOption.border},on:{"current-change":t.currentRowChange,"expand-change":t.expandChange,"header-dragend":t.headerDragend,"row-click":t.rowClick,"row-dblclick":t.rowDblclick,"cell-mouse-enter":t.cellMouseEnter,"cell-mouse-leave":t.cellMouseLeave,"cell-click":t.cellClick,"header-click":t.headerClick,"row-contextmenu":t.rowContextmenu,"header-contextmenu":t.headerContextmenu,"cell-dblclick":t.cellDblclick,"selection-change":t.selectionChange,select:t.select,"select-all":t.selectAll,"sort-change":t.sortChange}},[n("template",{slot:"empty"},[n("div",{class:t.b("empty")},[t.$slots.empty?t._t("empty"):n("avue-empty",{attrs:{size:"50",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxlbGxpcHNlIGZpbGw9IiNGNUY1RjUiIGN4PSIzMiIgY3k9IjMzIiByeD0iMzIiIHJ5PSI3Ii8+CiAgICA8ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iI0Q5RDlEOSI+CiAgICAgIDxwYXRoIGQ9Ik01NSAxMi43Nkw0NC44NTQgMS4yNThDNDQuMzY3LjQ3NCA0My42NTYgMCA0Mi45MDcgMEgyMS4wOTNjLS43NDkgMC0xLjQ2LjQ3NC0xLjk0NyAxLjI1N0w5IDEyLjc2MVYyMmg0NnYtOS4yNHoiLz4KICAgICAgPHBhdGggZD0iTTQxLjYxMyAxNS45MzFjMC0xLjYwNS45OTQtMi45MyAyLjIyNy0yLjkzMUg1NXYxOC4xMzdDNTUgMzMuMjYgNTMuNjggMzUgNTIuMDUgMzVoLTQwLjFDMTAuMzIgMzUgOSAzMy4yNTkgOSAzMS4xMzdWMTNoMTEuMTZjMS4yMzMgMCAyLjIyNyAxLjMyMyAyLjIyNyAyLjkyOHYuMDIyYzAgMS42MDUgMS4wMDUgMi45MDEgMi4yMzcgMi45MDFoMTQuNzUyYzEuMjMyIDAgMi4yMzctMS4zMDggMi4yMzctMi45MTN2LS4wMDd6IiBmaWxsPSIjRkFGQUZBIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K",desc:t.tableOption.emptyText||t.暂无数据}})],2)]),t.tableOption.expand?n("el-table-column",{attrs:{type:"expand",width:t.tableOption.expandWidth||t.config.expandWidth,fixed:t.vaildData(t.tableOption.expandFixed,t.config.expandFixed),align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._t("expand",null,{row:e.row})]}}],null,!0)}):t._e(),t.tableOption.sortable&&t.tableOption.dragHandler?n("el-table-column",{attrs:{width:t.tableOption.sortableWidth||t.config.sortableWidth,fixed:t.vaildData(t.tableOption.sortableFixed,t.config.sortableFixed),align:"center"},scopedSlots:t._u([{key:"header",fn:function(t){return[n("i",{staticClass:"el-icon-sort"})]}},{key:"default",fn:function(t){return[n("span",{staticClass:"avue-crud__drag-handler"},[n("i",{staticClass:"el-icon-rank"})])]}}],null,!1,1088768483)}):t._e(),t.tableOption.selection?n("el-table-column",{attrs:{type:"selection",selectable:t.tableOption.selectable,"reserve-selection":t.vaildData(t.tableOption.reserveSelection,!1),width:t.tableOption.selectionWidth||t.config.selectionWidth,fixed:t.vaildData(t.tableOption.selectionFixed,t.config.selectionFixed),align:"center"}}):t._e(),this.vaildData(t.tableOption.index,!1)?n("el-table-column",{attrs:{label:t.tableOption.indexLabel||t.config.indexLabel,type:"index",width:t.tableOption.indexWidth||t.config.indexWidth,index:t.indexMethod,fixed:t.vaildData(t.tableOption.indexFixed,t.config.indexFixed),align:"center"}}):t._e(),n("el-table-column",{attrs:{width:"1px"}}),n("column",{attrs:{columnOption:t.columnOption},scopedSlots:t._u([t._l(t.propOption,function(e,n){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,{row:n.row,dic:n.dic,size:n.size,label:n.label})]}}})],null,!0)}),t.vaildData(t.tableOption.menu,t.config.menu)&&t.getPermission("menu")?n("el-table-column",{class:t.b("btn"),attrs:{fixed:t.vaildData(t.tableOption.menuFixed,t.config.menuFixed),label:t.tableOption.menuTitle||t.t("crud.menu"),align:t.tableOption.menuAlign||t.config.menuAlign,"header-align":t.tableOption.menuHeaderAlign||t.config.menuHeaderAlign,width:t.isMobile?t.tableOption.menuXsWidth||t.config.menuXsWidth:t.tableOption.menuWidth||t.config.menuWidth},scopedSlots:t._u([{key:"default",fn:function(e){return[t.isMenu?n("el-dropdown",{staticStyle:{"margin-right":"9px"},attrs:{size:t.isMediumSize}},[n("el-button",{attrs:{type:"primary",size:t.isMediumSize}},[t._v("\n "+t._s(t.tableOption.menuBtnTitle||t.t("crud.menuBtn"))+"\n "),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.vaildData(t.tableOption.viewBtn,!0)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("viewBtn",e.row,e.$index),expression:"getPermission('viewBtn',scope.row,scope.$index)"}],nativeOn:{click:function(n){return t.rowView(e.row,e.$index)}}},[t._v(t._s(t.t("crud.viewBtn")))]):t._e(),t.vaildData(t.tableOption.editBtn,!0)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("editBtn",e.row,e.$index),expression:"getPermission('editBtn',scope.row,scope.$index)"}],attrs:{divided:""},nativeOn:{click:function(n){return t.rowEdit(e.row,e.$index)}}},[t._v(t._s(t.t("crud.editBtn")))]):t._e(),t.vaildData(t.tableOption.copyBtn,!0)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("copyBtn",e.row,e.$index),expression:"getPermission('copyBtn',scope.row,scope.$index)"}],attrs:{divided:""},nativeOn:{click:function(n){return t.rowCopy(e.row)}}},[t._v(t._s(t.t("crud.copyBtn")))]):t._e(),t.vaildData(t.tableOption.delBtn,!0)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("delBtn",e.row,e.$index),expression:"getPermission('delBtn',scope.row,scope.$index)"}],attrs:{divided:""},nativeOn:{click:function(n){return t.rowDel(e.row,e.$index)}}},[t._v(t._s(t.t("crud.delBtn")))]):t._e(),t._t("menuBtn",null,{row:e.row,dic:e.dic,label:e.label,index:e.$index})],2)],1):["button","text","icon"].includes(t.menuType)?[t.vaildData(t.tableOption.cellBtn,t.config.cellBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("cellBtn",e.row,e.$index),expression:"getPermission('cellBtn',scope.row,scope.$index)"}],attrs:{type:t.menuText("primary"),icon:e.row.$cellEdit?t.config.saveBtnIcon:t.config.editBtnIcon,size:t.isMediumSize,disabled:t.btnDisabledList[e.$index]},on:{click:function(n){return n.stopPropagation(),t.rowCell(e.row,e.$index)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon(e.row.$cellEdit?"saveBtn":"editBtn"))+"\n ")]],2):t._e(),e.row.$cellEdit&&t.vaildData(t.tableOption.cancelBtn,t.config.cancelBtn)?n("el-button",{attrs:{type:t.menuText("danger"),icon:t.config.cancelBtnIcon,size:t.isMediumSize,disabled:t.btnDisabledList[e.$index]},on:{click:function(n){return n.stopPropagation(),t.rowCancel(e.row,e.$index)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon("cancelBtn"))+"\n ")]],2):t._e(),t.vaildData(t.tableOption.viewBtn,t.config.viewBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("viewBtn",e.row,e.$index),expression:"getPermission('viewBtn',scope.row,scope.$index)"}],attrs:{type:t.menuText("success"),icon:t.config.viewBtnIcon,size:t.isMediumSize,disabled:t.btnDisabled},on:{click:function(n){return n.stopPropagation(),t.rowView(e.row,e.$index)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon("viewBtn"))+"\n ")]],2):t._e(),t.vaildData(t.tableOption.editBtn,t.config.editBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("editBtn",e.row,e.$index),expression:"getPermission('editBtn',scope.row,scope.$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.editBtnIcon,size:t.isMediumSize,disabled:t.btnDisabled},on:{click:function(n){return n.stopPropagation(),t.rowEdit(e.row,e.$index)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon("editBtn"))+"\n ")]],2):t._e(),t.vaildData(t.tableOption.copyBtn,t.config.copyBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("copyBtn",e.row,e.$index),expression:"getPermission('copyBtn',scope.row,scope.$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.copyBtnIcon,size:t.isMediumSize,disabled:t.btnDisabled},on:{click:function(n){return n.stopPropagation(),t.rowCopy(e.row)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon("copyBtn"))+"\n ")]],2):t._e(),t.vaildData(t.tableOption.delBtn,t.config.delBtn)&&!e.row.$cellEdit?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.getPermission("delBtn",e.row,e.$index),expression:"getPermission('delBtn',scope.row,scope.$index)"}],attrs:{type:t.menuText("danger"),icon:t.config.delBtnIcon,size:t.isMediumSize,disabled:t.btnDisabled},on:{click:function(n){return n.stopPropagation(),t.rowDel(e.row,e.$index)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.menuIcon("delBtn"))+"\n ")]],2):t._e()]:t._e(),t._t("menu",null,{row:e.row,type:t.menuText("primary"),disabled:t.btnDisabled,size:t.isMediumSize,index:e.$index})]}}],null,!0)}):t._e()],2):t._e(),t.vaildData(t.tableOption.page,!0)?n("table-page",{ref:"tablePage",attrs:{page:t.page}}):t._e(),n("dialog-form",{ref:"dialogForm",scopedSlots:t._u([t._l(t.columnFormOption,function(e){return{key:e.prop,fn:function(n){return[e.formslot?t._t(e.prop+"Form",null,null,Object.assign(n,{row:e.dynamic?n.row:t.tableForm,index:e.dynamic?n.row.$index:t.tableIndex})):t._e()]}}}),t._l(t.columnFormOption,function(e){return{key:e.prop+"Label",fn:function(n){return[e.labelslot?t._t(e.prop+"Label",null,null,Object.assign(n,{row:t.tableForm,index:t.tableIndex})):t._e()]}}}),t._l(t.columnFormOption,function(e){return{key:e.prop+"Error",fn:function(n){return[e.errorslot?t._t(e.prop+"Error",null,null,Object.assign(n,{row:t.tableForm,index:t.tableIndex})):t._e()]}}}),{key:"menuForm",fn:function(e){var n=(e.tableForm,e.type),i=e.size,r=e.disabled;return[t._t("menuForm",null,{size:i,disabled:r,type:n})]}}],null,!0),model:{value:t.tableForm,callback:function(e){t.tableForm=e},expression:"tableForm"}}),n("dialog-column",{ref:"dialogColumn",attrs:{"show-column":t.showColumn}}),n("keep-alive",[n("dialog-filter",{ref:"dialogFilter"})],1)],2)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(37),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(162),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-row",{attrs:{span:24,gutter:t.gutter}},[t.vaildData(t.option.addBtn,!0)?n("el-col",{attrs:{span:t.span}},[n("div",{class:t.b("item",{add:!0}),on:{click:function(e){return t.rowAdd()}}},[n("i",{staticClass:"el-icon-plus"}),n("span",[t._v("添加")])])]):t._e(),t._l(t.data,function(e,i){return n("el-col",{key:i,attrs:{span:t.span}},[n("div",{class:t.b("item"),on:{click:function(n){return t.rowClick(e,i)}}},[n("div",{class:t.b("body")},[n("div",{class:t.b("avatar")},[n("img",{attrs:{src:e[t.imgKey],alt:""}})]),n("div",{class:t.b("detail")},[n("div",{class:t.b("title")},[t._v(t._s(e[t.titleKey]))]),n("div",{class:t.b("info")},[t._v(t._s(e[t.infoKey]))])])]),n("div",{class:t.b("menu")},[t._t("menu",null,{index:i,row:e})],2)])])})],2)],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(38),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(164),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-scrollbar",{style:t.styleName},[n("pre",[t._v(" "),n("code",{ref:"container",class:t.syntax},[t._v("\n "),t._t("default"),t._v("\n ")],2),t._v("\n ")])])],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(39),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(166),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.heightStyleName,on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleSend(e)}}},[n("audio",{ref:"chatAudio"},[n("source",{attrs:{src:t.audio[0],type:"audio/ogg"}}),n("source",{attrs:{src:t.audio[1],type:"audio/mpeg"}}),n("source",{attrs:{src:t.audio[2],type:"audio/wav"}})]),n("div",{staticClass:"web__logo"},[n("img",{staticClass:"web__logo-img",attrs:{src:t.config.img,alt:""}}),n("div",{staticClass:"web__logo-info"},[n("p",{staticClass:"web__logo-name"},[t._v(t._s(t.config.name))]),n("p",{staticClass:"web__logo-dept"},[t._v(t._s(t.config.dept))])]),t._t("header")],2),n("div",{staticClass:"web__content"},[n("div",{style:t.widthStyleName},[n("div",{ref:"main",staticClass:"web__main"},t._l(t.list,function(e,i){return n("div",{key:i,staticClass:"web__main-item",class:{"web__main-item--mine":e.mine}},[n("div",{staticClass:"web__main-user"},[n("img",{attrs:{src:e.img}}),n("cite",[t._v("\n "+t._s(e.name)+"\n "),n("i",[t._v(t._s(e.date))])])]),n("div",{staticClass:"web__main-text"},[n("div",{staticClass:"web__main-arrow"}),n("span",{ref:"content",refInFor:!0,domProps:{innerHTML:t._s(t.handleDetail(e.text.text))}}),t.validatenull(e.text.list)?t._e():n("ul",{staticClass:" web__main-list"},t._l(e.text.list,function(e,i){return n("li",{key:i,on:{click:function(n){return t.handleItemMsg(e)}}},[t._v(t._s(e.text))])}),0)])])}),0),n("div",{staticClass:"web__footer",style:t.widthStyleName},[n("div",{staticClass:"web__tools"},[t.tools.img?n("i",{staticClass:"el-icon-picture-outline",on:{click:function(e){return t.handleUpload("img")}}}):t._e(),t.tools.video?n("i",{staticClass:"el-icon-video-camera",on:{click:function(e){return t.handleUpload("video")}}}):t._e(),t.tools.file?n("i",{staticClass:"el-icon-folder-opened",on:{click:function(e){return t.handleUpload("file")}}}):t._e()]),n("div",{staticClass:"web__msg"},[n("textarea",{directives:[{name:"model",rawName:"v-model",value:t.msg,expression:"msg"}],staticClass:"web__msg-input",attrs:{rows:"2",placeholder:t.placeholder},domProps:{value:t.msg},on:{input:function(e){e.target.composing||(t.msg=e.target.value)}}}),n("div",{staticClass:"web__msg-menu"},[n("el-dropdown",{staticClass:"web__msg-submit",attrs:{"split-button":"",type:"primary",size:"mini",trigger:"click"},on:{click:t.handleSend}},[t._v("\n 发送\n "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",[n("el-popover",{attrs:{placement:"top",width:"160"},model:{value:t.visible,callback:function(e){t.visible=e},expression:"visible"}},[n("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:3,"show-word-limit":"",maxlength:"100",placeholder:"请输入快捷回复语",type:"textarea"},model:{value:t.keys,callback:function(e){t.keys=e},expression:"keys"}}),n("div",{staticStyle:{"text-align":"right",margin:"0"}},[n("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){t.visible=!1}}},[t._v("取消")]),n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addKey}},[t._v("确定")])],1),n("el-button",{attrs:{slot:"reference",type:"text",icon:"el-icon-plus"},slot:"reference"})],1)],1),n("el-scrollbar",{staticStyle:{height:"100px"}},t._l(t.keylist,function(e,i){return n("el-dropdown-item",{key:i,nativeOn:{click:function(n){return t.sendKey(e)}}},[n("el-tooltip",{attrs:{effect:"dark",content:e,placement:"top"}},[n("span",[t._v(" "+t._s(e.substr(0,10))+t._s(e.length>10?"...":""))])])],1)}),1)],1)],1)],1)])])]),t._t("default")],2),n("el-dialog",{attrs:{title:t.upload.title,"append-to-body":"",visible:t.upload.box,width:"30%"},on:{"update:visible":function(e){return t.$set(t.upload,"box",e)}}},[n("el-form",{ref:"form",attrs:{model:t.upload}},[n("el-form-item",{attrs:{prop:"src",rules:[{required:!0,message:"地址不能为空"}]}},[n("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:4,"show-word-limit":"",maxlength:"100",placeholder:"请输入地址",type:"textarea"},model:{value:t.upload.src,callback:function(e){t.$set(t.upload,"src",e)},expression:"upload.src"}})],1)],1),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.upload.box=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.uploadSubmit}},[t._v("确 定")])],1)],1),n("el-dialog",{staticClass:"web__dialog",attrs:{visible:t.show,width:"40%","append-to-body":"","before-close":t.handleClose},on:{"update:visible":function(e){t.show=e}}},[t.imgSrc?n("img",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.imgSrc}}):t._e(),t.videoSrc?n("video",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.videoSrc,controls:"controls"}}):t._e(),t.audioSrc?n("audio",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.audioSrc,controls:"controls"}}):t._e()])],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(40),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(168),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b({reverse:t.reverse})},[n("img",{class:t.b("avatar"),attrs:{src:t.avatar,alt:""}}),n("div",{class:t.b("main")},[n("div",{class:t.b("header")},[t.author?n("div",{class:t.b("author"),domProps:{textContent:t._s(t.author)}}):t._e(),t._t("default")],2),t.body?n("div",{class:t.b("body"),domProps:{innerHTML:t._s(t.body)}}):t._e()])])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(41),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(173),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=n(6),o=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t,e,n,r){function a(t){return t.en?h.name(!0):h.cname()}function s(t){var e=t.max,n=t.min,i=t.precision;if(i){var r=h.float(n,e,i)+"",o=r.indexOf(".")+1;return Number(r.substring(0,o+i))}return h.integer(n,e)}function l(t){var e=t.header,n=(t.footer,h.url()),i=n.indexOf("://");return n=!1===e?n.substring(i+3):"http://"+n.substring(i+3)}function u(t){var e=t.format;return t.now?h.now(e):h.datetime(e)}function c(t){var e=t.min,n=t.max;return h.csentence(e,n)}function d(){return h.county(!0)}function f(t){var e=t.dic,n=t.props,i=t.columnType,r=t.multiple,o=n.value||"value",a=e.length;if(["checkbox"].includes(i)||r){for(var l=s({min:1,max:a}),u=[],c=0;c0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this.CONTAINERID=(0,o.randomId)(),this.drawCanvas=this.drawCanvas.bind(this),this.parentObserver=this.parentObserver.bind(this),this.Repaint=this.Repaint.bind(this),this.isOberserve=!1,this.init(e),this.drawCanvas(),this.parentObserver()}return r(t,[{key:"init",value:function(t){this.option={},this.option.text=t.text||"avue商用通用无敌大水印",this.option.font=t.font||"30px 黑体",this.option.canvasWidth=t.canvasWidth||500,this.option.canvasHeight=t.canvasHeight||200,this.option.textAlign=t.textAlign||"center",this.option.textStyle=t.textStyle||"rgba(100,100,100,0.15)",this.option.degree=t.degree||-20}},{key:"drawCanvas",value:function(){this.isOberserve=!0;var t=document.createElement("div"),e=document.createElement("canvas"),n=e.getContext("2d");t.id=this.CONTAINERID,e.width=this.option.canvasWidth,e.height=this.option.canvasHeight,n.font=this.option.font,n.textAlign=this.option.textAlign,n.fillStyle=this.option.textStyle,n.translate(e.width/2,e.height/2),n.rotate(this.option.degree*Math.PI/180),n.fillText(this.option.text,0,0);var i=e.toDataURL("image/png");this.styleStr="\n position:fixed;\n top:0;\n left:0;\n width:100%;\n height:100%;\n z-index:9999;\n pointer-events:none;\n background-repeat:repeat;\n background-image:url('"+i+"')",t.setAttribute("style",this.styleStr),document.body.appendChild(t),this.wmObserver(t),this.isOberserve=!1}},{key:"wmObserver",value:function(t){var e=this,n={attributes:!0,childList:!0,characterData:!0},i=new MutationObserver(function(t){if(!e.isOberserve){var n=t[0].target;n.setAttribute("style",e.styleStr),n.setAttribute("id",e.CONTAINERID),i.takeRecords()}});i.observe(t,n)}},{key:"parentObserver",value:function(){var t=this;new MutationObserver(function(){if(!t.isOberserve){var e=document.querySelector("#"+t.CONTAINERID);e?e.getAttribute("style")!==t.styleStr&&e.setAttribute("style",t.styleStr):t.drawCanvas()}}).observe(document.querySelector("#"+this.CONTAINERID).parentNode,{childList:!0})}},{key:"Repaint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.remove(),this.init(t),this.drawCanvas()}},{key:"remove",value:function(){this.isOberserve=!0;var t=document.querySelector("#"+this.CONTAINERID);t.parentNode.removeChild(t)}}]),t}();e.default=a},function(t,e,n){"use strict";function i(t){var e,n,i,r;for(e="",i=t.length,n=0;n=1&&r<=127?e+=t.charAt(n):r>2047?(e+=String.fromCharCode(224|r>>12&15),e+=String.fromCharCode(128|r>>6&63),e+=String.fromCharCode(128|r>>0&63)):(e+=String.fromCharCode(192|r>>6&31),e+=String.fromCharCode(128|r>>0&63));return e}function r(t){var e,n,i,r,a,s;for(i=t.length,n=0,e="";n>2),e+=o.charAt((3&r)<<4),e+="==";break}if(a=t.charCodeAt(n++),n==i){e+=o.charAt(r>>2),e+=o.charAt((3&r)<<4|(240&a)>>4),e+=o.charAt((15&a)<<2),e+="=";break}s=t.charCodeAt(n++),e+=o.charAt(r>>2),e+=o.charAt((3&r)<<4|(240&a)>>4),e+=o.charAt((15&a)<<2|(192&s)>>6),e+=o.charAt(63&s)}return e}Object.defineProperty(e,"__esModule",{value:!0});var o=(e.getToken=function(t,e,n){var o=JSON.stringify(n),s=r(i(o)),l=CryptoJS.HmacSHA1(s,e),u=l.toString(CryptoJS.enc.Base64),c=t+":"+a(u)+":"+s;return c},"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),a=(new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1),function(t){return t=t.replace(/\+/g,"-"),t=t.replace(/\//g,"_")})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.getClient=function(t){return new OSS(t)}},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"loading",rawName:"v-loading.lock",value:t.loading,expression:"loading",modifiers:{lock:!0}}],class:t.b()},[n("el-upload",{class:t.b({list:"picture-img"==t.listType,upload:t.disabled}),attrs:{action:t.action,"on-remove":t.handleRemove,accept:t.acceptList,"before-remove":t.beforeRemove,multiple:t.multiple,"on-preview":t.handlePreview,limit:t.limit,"http-request":t.httpRequest,drag:t.drag,readonly:t.readonly,"show-file-list":!t.isPictureImg&&t.showFileList,"list-type":t.listType,"on-change":t.handleFileChange,"on-exceed":t.handleExceed,disabled:t.disabled,"file-list":t.fileList},nativeOn:{click:function(e){return t.handleClick(e)}}},["picture-card"==t.listType?[n("i",{staticClass:"el-icon-plus"})]:"picture-img"==t.listType?[t.imgUrl?n("el-image",t._b({class:t.b("avatar"),attrs:{src:t.imgUrl,"preview-src-list":[t.imgUrl]},on:{mouseover:function(e){t.menu=!0}}},"el-image",t.allParams,!1)):n("i",{staticClass:"el-icon-plus",class:t.b("icon")}),t.menu?n("div",{staticClass:"el-upload-list__item-actions",class:t.b("menu"),on:{mouseover:function(e){t.menu=!0},mouseout:function(e){t.menu=!1},click:function(t){return t.stopPropagation(),!1}}},[n("i",{staticClass:"el-icon-zoom-in",on:{click:function(e){return e.stopPropagation(),t.handlePreview({url:t.imgUrl})}}}),t.disabled?t._e():n("i",{staticClass:"el-icon-delete",on:{click:function(e){return e.stopPropagation(),t.handleDelete(t.imgUrl)}}})]):t._e()]:t.drag?[n("i",{staticClass:"el-icon-upload"}),n("div",{staticClass:"el-upload__text"},[t._v("\n 将文件拖到此处,或\n "),n("em",[t._v("点击上传")])])]:[n("el-button",{attrs:{size:"small",type:"primary"}},[t._v("点击上传")])],n("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[t._v(t._s(t.tip))])],2),n("el-dialog",{class:t.b("dialog"),attrs:{"append-to-body":"","modal-append-to-body":!1,visible:t.dialogVisible},on:{"update:visible":function(e){t.dialogVisible=e}}},[t.typeList.img.test(t.dialogUrl)?n("img",{staticStyle:{"max-width":"100%"},attrs:{src:t.dialogUrl,alt:""}}):t.typeList.video.test(t.dialogUrl)?n("video",{staticStyle:{"max-width":"100%"},attrs:{controls:"controls",src:t.dialogUrl}}):t._e()])],1)},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(68),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(226),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("canvas",{ref:"canvas",class:t.b("canvas"),attrs:{width:t.width,height:t.height}})])},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(69),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(228),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement;return(t._self._c||e)("el-slider",{attrs:{disabled:t.disabled,step:t.step,min:t.min,max:t.max,range:t.range,"show-stops":t.showStops,"show-input":t.showInput,"format-tooltip":t.formatTooltip},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})},r=[],o={render:i,staticRenderFns:r};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(70),r=n.n(i);for(var o in i)"default"!==o&&function(t){n.d(e,t,function(){return i[t]})}(o);var a=n(233),s=n(0),l=s(r.a,a.a,!1,null,null,null);e.default=l.exports},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n');this.obj=e;var n=document.querySelector(e.el),o="";if("object"===r(e.style))for(var a in e.style)o+=a+": "+e.style[a]+";";for(var s='',l=[],u=1;u<10;u++)l.push(u.toString());l.push("0");for(var c=e.keys||[["`"].concat(l).concat(["-","=","Delete"]),["Tab","q","w","e","r","t","y","u","i","o","p","[","]","\\"],["Caps","a","s","d","f","g","h","j","k","l",";","'","Enter"],["Shift","z","x","c","v","b","n","m",",",".","/","Shift"],["Space"]],d=void 0,f=[],p=[],h=0;h");continue;case"/":f[h].push("?");continue}f[h].push(d[m].toUpperCase())}}for(var v=0;v';for(var y=0;y'+d[y]+"
";s+=" "}s+=" ",n.innerHTML=s;var b=!1;if(c.forEach(function(t){if(t.includes("Shift"))return void(b=!0)}),b){document.querySelectorAll(e.el+" .akeyboard-keyboard-keys-Shift").forEach(function(t){t.onclick=function(){if(this.isShift){t.isShift=!1,t.innerHTML="Shift",this.classList.remove("keyboard-keyboard-keys-focus");for(var n=document.querySelectorAll(e.el+" .akeyboard-keyboard-innerKeys"),i=void 0,r=0;r