From 8c95a4d34bc12b420390807409b3b40cbe52016e Mon Sep 17 00:00:00 2001 From: Paul T Date: Sat, 31 Oct 2015 19:28:19 -0400 Subject: [PATCH] Updated Built Library --- dist/jquery.SPWidgets.js | 1808 ++++++++++-------------------- dist/jquery.SPWidgets.min.js | 10 +- dist/jquery.SPWidgets.min.js.map | 2 +- 3 files changed, 605 insertions(+), 1215 deletions(-) diff --git a/dist/jquery.SPWidgets.js b/dist/jquery.SPWidgets.js index 7b4691e..900bc12 100644 --- a/dist/jquery.SPWidgets.js +++ b/dist/jquery.SPWidgets.js @@ -1,6 +1,6 @@ -/*! SPWidgets v2.5.2 2015-10-17 | MIT | Copyright (c) 2015 Paul Tavares | http://purtuga.github.io/SPWidgets */ +/*! SPWidgets v2.5.1 2015-10-31 | MIT | Copyright (c) 2015 Paul Tavares | http://purtuga.github.io/SPWidgets */ ;(function() { -var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsutils_dataStore, src_jsutils_Compose, src_sputils_getNodesFromXml, src_models_ListModel, src_sputils_doesMsgHaveError, src_spapi_getList, src_models_ListItemModel, src_spapi_getListItems, src_models_ListColumnModel, src_spapi_getListColumns, src_spapi_getListFormCollection, src_sputils_getMsgError, src_spapi_updateListItems, src_sputils_fillTemplate, src_uiutils_makeSameHeight, src_uiutils_addHoverEffect, text_src_boardWidget_boardhtml, less_src_boardWidget_board, src_boardWidget_board, text_src_dateFieldWidget_dateFieldhtml, src_sputils_getDateString, src_sputils_parseDateString, less_src_dateFieldWidget_dateField, src_dateFieldWidget_dateField, text_src_lookupFieldWidget_lookupFieldhtml, src_sputils_getCamlLogical, src_sputils_parseLookupFieldValue, src_sputils_xmlEscape, less_src_lookupFieldWidget_lookupField, src_lookupFieldWidget_lookupField, text_src_peoplePickerWidget_peoplePickerhtml, src_spapi_searchPrincipals, src_spapi_resolvePrincipals, less_src_peoplePickerWidget_peoplePicker, src_peoplePickerWidget_peoplePicker, text_src_filterPanelWidget_filterPanelhtml, text_src_filterPanelWidget_filterPanelColumnhtml, text_src_filterPanelWidget_filterPanelChoiceFieldhtml, text_src_filterPanelWidget_filterPanelTextFieldhtml, less_src_filterPanelWidget_filterPanel, src_filterPanelWidget_filterPanel, text_src_uploadWidget_uploadhtml, src_sputils_getSPVersion, less_src_uploadWidget_upload, src_uploadWidget_upload, src_spapi_getSiteListCollection, src_spapi_getUserProfile, src_SPWidgets; +var src_spapi_getSiteUrl, src_sputils_cache, src_spapi_getList, src_sputils_doesMsgHaveError, src_spapi_getListFormCollection, src_sputils_getNodesFromXml, src_spapi_getListItems, src_sputils_getMsgError, src_spapi_updateListItems, src_sputils_fillTemplate, src_uiutils_makeSameHeight, src_uiutils_addHoverEffect, text_src_boardWidget_boardhtml, less_src_boardWidget_board, src_boardWidget_board, text_src_dateFieldWidget_dateFieldhtml, src_sputils_getDateString, src_sputils_parseDateString, less_src_dateFieldWidget_dateField, src_dateFieldWidget_dateField, text_src_lookupFieldWidget_lookupFieldhtml, src_sputils_getCamlLogical, src_sputils_parseLookupFieldValue, src_sputils_xmlEscape, less_src_lookupFieldWidget_lookupField, src_lookupFieldWidget_lookupField, text_src_peoplePickerWidget_peoplePickerhtml, src_spapi_searchPrincipals, src_spapi_resolvePrincipals, less_src_peoplePickerWidget_peoplePicker, src_peoplePickerWidget_peoplePicker, text_src_filterPanelWidget_filterPanelhtml, text_src_filterPanelWidget_filterPanelColumnhtml, text_src_filterPanelWidget_filterPanelChoiceFieldhtml, text_src_filterPanelWidget_filterPanelTextFieldhtml, less_src_filterPanelWidget_filterPanel, src_filterPanelWidget_filterPanel, text_src_uploadWidget_uploadhtml, src_sputils_getSPVersion, less_src_uploadWidget_upload, src_uploadWidget_upload, src_spapi_getSiteListCollection, src_spapi_getUserProfile, src_SPWidgets; (function (factory) { if (typeof define === 'function' && define.amd) { define(['jquery'], factory); @@ -200,464 +200,107 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti //end: cache method. return cache; }(); - src_jsutils_objectExtend = function () { + src_spapi_getList = function ($, cache, getSiteUrl) { /** - * Extends an object with the properties of another. - * - * @name objectExtend - * - * @param {Object} mergeIntoObj - * @param {...Object} copyObj1 - * - * @return {Object} - */ - var objectExtend = function (mergeIntoObj) { - var response = mergeIntoObj || {}, copyObjs = Array.prototype.slice.call(arguments, 1), total = copyObjs.length, i, key; - for (i = 0; i < total; i++) { - if (!copyObjs[i]) { - continue; - } - for (key in copyObjs[i]) { - if (copyObjs[i].hasOwnProperty(key)) { - response[key] = copyObjs[i][key]; - } - } - } - return response; - }; - return objectExtend; - }(); - src_jsutils_dataStore = function () { - // POLYFILL FOR WEAKMAP - // [pt] changed how "delete" is defined so that it can work in IE8 - /* jshint ignore:start */ - /** - * @license - * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. - * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt - * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt - * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt - * Code distributed by Google as part of the polymer project is also - * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt - */ - if (typeof WeakMap === 'undefined') { - (function () { - var defineProperty = Object.defineProperty; - var counter = Date.now() % 1000000000; - var WeakMap = function () { - this.name = '__st' + (Math.random() * 1000000000 >>> 0) + (counter++ + '__'); - }; - WeakMap.prototype = { - set: function (key, value) { - var entry = key[this.name]; - if (entry && entry[0] === key) - entry[1] = value; - else - defineProperty(key, this.name, { - value: [ - key, - value - ], - writable: true - }); - return this; - }, - get: function (key) { - var entry; - return (entry = key[this.name]) && entry[0] === key ? entry[1] : undefined; - }, - // [pt] Quotes around the delete property needed for IE8 - 'delete': function (key) { - var entry = key[this.name]; - if (!entry || entry[0] !== key) - return false; - entry[0] = entry[1] = undefined; - return true; - }, - has: function (key) { - var entry = key[this.name]; - if (!entry) - return false; - return entry[0] === key; - } - }; - window.WeakMap = WeakMap; - }()); - } - /* jshint ignore:end */ - /** - * Returns an object that contains an initialized WeakMap (`stash` property) - * where data can be stored. - * - * @namespace dataStore - * - */ - var dataStore = /** @lends dataStore */ - { - /** - * Stash data here. - * @type WeakMap - */ - stash: new WeakMap(), - /** - * Create a private data store and return it. - * @return {WeakMap} - */ - create: function () { - return new WeakMap(); - } - }; - return dataStore; - }(); - src_jsutils_Compose = function (objectExtend, dataStore) { - /** - * Composes new factory methods from a list of given Objects/Classes. - * - * @constructor Compose - * - * @example - * - * var Widget = Compose.create(Model, Events); - * - * myWidget = Widget.create(); - * - */ - var - // return all KEYs of an object, even those that are not iterable - objectKeys = function (prototype) { - var k, keys = []; - for (k in prototype) { - keys.push(k); - } - return keys; - }, objectCreate = Object.create, instData = dataStore.stash, - // Base instance methods for Compose'd object - baseMethods = /** @lends Compose.prototype */ - { - /** - * Property indicating whether instance has been destroyed - */ - isDestroyed: false, - /** - * instance initializing code - */ - init: function () { - }, - /** - * Destroys the instance, by removing its private data. - */ - destroy: function () { - var hasCallbacks = this.__onDestroy, onDestroyCallbacks; - if (hasCallbacks) { - onDestroyCallbacks = instData.get(hasCallbacks); - if (Array.isArray(onDestroyCallbacks)) { - onDestroyCallbacks.forEach(function (callback, i) { - if ('function' === typeof callback) { - callback(); - } - onDestroyCallbacks[i] = null; - }); - } - instData['delete'](hasCallbacks); - } - instData['delete'](this); - this.isDestroyed = true; - }, - /** - * Adds a callback to the queue to be called when this object's `.destroy()` - * is called. - * - * @param {Function} callback - */ - onDestroy: function (callback) { - if (!this.__onDestroy) { - this.__onDestroy = function () { - }; - } - if ('function' === typeof callback) { - var key = this.__onDestroy, onDestroyCallbacks = instData.get(key); - if (!onDestroyCallbacks) { - onDestroyCallbacks = []; - instData.set(key, onDestroyCallbacks); - } - onDestroyCallbacks.push(callback); - } - } - }, staticMethods = /** @lends Compose */ - { - /** - * Creates an new factory based on the prototye of the current Factory - * and any other Factory given on input. - * - * @return {Compose} - */ - extend: function () { - var args = Array.prototype.slice.call(arguments), Factory = function () { - }; - Factory.prototype = args.reduce(function (newProto, obj) { - if (obj) { - var thisObjProto = obj.prototype || obj; - objectKeys(thisObjProto).forEach(function (objKey) { - newProto[objKey] = thisObjProto[objKey]; - }); - } - return newProto; - }, objectCreate(this.prototype)); - return objectExtend(Factory, this); - }, - /** - * Checks if the Object given on input looks like an instance of this Factory. - * - * @return {Boolean} - */ - isInstanceOf: function (instanceObj) { - if (!instanceObj) { - return false; - } - var neededKeys = objectKeys(this.prototype); - // If any prototype key is not in the object prototype, then return false - return !neededKeys.some(function (protoKey) { - return typeof instanceObj[protoKey] === 'undefined'; - }); - }, - /** - * Creates an instance object based on this factory. - * - * @return {Object} - */ - create: function () { - var instance = objectCreate(this.prototype); - if (instance.init) { - instance.init.apply(instance, arguments); - } - return instance; - } - }, Compose = function () { - }; - Compose.prototype = objectCreate(baseMethods); - objectExtend(Compose, staticMethods); - return Compose; - }(src_jsutils_objectExtend, src_jsutils_dataStore); - src_sputils_getNodesFromXml = function ($) { - /** - * Returns the requested nodes from the given xml document + * Get a list definition from sharepoint or return its cached version + * if one exists. + * @function * * @param {Object} options * - * @param {XMLDocument} options.xDoc - * - * @param {String} options.nodeName - * - * @param {Boolean} [options.asJQuery=false] - * If true, then xmlNodes will be returned as a jQuery - * selection object, ready to be traversed and/or filtered. - * - * @param {Boolean} [options.cleanAttr=true] - * if true, the 'ows_' will be stripped from column names. - * Only used when asJQuery=false. - * - * @param {Object} [options.nodeModel=null] - * A factory constructor that will be used to build each node. - * Factory must have a `create` member that will be called with - * the object. The model constructor method should have a signature - * of the following: `function(modelData, options)` - * - * @param {Object} [options.nodeModelOptions] - * Any data to be passed to the `nodeModel` constructor as the second - * argument. NOTE that this method will add an attribute to the options - * called 'source' that will contain the XML node used to create the object - * - * @param {Boolean} [options.convertTypes=false] - * When true, this method will attempt to convert certain known - * String values to javascript natives (ex. `"TRUE"` would become `true`) - * - * - * @return {Array|jQuery} - * Each object that represents an XML node will contain properties - * for each attribute found on that node. Also, the Object will - * contain a special attribute - ___xmlNode - that is the actual - * xml node. - * - * @example - * - * API.getNodesFromXml({ - * xDoc: jgXHR.responseXML, - * nodeName: "z:row" - * }); - * - * // returns something similar to the following: - * { - * ID: "123", - * Title: "item title", - * ___xmlNode: XMLElement - * } + * @param {String} options.listName + * @param {String} [options.webURL=''] + * @param {Boolean} [options.async=true] + * @param {Boolean} [options.cacheXML=true] + * The message response is cached UNTIL the next time the same + * request is received with cacheXML set to false. + * @param {Function} [options.completefunc=null] + * Deprecated. Use returned promise to process response. * + * @return {jQuery.Promise} + * Resolved with 3 input params: data, textStatus, jqXHR * */ - var getNodesFromXml = function (options) { - var opt = $.extend({}, { - xDoc: null, - nodeName: '', - asJQuery: false, - cleanAttr: true, - nodeModel: null, - nodeModelOptions: null, - convertTypes: false - }, options), nodes = opt.xDoc.getElementsByTagName(opt.nodeName), getNodeAsObj, nodeList, i, j; - if (nodes.length === 0 && opt.nodeName === 'z:row') { - nodes = opt.xDoc.getElementsByTagName('row'); + var getList = function () { + var getListData = null, callerFn = function getList() { + return getListData.apply(this, arguments); + }; + // Define defaults. User can change these on their function attachement. + callerFn.defaults = { + listName: '', + webURL: '', + cacheXML: true, + async: true, + completefunc: null + }; + // Makes the ajax call to sharepoint and returns a jQuery.promise + getListData = function (opt) { + var options = $.extend({}, callerFn.defaults, opt), reqPromise; + if (!options.webURL) { + options.webURL = getSiteUrl(); + } else if (options.webURL.charAt(options.webURL.length - 1) !== '/') { + options.webURL += '/'; } - if (nodes.length === 0 && opt.nodeName === 'rs:data') { - nodes = opt.xDoc.getElementsByTagName('data'); + options.webURL += '_vti_bin/Lists.asmx'; + options.cacheKey = options.webURL + '?List=' + options.listName; + options.isCached = cache.isCached(options.cacheKey); + // If cacheXML is true and we have a cached version, return it. + if (options.cacheXML && options.isCached) { + reqPromise = cache(options.cacheKey); + // If a completefunc was defined on this call, + // execute it. + if ($.isFunction(options.completefunc)) { + reqPromise.then(function (data, textStatus, jqXHR) { + options.completefunc(jqXHR, textStatus); + }); + } + return reqPromise; } - if (opt.asJQuery === true) { - return $(nodes); + // If cacheXML is FALSE, and we have a cached version of this key, + // then remove the cached version - basically reset + if (options.isCached) { + cache.clear(options.cacheKey); } - nodeList = []; - getNodeAsObj = function (ele) { - var attrs = ele.attributes, row = {}, name, x, y; - for (x = 0, y = attrs.length; x < y; x++) { - name = attrs[x].name; - if (opt.cleanAttr) { - if (name.indexOf('ows_') > -1) { - name = name.replace('ows_', ''); - } + reqPromise = $.Deferred(function (dfd) { + $.ajax({ + type: 'POST', + cache: false, + async: options.async, + url: options.webURL, + contentType: 'text/xml;charset=utf-8', + dataType: 'xml', + data: '' + '' + '' + options.listName + '' + }).done(function (data, textStatus, jqXHR) { + dfd.resolveWith($, [ + data, + textStatus, + jqXHR + ]); + if ($.isFunction(options.completefunc)) { + // Call the complete function (same signature as SPServices) + options.completefunc(jqXHR, textStatus); } - if (opt.convertTypes) { - row[name] = getJsNativeFromString(attrs[x].value); - } else { - row[name] = attrs[x].value; + }).fail(function () { + dfd.rejectWith($, arguments); + // If cacheXML was true, then remove this from cache. + // No point in caching failures. + if (options.cacheXML) { + cache.clear(options.cacheKey); } - } - // Also store the original xml node - // FIXME: remove ___xmlNode from object - row.___xmlNode = ele; - if (opt.nodeModel && opt.nodeModel.create) { - return opt.nodeModel.create(row, $.extend({}, opt.nodeModelOptions, { source: ele })); - } else { - return row; - } - }; - for (i = 0, j = nodes.length; i < j; i++) { - nodeList.push(getNodeAsObj(nodes[i])); - } - return nodeList; - }, - //end: API.getNodesFromXml - /** - * Returns a JS native type (if possible) from the given string. - * @private - * @param {String} str - * - * @return {String|Object} - */ - getJsNativeFromString = function (str) { - if (!str) { - return str; - } - var response = str; - switch (str.toUpperCase()) { - case 'TRUE': - response = true; - break; - case 'FALSE': - response = false; - break; - } - return response; - }; - getNodesFromXml.getJsNativeFromString = getJsNativeFromString; - return getNodesFromXml; - }(jquery); - src_models_ListModel = function (Compose, objectExtend, dataStore, getNodesFromXml) { - var instData = dataStore.stash, - /** - * List model. Contains the List definition data. - * - * @constructor ListModel - * @extends Compose - * - * @param {XMLDocument|Object} source - * The list source - either an XML document or an Object - * - * @param {Object} [options] - * - * @param {String} [options.type="xml"] - * the type data in `source`. Supported values are `xml` and `json` - * - * @param {String} [options.webURL=""] - * The Full webURL of the Site for the list (ex. `https://.../sites/web1`). - * Option enables some of the value added methods of this model - * - */ - ListModel = /** @lends ListModel.prototype */ - { - init: function (source, options) { - var me = this, opt = objectExtend({}, ListModel.defaults, options), listObj; - opt.type = opt.type.toLowerCase(); - opt.source = source; - instData.set(me, opt); - if (opt.type === 'xml') { - listObj = getListDetailsFromXML.call(me, opt.source); - } else if (opt.type === 'json') { - listObj = getListDetailsFromJSON.call(me, opt.source); - } - objectExtend(me, listObj); - }, - /** - * returns the original list source used to build the model. - */ - getSource: function () { - return instData.get(this).source; - }, - /** - * Returns the url to the list. The absolute URL (ex. `https://.../sites/web1`) - * will be returned _if_ the model was initialized with the `options.webURL` - * defined on input.. Else, the absolute path from the root of the domain will - * be returned (ex. `/sites/web1`). - * - * @return {String} - */ - getListUrl: function () { - var opt = instData.get(this), rootUrl; - if (!opt.webURL) { - return this.RootFolder || ''; - } - rootUrl = opt.webURL.substr(0, opt.webURL.indexOf(this.WebFullUrl)); - if (!rootUrl) { - return this.RootFolder || ''; - } - return rootUrl + this.RootFolder; + }); + }).promise(); + // If cacheXML was true, then cache this promise + if (options.cacheXML) { + cache(options.cacheKey, reqPromise); } - }, - /** - * Returns an object with the list definition from an XML document - * @private - * @return {Object} - */ - getListDetailsFromXML = function (xmlDoc) { - var listDef = getNodesFromXml({ - xDoc: xmlDoc, - nodeName: 'List', - convertTypes: true - }).shift(); - delete listDef.Fields; - delete listDef.RegionalSettings; - delete listDef.ServerSettings; - delete listDef.___xmlNode; - return listDef; - }, - /** - * returns an object with the list definition from a JSON response object. - */ - getListDetailsFromJSON = function () { + return reqPromise; }; - ListModel = Compose.extend(ListModel); - ListModel.defaults = { - type: 'xml' // possible values: xml, json - }; - return ListModel; - }(src_jsutils_Compose, src_jsutils_objectExtend, src_jsutils_dataStore, src_sputils_getNodesFromXml); + //end: function() + return callerFn; + }(); + //end: .getList() + return getList; + }(jquery, src_sputils_cache, src_spapi_getSiteUrl); src_sputils_doesMsgHaveError = function ($) { /** * Checks if an xml message has an error. Taken from @@ -668,17 +311,11 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * @return {Boolean} */ var doesMsgHaveError = function (xmlMsg) { - // TODO: need to check if message is XML format. See http://stackoverflow.com/questions/8672597/how-should-i-test-if-an-object-is-a-xml-document-in-a-cross-browser-way var $msg = $(xmlMsg), spErrCode = $msg.find('ErrorCode'), response = false; if (!spErrCode.length) { - // Any "fauldcode" nodes? if ($msg.find('faultcode').length) { return true; } - // Any CopyResult nodes with ErrorMessage - if ($msg.find('CopyResult[ErrorMessage]').length) { - return true; - } return false; } spErrCode.each(function () { @@ -692,203 +329,49 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti /* doesMsgHaveError() */ return doesMsgHaveError; }(jquery); - src_spapi_getList = function ($, cache, getSiteUrl, ListModel, doesMsgHaveError) { - var - /** - * Get a list definition from sharepoint or return its cached version - * if one exists. - * @function - * - * @param {Object} options - * - * @param {String} options.listName - * @param {String} [options.webURL=''] - * @param {Boolean} [options.async=true] - * @param {Boolean} [options.cacheXML=true] - * The message response is cached UNTIL the next time the same - * request is received with cacheXML set to false. - * @param {Boolean} [options.ListModel] - * List model constructor factory. Factory must expose a method called - * `create` that accetps two input parameters: the source (XML, JSON) and - * the `options`. - * - * @return {jQuery.Promise} - * Resolved with 3 input params: data, textStatus, jqXHR - * - */ - getList = function (options) { - return getListDataUsingSoap.call(this, options); - }, getListDataUsingSoap = function (options) { - var opt = $.extend({}, getList.defaults, options), getCacheKey = function (listName) { - return opt.webURL + '?List=' + listName; - }, reqPromise; - if (!opt.webURL) { - opt.webURL = getSiteUrl(); - } else if (opt.webURL.charAt(opt.webURL.length - 1) !== '/') { - opt.webURL += '/'; - } - opt.webURL += '_vti_bin/Lists.asmx'; - opt.cacheKey = getCacheKey(opt.listName); - opt.isCached = cache.isCached(opt.cacheKey); - // If cacheXML is true and we have a cached version, return it. - if (opt.cacheXML && opt.isCached) { - return cache(opt.cacheKey); - } - // If cacheXML is FALSE, and we have a cached version of this key, - // then remove the cached version - basically reset - if (opt.isCached) { - cache.clear(opt.cacheKey); - } - reqPromise = $.Deferred(function (dfd) { - $.ajax({ - type: 'POST', - cache: false, - async: opt.async, - url: opt.webURL, - contentType: 'text/xml;charset=utf-8', - dataType: 'xml', - data: '' + '' + '' + opt.listName + '' - }).then(function (xmlDoc) { - // Any errors? if so, fail the deferred. - if (doesMsgHaveError(xmlDoc)) { - dfd.rejectWith($, arguments); - return; - } - var listDef = opt.ListModel.create(xmlDoc, { webURL: opt.webURL }); - // If cacheXML is true, then create cache with internal name and external - if (opt.cacheXML) { - // Was list name an internal UID? then use list Title - if (opt.listName.indexOf('{') === 0) { - cache(getCacheKey(listDef.Title), reqPromise); // Else, use the ID to cache - } else { - cache(getCacheKey(listDef.ID), reqPromise); - } - } - dfd.resolveWith($, [listDef]); - }).fail(function () { - dfd.rejectWith($, arguments); - // If cacheXML was true, then remove this from cache. - // No point in caching failures. - if (opt.cacheXML) { - cache.clear(opt.cacheKey); - } - }); - }).promise(); - // If cacheXML was true, then cache this promise - if (opt.cacheXML) { - cache(opt.cacheKey, reqPromise); - } - return reqPromise; - }; - getList.defaults = { - listName: '', - webURL: '', - cacheXML: true, - async: true, - ListModel: ListModel - }; - return getList; - }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_models_ListModel, src_sputils_doesMsgHaveError); - src_models_ListItemModel = function (Compose, objectExtend, dataStore) { - var data = dataStore.stash; - /** - * Model for SharePoint List Items (rows). Object return will include all of - * the properties that were given on input. - * - * @constructor ListItem - * @extends Compose - * - * @param {Object} itemData - * An object with the properties for the model - * @param {Object} [options] - * @param {Object} [options.itemData] - * @param {Object|String} [options.list] - * @param {String} [options.webURL] - * - */ - return Compose.extend(/** @lends ListItem.prototype */ - { - init: function (itemData, options) { - var opt = objectExtend({}, { - list: null, - webURL: null - }, options); - if (itemData) { - objectExtend(this, itemData); - } - data.set(this, opt); - } - }); - }(src_jsutils_Compose, src_jsutils_objectExtend, src_jsutils_dataStore); - src_spapi_getListItems = function ($, cache, getSiteUrl, getNodesFromXml, doesMsgHaveError, ListItemModel) { + src_spapi_getListFormCollection = function ($, cache, getSiteUrl, doesMsgHaveError) { /** - * Method to retrieve data from a SharePoint list using GetListItems or - * GetListItemChangesSinceToken operations of the List.axps webservice. - * @function + * Given a list name, this method will query the SP service and retrieve + * the list of forms for it. * - * @param {Object} opt - * Supports same input options as SPServices - * @param {Object} opt.listName - * @param {String} [opt.webURL="currentSiteWeb"] - * @param {String} [opt.viewName=""] - * @param {String} [opt.CAMLViewFields=""] - * @param {String} [opt.CAMLQuery=""] - * @param {String} [opt.CAMLQueryOptions=""] - * @param {String|Number} [opt.CAMLRowLimit=""] - * @param {String} [opt.operation="GetListItems"] - * Value Could also be set to "GetListItemChangesSinceToken". - * @param {Boolean} [opt.changeToken=""] - * Used only when opt.operation is "GetListItemChangesSinceToken" - * @param {Boolean} [opt.cacheXML=false] + * @param {Object} options + * @param {Object} options.listName + * @param {Object} [options.webUrl='currentSiteUrl'] + * @param {Object} [options.cacheXML=false] + * @param {Object} [options.async=true] + * @param {Object} [options.completefunc] + * Options is deprecated. Use .promise that is returned. * * @return {jQuery.Promise} - * Promise is resolved with 3 input parameters: - * Array = rows (could be empty if error) - * Object = jqXHR - * String = status + * Promise is resolved with two input params: + * XMLDocument : Response from Sharepoint + * status : the ajax status string (error or success) * */ - var getListItems = function () { - var getRows = null, callerFn = function getListItems() { - return getRows.apply(this, arguments); + var getListFormCollection = function () { + var getData = null, callerFn = function getListFormCollection() { + return getData.apply(this, arguments); }; // Define defaults. User can change these on their function attachment. callerFn.defaults = { listName: '', webURL: '', - viewName: '', - CAMLViewFields: '', - CAMLQuery: '', - CAMLRowLimit: '', - CAMLQueryOptions: '', - operation: 'GetListItems', - // Optionally: set it to = GetListItemChangesSinceToken cacheXML: false, async: true, - completefunc: null, - changeToken: '', - // GetListChangesSinceToken only - listItemModel: ListItemModel + completefunc: null }; - // Makes the AJax call to SharePoint to get the data. Returns a jQuery.Promise - getRows = function (opt) { + /** + * Retrieves the data from Sharepoint + */ + getData = function (opt) { var options = $.extend({}, callerFn.defaults, opt), reqPromise; if (!options.webURL) { options.webURL = getSiteUrl(); } else if (options.webURL.charAt(options.webURL.length - 1) !== '/') { options.webURL += '/'; } - options.webURL += '_vti_bin/Lists.asmx'; - options.cacheKey = options.webURL + '?' + [ - options.listName, - options.viewName, - options.CAMLViewFields, - options.CAMLQuery, - options.CAMLRowLimit, - options.CAMLQueryOptions, - options.operation, - options.changeToken - ].join('|'); + options.webURL += '_vti_bin/Forms.asmx'; + options.cacheKey = options.webURL + '?List=' + options.listName; options.isCached = cache.isCached(options.cacheKey); // If cacheXML is true and we have a cached version, return it. if (options.cacheXML && options.isCached) { @@ -896,18 +379,19 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // If a completefunc was defined on this call, // execute it. if ($.isFunction(options.completefunc)) { - reqPromise.then(function (rows, data, status) { - options.completefunc(data, status, rows); + reqPromise.then(function (xdata, status) { + options.completefunc(xdata, status); }); } return reqPromise; } - // If cacheXML is FALSE, and we have a cached version of this key, - // then remove the cached version - basically reset - if (options.isCached) { - cache.clear(options.cacheKey); - } + // Return a deferred. reqPromise = $.Deferred(function (dfd) { + // If cacheXML is FALSE, and we have a cached version of this key, + // then remove the cached version - basically reset + if (options.isCached) { + cache.clear(options.cacheKey); + } $.ajax({ type: 'POST', cache: false, @@ -915,332 +399,207 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti url: options.webURL, contentType: 'text/xml;charset=utf-8', dataType: 'xml', - data: '' + '' + '<' + options.operation + ' xmlns="http://schemas.microsoft.com/sharepoint/soap/">' + options.listName + '' + (options.viewName || '') + '' + (options.CAMLQuery || '') + '' + (options.CAMLViewFields || '') + '' + (options.CAMLRowLimit || 0) + '' + (options.CAMLQueryOptions || '') + '' + (options.operation === 'GetListItemChangesSinceToken' ? '' + options.changeToken + '' : '') + '', - complete: function (data, status) { - var rows = []; - if (status === 'error' || doesMsgHaveError(data)) { + data: '' + '' + '' + options.listName + '', + complete: function (xdata, status) { + // Process Error from status + if (status === 'error' || doesMsgHaveError(xdata)) { // If cacheXML was true, then remove this from cache. // No point in caching failures. if (options.cacheXML) { cache.clear(options.cacheKey); } dfd.rejectWith($, [ - rows, - data, + xdata, status ]); - if ($.isFunction(options.completefunc)) { - options.completefunc(data, status, rows); - } return; } - rows = getNodesFromXml({ - xDoc: data.responseXML, - nodeName: 'z:row', - nodeModel: options.listItemModel - }); dfd.resolveWith($, [ - rows, - data, + xdata, status ]); if ($.isFunction(options.completefunc)) { - options.completefunc(data, status, rows); + options.completefunc(xdata, status); } } //end: $.ajax().success() }); }).promise(); + //end: return .promise() // If cacheXML was true, then cache this promise if (options.cacheXML) { cache(options.cacheKey, reqPromise); } return reqPromise; }; - //end: getRows() + //end: getData return callerFn; }(); - //end: getListItems() - return getListItems; - }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_sputils_getNodesFromXml, src_sputils_doesMsgHaveError, src_models_ListItemModel); - src_models_ListColumnModel = function ($, Compose, objectExtend, dataStore, getNodesFromXml, getListItems) { - var instData = dataStore.stash, - /** - * list Column Model. - * - * @constructor ListColumnModel - * @extends Compose - * - * @param {Object} columnData - * A javascript Object with the column - * @param {Object} [options] - * @param {ListModel|String} [options.list=null] - * A reference to the [ListModel]{ListModel} of the column - * @param {String} [options.type="xml"] - * A static string of either `xml` or `json` - * (json not yet supported, 2015-07-03) - * @param {Object} [options.source=null] - * The source originally used to create the model. (ex. the XML node or the - * JSON response object) - * - */ - ListColumnModel = /** @lends ListColumn.prototype */ - { - init: function (columnData, options) { - var opt = objectExtend({}, ListColumnModel.defaults, options); - if (columnData) { - objectExtend(this, columnData); - } - instData.set(this, opt); - }, - /** - * Returns the values for the column. Useful for column of type Choice or Lookup. - * - * @return {Array} - */ - getColumnValues: function () { - var me = this, $colXml = $(instData.get(this).source), colType = me.Type, colValues = []; - switch (colType) { - case 'Choice': - case 'MultiChoice': - $colXml.find('CHOICE').each(function () { - colValues.push($(this).text() || ''); - }); - break; - case 'Lookup': - case 'LookupMulti': - // FIXME: need to make this async and return a promise - getListItems({ - listName: me.List, - cacheXML: true, - async: false, - CAMLQuery: '', - CAMLViewFields: '' - }).then(function (rows) { - colValues = rows; - }); - break; - } - return colValues; - }, - //end getColumnvalues() - /** - * returns the ListModel if one was given on input when listColumnModel instance - * was created. - * - * @return {ListModel} - */ - getList: function () { - return instData.get(this).list; - } - }; - ListColumnModel = Compose.extend(ListColumnModel); - ListColumnModel.defaults = { - list: null, - type: 'xml', - source: null - }; - return ListColumnModel; - }(jquery, src_jsutils_Compose, src_jsutils_objectExtend, src_jsutils_dataStore, src_sputils_getNodesFromXml, src_spapi_getListItems); - src_spapi_getListColumns = function ($, getList, cache, getNodesFromXml, ListColumnModel, dataStore) { - var instData = dataStore.stash, - /** - * Gets the list of columns names for the given list that are - * visible on edit/new/disp forms. This method attempts to NOT return any - * column that is internal. - * - * @param {Object|String} options - * An object with the options below, or a string with the listName. - * - * @param {String} options.listName - * The list name. - * - * @param {String} [options.columnName] - * Internal or External name of column. When set, only that one column will - * be returned. - * - * @param {String} [options.webURL] - * - * @param {Boolean} [options.cacheXML=true] - * If true (default), request will be cached. - * - * @param {Boolean} [options.async=true] - * If true (default) request will be async. - * - * @param {Object} [options.ListItemModel=ListColumnModel] - * The List Column Model factory to be used. Factory must expose a `create` method - * that accepts two input parameters: column definition (object) and options. - * See [ListColumnModel]{@link ListColumnModel} for more details. - * - * @return {jQuery.Promise} - * Deferred is resolved with an ListColumnCollection {@link ListColumnCollection} - * containing [ListColumnModels]{@link ListColumnModels} - * - * @example - * - * // Example of column definition object: - * - * { - * ColName: "nvarchar1", - * DisplayName: "Task Name", - * Name: "Title", - * StaticName: "Title", - * Type: "Text", - * FromBaseType: "TRUE", - * ID: "{fa564e0f-0c70-4ab9-b863-0177e6ddd247}", - * Required: "TRUE", - * Sealed: "TRUE", - * SourceID: "http://schemas.microsoft.com/sharepoint/v3", - * getColumnValues: function () {} - * } - */ - getListColumns = function (options) { - var opt = $.extend({}, getListColumns.defaults, typeof options === 'string' ? { listName: options } : options); - return $.Deferred(function (dfd) { - getList({ - listName: opt.listName, - cacheXML: opt.cacheXML, - webURL: opt.webURL, - async: opt.async - }).then(function (list) { - opt.listDef = list; - var columns = getNodesFromXml({ - xDoc: list.getSource(), - nodeName: 'Field', - nodeModel: opt.ListColumnModel, - nodeModelOptions: { list: list } // FIXME: need to set the convertTypes to true - }), cols = [], i, j; - for (i = 0, j = columns.length; i < j; i++) { - // Include only (all must match): - // - Hidden attribute not set to is not true (no internal SP fields) - // - Has to have a Display attribute - // - No AuthoringInfo attribute (these are used on the edit buttons) - if ((columns[i].Hidden === undefined || columns[i].Hidden === 'FALSE') && (columns[i].List === undefined || columns[i].List !== 'Docs' && columns[i].List !== 'AppPrincipals') && columns[i].DisplayName && columns[i].AuthoringInfo === undefined && (!opt.columnName || columns[i].Name === opt.columnName || columns[i].StaticName === opt.columnName || columns[i].DisplayName === opt.columnName) //&& String(columns[i].ColName).indexOf("tp_") !== 0 // this removes ID, CreatedBy,Modified,ModifiedBy,ContentType, etc... -) { - // FIXME: remove this once all is converted to models - // If XML property is present, remove it - if (columns[i].___xmlNode) { - delete columns[i].___xmlNode; - } - cols.push(columns[i]); - // If there was a column name defined on input, then - // break the loop... this was it. - // FIXME: remove this option from this method - if (opt.columnName) { - i += j; - } // ELSE: column must be internal... destroy model - } else if (opt.ListModel) { - columns[i].destroy(); - } - } - //end: for() - // Mixin additional methods into the array object and - // Store this getListItems opt in stash and associated with the result - $.extend(cols, listColumnCollectionMixin); - instData.set(cols, opt); - dfd.resolveWith($, [cols]); - return; - }).fail(function () { - dfd.rejectWith($, Array.prototype.slice.call(arguments, 0)); - }); - }).promise(); - }, - //end: getlistColumns - /** - * An Array of List Columns. Each object in the array is a - * [ListColumn]{@link ListColumnModel} model. - * This collection extends the Array instance created and provides additional - * methods for interacting with the collection. - * - * @typedef ListColumnCollection - * @property {Function} getColumn - * Returns a column by searching the array by its name (internal or external) - */ - listColumnCollectionMixin = { - /** - * Returns an object with the definition for the given column - * @param {String} name - * @return {ListColumnModel} - */ - getColumn: function (name) { - var list = this, col; - list.some(function (thisCol) { - if (thisCol.Name === name || thisCol.DisplayName === name || thisCol.StaticName === name) { - col = thisCol; - } - }); - return col; - }, - /** - * returns the ListModel for the list for which the collection was requested. - * - * @return {ListModel} - */ - getList: function () { - if (instData.has(this)) { - return instData.get(this).listDef; + //end: API.getListFormCollection() + return getListFormCollection; + }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_sputils_doesMsgHaveError); + src_sputils_getNodesFromXml = function ($) { + /** + * Returns the requested nodes from the given xml document + * + * @param {Object} options + * @param {XMLDocument} options.xDoc + * @param {String} options.nodeName + * @param {Boolean} [options.asJQuery=false] + * If true, then xmlNodes will be returned as a jQuery + * selection object, ready to be traversed and/or filtered. + * @param {Boolean} [options.cleanAttr=true] + * if true, the 'ows_' will be stripped from column names. + * Only used when asJQuery=false. + * + * @return {Array|jQuery} + * Each object that represents an XML node will contain properties + * for each attribute found on that node. Also, the Object will + * contain a special attribute - ___xmlNode - that is the actual + * xml node. + * + * @example + * + * API.getNodesFromXml({ + * xDoc: jgXHR.responseXML, + * nodeName: "z:row" + * }); + * + * // returns something similar to the following: + * { + * ID: "123", + * Title: "item title", + * ___xmlNode: XMLElement + * } + * + * + */ + var getNodesFromXml = function (options) { + var opt = $.extend({}, { + xDoc: null, + nodeName: '', + asJQuery: false, + cleanAttr: true + }, options), nodes = opt.xDoc.getElementsByTagName(opt.nodeName), getNodeAsObj, nodeList, i, j; + if (nodes.length === 0 && opt.nodeName === 'z:row') { + nodes = opt.xDoc.getElementsByTagName('row'); + } + if (nodes.length === 0 && opt.nodeName === 'rs:data') { + nodes = opt.xDoc.getElementsByTagName('data'); + } + if (opt.asJQuery === true) { + return $(nodes); + } + nodeList = []; + getNodeAsObj = function (ele) { + var attrs = ele.attributes, row = {}, name, x, y; + for (x = 0, y = attrs.length; x < y; x++) { + name = attrs[x].name; + if (opt.cleanAttr) { + if (name.indexOf('ows_') > -1) { + name = name.replace('ows_', ''); + } // Code below commented off because replacing the space does not really + // indicate that it is external name. + // if (name.indexOf("_x0020_") > -1) { + // + // name = name.replace(/_x0020_/g, " "); + // + // } } + row[name] = attrs[x].value; } + // Also store the original xml node + row.___xmlNode = ele; + return row; }; - //end: resultArrayMixins - /** - * Default input params - * @static - * @name getListColumns.defaults - * @type {Object} - */ - getListColumns.defaults = { - listName: '', - columnName: '', - cacheXML: true, - async: true, - webURL: null, - ListColumnModel: ListColumnModel + for (i = 0, j = nodes.length; i < j; i++) { + nodeList.push(getNodeAsObj(nodes[i])); + } + return nodeList; }; - return getListColumns; - }(jquery, src_spapi_getList, src_sputils_cache, src_sputils_getNodesFromXml, src_models_ListColumnModel, src_jsutils_dataStore); - src_spapi_getListFormCollection = function ($, cache, getSiteUrl, doesMsgHaveError) { + //end: API.getNodesFromXml + return getNodesFromXml; + }(jquery); + src_spapi_getListItems = function ($, cache, getSiteUrl, getNodesFromXml, doesMsgHaveError) { /** - * Given a list name, this method will query the SP service and retrieve - * the list of forms for it. + * Method to retrieve data from a SharePoint list using GetListItems or + * GetListItemChangesSinceToken operations of the List.axps webservice. + * @function * - * @param {Object} options - * @param {Object} options.listName - * @param {Object} [options.webUrl='currentSiteUrl'] - * @param {Object} [options.cacheXML=false] - * @param {Object} [options.async=true] - * @param {Object} [options.completefunc] - * Options is deprecated. Use .promise that is returned. + * @param {Object} opt + * Supports same input options as SPServices + * @param {Object} opt.listName + * @param {String} [opt.webURL="currentSiteWeb"] + * @param {String} [opt.viewName=""] + * @param {String} [opt.CAMLViewFields=""] + * @param {String} [opt.CAMLQuery=""] + * @param {String} [opt.CAMLQueryOptions=""] + * @param {String|Number} [opt.CAMLRowLimit=""] + * @param {String} [opt.operation="GetListItems"] + * Value Could also be set to "GetListItemChangesSinceToken". + * @param {Boolean} [opt.changeToken=""] + * Used only when opt.operation is "GetListItemChangesSinceToken" + * @param {Boolean} [opt.cacheXML=false] + * @param {Boolean} [opt.async=true] + * @param {Function} [opt.completefunc=null] + * Function given 3 input parameters: + * jqXHR (an Object) + * status (a String) + * rows (Array of Objects) * * @return {jQuery.Promise} - * Promise is resolved with two input params: - * XMLDocument : Response from Sharepoint - * status : the ajax status string (error or success) + * Promise is resolved with 3 input parameters: + * Array = rows (could be empty if error) + * Object = jqXHR + * String = status + * + * Dependencies: + * + * namespace.getSiteUrl() + * namespace.getNodesFromXml() + * namespace.doesMsgHaveError() + * namespace.cache() + * * */ - var getListFormCollection = function () { - var getData = null, callerFn = function getListFormCollection() { - return getData.apply(this, arguments); + var getListItems = function () { + var getRows = null, callerFn = function getListItems() { + return getRows.apply(this, arguments); }; // Define defaults. User can change these on their function attachment. callerFn.defaults = { listName: '', webURL: '', + viewName: '', + CAMLViewFields: '', + CAMLQuery: '', + CAMLRowLimit: '', + CAMLQueryOptions: '', + operation: 'GetListItems', + // Optionally: set it to = GetListItemChangesSinceToken cacheXML: false, async: true, - completefunc: null + completefunc: null, + changeToken: '' // GetListChangesSinceToken only }; - /** - * Retrieves the data from Sharepoint - */ - getData = function (opt) { + // Makes the AJax call to SharePoint to get the data. Returns a jQuery.Promise + getRows = function (opt) { var options = $.extend({}, callerFn.defaults, opt), reqPromise; if (!options.webURL) { options.webURL = getSiteUrl(); } else if (options.webURL.charAt(options.webURL.length - 1) !== '/') { options.webURL += '/'; } - options.webURL += '_vti_bin/Forms.asmx'; - options.cacheKey = options.webURL + '?List=' + options.listName; + options.webURL += '_vti_bin/Lists.asmx'; + options.cacheKey = options.webURL + '?' + [ + options.listName, + options.viewName, + options.CAMLViewFields, + options.CAMLQuery, + options.CAMLRowLimit, + options.CAMLQueryOptions, + options.operation, + options.changeToken + ].join('|'); options.isCached = cache.isCached(options.cacheKey); // If cacheXML is true and we have a cached version, return it. if (options.cacheXML && options.isCached) { @@ -1248,19 +607,18 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // If a completefunc was defined on this call, // execute it. if ($.isFunction(options.completefunc)) { - reqPromise.then(function (xdata, status) { - options.completefunc(xdata, status); + reqPromise.then(function (rows, data, status) { + options.completefunc(data, status, rows); }); } return reqPromise; } - // Return a deferred. + // If cacheXML is FALSE, and we have a cached version of this key, + // then remove the cached version - basically reset + if (options.isCached) { + cache.clear(options.cacheKey); + } reqPromise = $.Deferred(function (dfd) { - // If cacheXML is FALSE, and we have a cached version of this key, - // then remove the cached version - basically reset - if (options.isCached) { - cache.clear(options.cacheKey); - } $.ajax({ type: 'POST', cache: false, @@ -1268,44 +626,52 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti url: options.webURL, contentType: 'text/xml;charset=utf-8', dataType: 'xml', - data: '' + '' + '' + options.listName + '', - complete: function (xdata, status) { - // Process Error from status - if (status === 'error' || doesMsgHaveError(xdata)) { + data: '' + '' + '<' + options.operation + ' xmlns="http://schemas.microsoft.com/sharepoint/soap/">' + options.listName + '' + (options.viewName || '') + '' + (options.CAMLQuery || '') + '' + (options.CAMLViewFields || '') + '' + (options.CAMLRowLimit || 0) + '' + (options.CAMLQueryOptions || '') + '' + (options.operation === 'GetListItemChangesSinceToken' ? '' + options.changeToken + '' : '') + '', + complete: function (data, status) { + var rows = []; + if (status === 'error' || doesMsgHaveError(data)) { // If cacheXML was true, then remove this from cache. // No point in caching failures. if (options.cacheXML) { cache.clear(options.cacheKey); } dfd.rejectWith($, [ - xdata, + rows, + data, status ]); + if ($.isFunction(options.completefunc)) { + options.completefunc(data, status, rows); + } return; } + rows = getNodesFromXml({ + xDoc: data.responseXML, + nodeName: 'z:row' + }); dfd.resolveWith($, [ - xdata, + rows, + data, status ]); if ($.isFunction(options.completefunc)) { - options.completefunc(xdata, status); + options.completefunc(data, status, rows); } } //end: $.ajax().success() }); }).promise(); - //end: return .promise() // If cacheXML was true, then cache this promise if (options.cacheXML) { cache(options.cacheKey, reqPromise); } return reqPromise; }; - //end: getData + //end: getRows() return callerFn; }(); - //end: API.getListFormCollection() - return getListFormCollection; - }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_sputils_doesMsgHaveError); + //end: getListItems() + return getListItems; + }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_sputils_getNodesFromXml, src_sputils_doesMsgHaveError); src_sputils_getMsgError = function ($) { /** * Given a sharepoint webservices response, this method will @@ -1321,18 +687,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti if (!spErr.length) { spErr = xMsg.find('faultcode'); } - // See if any Elements with ErrorMssage attribute - if (!spErr.length) { - spErr = xMsg.find('CopyResult[ErrorMessage]'); - if (spErr.length) { - spErr.each(function () { - var thisErr = $(this); - count += 1; - error += '(' + count + ') ' + (thisErr.attr('ErrorCode') || 'unknown') + ': ' + thisErr.attr('ErrorMessage') + '\n'; - }); - return count + ' error(s) encountered! \n' + error; - } - } if (!spErr.length) { return ''; } @@ -1696,13 +1050,13 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti }(jquery); text_src_boardWidget_boardhtml = '
0
#{{ID}}: {{Title}}
'; less_src_boardWidget_board = undefined; - src_boardWidget_board = function ($, getSiteUrl, getListColumns, getListFormCollection, getListItems, updateListItems, getNodesFromXml, fillTemplate, makeSameHeight, addHoverEffect, doesMsgHaveError, getMsgError, boardTemplate) { + src_boardWidget_board = function ($, getSiteUrl, getList, getListFormCollection, getListItems, updateListItems, getNodesFromXml, fillTemplate, makeSameHeight, addHoverEffect, doesMsgHaveError, getMsgError, boardTemplate) { /** * Displays data from a list in Kan-Ban board using a specific column from * that list. Column (at this point) is assume to be a CHOICE type of field. * @namespace board */ - var Board = {}, showBoard, getBoardStates; + var Board = {}, showBoard; /** @property {Integer} The max number of columns that can be built (not displayed) */ Board.maxColumns = 20; /** @@ -2114,7 +1468,192 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * received a string with the error, xData and Status. * */ - getBoardStates: getBoardStates, + getBoardStates: function () { + return $.Deferred(function (dfd) { + // Get List information (use cached if already done in prior calls) + // and get list of States to build + getList({ + listName: opt.list, + cacheXML: true, + async: false, + webURL: opt.webURL, + completefunc: function (xData, status) { + // FIXME: need to handle errors + // if (resp.hasSPError()) { + // spAgile.logMsg({ + // type: "error", + // msg: resp.getSPError() + // }); + // return null; + // } + var resp = $(xData.responseXML), f = resp.find('Fields Field[StaticName=\'' + opt.field + '\']'); + // If we did not find the field by internal name, try external. + // If we found it by Display name, then lets change the + // field value... We need internal name for referencing + // item column values. + if (!f.length) { + f = resp.find('Fields Field[DisplayName=\'' + opt.field + '\']'); + if (!f.length) { + dfd.rejectWith(ele, [ + 'Field (' + opt.field + ') not found in list definition!', + xData, + status + ]); + return; + } + opt._origField = opt.field; + opt.field = f.attr('StaticName'); + } + // store if field is required + if (f.attr('Required') === 'TRUE') { + opt.isStateRequired = true; + } + // Override the calculated required state attribute + // if user set allowFieldBlanks on input + if (typeof opt.allowFieldBlanks === 'boolean') { + opt.isStateRequired = !opt.allowFieldBlanks; + } + switch (f.attr('Type').toLowerCase()) { + // CHOICE COLUMNS + case 'choice': + // Should there be a blank column? + if (!opt.isStateRequired) { + opt.states.push({ + type: 'choice', + title: opt.optionalLabel, + name: opt.optionalLabel + }); + opt.statesMap[''] = opt.states[opt.states.length - 1]; + } + if (opt.fieldFilter) { + opt.fieldFilter = opt.fieldFilter.split(/\,/); + } + f.find('CHOICES CHOICE').each(function (i) { + var thisChoice = $(this).text(); + // if there i sa filter and this column + // is not part of it, exit now + if (opt.fieldFilter) { + if (!$.grep(opt.fieldFilter, function (e) { + return e === thisChoice; + }).length) { + return; + } + } + // If we reached a max column number, exit here. + if (i >= Board.maxColumns) { + try { + console.log('SPWIDGETS:BOARD:Warning: Can only build a max of ' + Board.maxColumns + ' columns!'); + } catch (e) { + } + return false; + } + opt.states.push({ + type: 'choice', + title: thisChoice, + // extenal visible + name: thisChoice // internal name + }); + // Store State value in mapper (use internal name) + opt.statesMap[thisChoice] = opt.states[opt.states.length - 1]; + }); + dfd.resolveWith(opt, [ + xData, + status + ]); + break; + // LOOKUP COLUMNS + case 'lookup': + if (!opt.fieldFilter) { + opt.fieldFilter = ''; + } + // Query the lookup table and get the rows that + // should be used to build the states + getListItems({ + listName: f.attr('List'), + async: true, + cacheXML: true, + CAMLQuery: opt.fieldFilter, + webURL: opt.webURL, + CAMLRowLimit: Board.maxColumns, + CAMLViewFields: '', + completefunc: function (xData, status) { + // Process Errors + if (status === 'error') { + dfd.rejectWith(ele, [ + 'Communications Error!', + xData, + status + ]); + return; + } + var resp = $(xData.responseXML), $rows; + if (doesMsgHaveError(resp)) { + dfd.rejectWith(ele, [ + getMsgError(resp), + xData, + status + ]); + return; + } + // Should there be a blank column? + if (!opt.isStateRequired) { + opt.states.push({ + type: 'lookup', + title: opt.optionalLabel, + // extenal visible + name: '' // internal name + }); + opt.statesMap[''] = opt.states[opt.states.length - 1]; + } + // Loop thorugh all rows and build the + // array of states. + $rows = getNodesFromXml({ + xDoc: xData.responseXML, + nodeName: 'z:row', + asJQuery: true + }); + $rows.each(function (i) { + // If we reached a max column number, exit here. + if (i >= Board.maxColumns) { + try { + console.log('SPWIDGETS:BOARD:Warning: Can only build a max of ' + Board.maxColumns + ' columns!'); + } catch (e) { + } + return false; + } + var thisRow = $(this), thisId = thisRow.attr('ows_ID'), thisTitle = thisRow.attr('ows_' + f.attr('ShowField')), thisName = thisId + ';#' + thisTitle; + opt.states.push({ + type: 'lookup', + title: thisTitle, + // Extenal visible + name: thisName // internal name + }); + // Store State value in mapper (use internal name) + opt.statesMap[thisName] = opt.states[opt.states.length - 1]; + }); + dfd.resolveWith(opt, [ + xData, + status + ]); + return; + } //end: completefunc + }); + break; + // DEFAULT: Type on the column is not supported. + default: + dfd.rejectWith(ele, [ + 'Field (' + opt.field + ') Type (' + f.attr('Type') + ') is not supported!', + xData, + status + ]); + break; + } + return; + } //end: completefunc() + }); //end: getList + }).promise(); + }, + //end: getBoardStates() /** * Retrieves the items from the list for display on the board. * Method return a promise whose input param is an array of @@ -2162,18 +1701,31 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti CAMLRowLimit: 0, // FIXME: SP data should be paged?? CAMLViewFields: opt.CAMLViewFields, - webURL: opt.webURL - }).then(function (rows) { - opt.listItems = rows; - resolveDeferred(rows); - }) //end: completefunc() -.fail(function (rows, data, status) { - dfd.rejectWith($, [ - rows, - data, - status - ]); - }); + webURL: opt.webURL, + completefunc: function (xData, status, rows) { + // Process Errors + if (status === 'error') { + dfd.rejectWith(ele, [ + 'Communications Error!', + xData, + status + ]); + return; + } + var resp = $(xData.responseXML); + if (doesMsgHaveError(resp)) { + dfd.rejectWith(ele, [ + getMsgError(resp), + xData, + status + ]); + return; + } + // Store the list of items + opt.listItems = rows; + resolveDeferred(resp); + } //end: completefunc() + }); //end: getListItems } //end: else: get list items }).promise(); }, @@ -3155,167 +2707,10 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // a method might have generated if one was called. return retVal; }; - //end: showBoard() - /** - * Returns the board states (columns). - * @private - * @this board - */ - getBoardStates = function () { - var opt = this; - return $.Deferred(function (dfd) { - var rejectDeferred = function (jqXHR, msg) { - dfd.rejectWith($, [ - msg || 'Field (' + opt.field + ') not found in list definition!', - jqXHR, - 'error' - ]); - }; - // Get list columns from SP - getListColumns({ - listName: opt.list, - cacheXML: true, - webURL: opt.webURL - }).then(function (listCols) { - var f = listCols.getColumn(opt.field); - if (!f) { - rejectDeferred(null); - return; - } - // Lets make sure that when we deal with the server, we always - // use the Field's internal name - opt._origField = opt.field; - opt.field = f.Name; - // store if field is required - if (f.Required === 'TRUE') { - opt.isStateRequired = true; - } - // Override the calculated required state attribute - // if user set allowFieldBlanks on input - if (typeof opt.allowFieldBlanks === 'boolean') { - opt.isStateRequired = !opt.allowFieldBlanks; - } - // Process the column type (choice or Lookup) - switch (f.Type.toLowerCase()) { - // CHOICE COLUMNS - case 'choice': - // Should there be a blank column? - if (!opt.isStateRequired) { - opt.states.push({ - type: 'choice', - title: opt.optionalLabel, - name: opt.optionalLabel - }); - opt.statesMap[''] = opt.states[opt.states.length - 1]; - } - if (opt.fieldFilter) { - opt.fieldFilter = opt.fieldFilter.split(/\,/); - } - // Loop through the Columns allowed values - f.getColumnValues().some(function (colValue, i) { - // if there is a filter and this column - // is not part of it, exit loopnow - if (opt.fieldFilter) { - if (!$.grep(opt.fieldFilter, function (e) { - return e === colValue; - }).length) { - return; - } - } - // If we reached a max column number, exit here. - if (i >= Board.maxColumns) { - try { - console.log('SPWIDGETS:BOARD:Warning: Can only build a max of ' + Board.maxColumns + ' columns!'); - } catch (e) { - } - return true; // break the loop - } - opt.states.push({ - type: 'choice', - title: colValue, - // external visible value - name: colValue // internal name - }); - // Store State value in mapper (use internal name) - opt.statesMap[colValue] = opt.states[opt.states.length - 1]; - }); - dfd.resolveWith($, [opt.states]); - break; - // LOOKUP COLUMNS - case 'lookup': - if (!opt.fieldFilter) { - opt.fieldFilter = ''; - } - // Query the lookup table and get the rows that - // should be used to build the states - getListItems({ - listName: f.List, - async: true, - cacheXML: true, - CAMLQuery: opt.fieldFilter, - webURL: opt.webURL, - CAMLRowLimit: Board.maxColumns, - CAMLViewFields: '' - }).then(function (rows) { - // Process Errors - if (status === 'error') { - rejectDeferred(null, 'Communications Error!'); - return; - } - // Should there be a blank column? - if (!opt.isStateRequired) { - opt.states.push({ - type: 'lookup', - title: opt.optionalLabel, - // extenal visible - name: '' // internal name - }); - opt.statesMap[''] = opt.states[opt.states.length - 1]; - } - // Loop through the rows and build the State... break - // loop if we go over the max about of columns allowed. - rows.some(function (thisRow, i) { - // If we reached a max column number, exit here. - if (i >= Board.maxColumns) { - try { - console.log('SPWIDGETS:BOARD:Warning: Can only build a max of ' + Board.maxColumns + ' columns!'); - } catch (e) { - } - return true; - } - var thisId = thisRow.ID, thisTitle = thisRow[f.ShowField], thisName = thisId + ';#' + thisTitle; - opt.states.push({ - type: 'lookup', - title: thisTitle, - // Extenal visible - name: thisName // internal name - }); - // Store State value in mapper (use internal name) - opt.statesMap[thisName] = opt.states[opt.states.length - 1]; - }); - dfd.resolveWith(opt, [opt.states]); - return; - }).fail(function (jqXHR) { - rejectDeferred(jqXHR, 'Unable to get rows from Lookup column list'); - }); - break; - // DEFAULT: Type on the column is not supported. - default: - rejectDeferred(null, 'Field (' + opt.field + ') Type (' + f.Type + ') is not supported!'); - break; - } - // end: switch() - return; - }) // getListColumns failed -.fail(function (jqXHR) { - rejectDeferred(jqXHR); - }); - }).promise(); - }; - //end: getBoardStates() + //end: $.fn.SPShowBoard() showBoard.defaults = Board.defaults; return showBoard; - }(jquery, src_spapi_getSiteUrl, src_spapi_getListColumns, src_spapi_getListFormCollection, src_spapi_getListItems, src_spapi_updateListItems, src_sputils_getNodesFromXml, src_sputils_fillTemplate, src_uiutils_makeSameHeight, src_uiutils_addHoverEffect, src_sputils_doesMsgHaveError, src_sputils_getMsgError, text_src_boardWidget_boardhtml); + }(jquery, src_spapi_getSiteUrl, src_spapi_getList, src_spapi_getListFormCollection, src_spapi_getListItems, src_spapi_updateListItems, src_sputils_getNodesFromXml, src_sputils_fillTemplate, src_uiutils_makeSameHeight, src_uiutils_addHoverEffect, src_sputils_doesMsgHaveError, src_sputils_getMsgError, text_src_boardWidget_boardhtml); text_src_dateFieldWidget_dateFieldhtml = '
Time
Set
'; src_sputils_getDateString = function () { /** @@ -5665,7 +5060,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti inputPlaceholder: 'Type and Pick', appendTo: null, minLength: 3, - showSelected: true, resolvePrincipals: true, meKeyword: '[me]', meKeywordLabel: 'Current User', @@ -5739,10 +5133,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * The text to appear in the HTML5 placeholder attribute * of the input field. * - * @param {String} [options.showSelected=true] - * If true (default), the selected users by this widget will be shown - * on the screen. Set to this false, if all that is desired to show is the - * search input element. * @param {String} [options.resolvePrincipals=true] * If set to true, any user that is suggested but not yet * part of the site collection user info list (their id @@ -6060,10 +5450,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti } }); //end:autocomplete - // If showSelected if false, then hide the selected people area. - if (!o.showSelected) { - cntr.find('div.pt-pickSPUser-selected').css('display', 'none'); - } // Store the options for this call on the container and include a pointer // in the input field to this element cntr.data('pickSPUserContainerOpt', o); @@ -6242,7 +5628,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti text_src_filterPanelWidget_filterPanelChoiceFieldhtml = ''; text_src_filterPanelWidget_filterPanelTextFieldhtml = '
{{tooltip}}
'; less_src_filterPanelWidget_filterPanel = undefined; - src_filterPanelWidget_filterPanel = function ($, filterPanelTemplate, filterPanelColumnTemplate, filterPanelChoiceFieldTemplate, filterPanelTextFieldTemplate, getSiteUrl, getList, getListColumns, parseLookupFieldValue, fillTemplate, getCamlLogical, xmlEscape, lookupFieldWidget, peoplePickerWidget, dateFieldWidget, doesMsgHaveError, getMsgError) { + src_filterPanelWidget_filterPanel = function ($, filterPanelTemplate, filterPanelColumnTemplate, filterPanelChoiceFieldTemplate, filterPanelTextFieldTemplate, getSiteUrl, getList, parseLookupFieldValue, fillTemplate, getCamlLogical, xmlEscape, lookupFieldWidget, peoplePickerWidget, dateFieldWidget, doesMsgHaveError, getMsgError) { var Filter = {}, filterPanel; /** * Default options. @@ -6268,8 +5654,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * Given a container, this jQuery plugin will attach a user interface * that allows the user to define filter criteria for a list. * - * @method filterPanel - * * @param {Object} options * @param {String} options.list * @param {String} [options.webURL=current site] @@ -6359,6 +5743,47 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti if (!opt.webURL) { opt.webURL = getSiteUrl(); } + /** + * Retrieves the list definition. + * + * @return {jQuery.Deferred} + * Deferred is resolved with a scope of the jQuery message + * object and given 2 parameters - xData and status + * + */ + Inst.getListDefinition = function () { + return $.Deferred(function (dfd) { + // Get List Definition + getList({ + listName: opt.list, + cacheXML: true, + async: true, + webURL: opt.webURL, + completefunc: function (xData, status) { + var $msg = $(xData.responseXML); + if (status === 'error') { + dfd.rejectWith($msg, [ + xData, + status + ]); + return; + } + if (doesMsgHaveError($msg)) { + dfd.rejectWith($msg, [ + xData, + status + ]); + return; + } + dfd.resolveWith($msg, [ + xData, + status + ]); + } //end: completefunc + }); + }).promise(); + }; + //end: getListDefinition /** * Shows the column sort order UI on the panel. */ @@ -6380,19 +5805,15 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti */ Inst.buildWidget = function () { return $.Deferred(function (dfd) { - // Get List Definition - getListColumns({ - listName: opt.list, - cacheXML: true, - async: true, - webURL: opt.webURL - }).then(function (colsDef) { - var columns = '', colUI = $.trim(filterPanelColumnTemplate); + Inst.getListDefinition().then(function () { + var $list = this, columns = '', colUI = $.trim(filterPanelColumnTemplate); // Insert the UI into the page and set // pointer ($ui) to it. Inst.$ui = $($.trim(filterPanelTemplate)).appendTo(Inst.$ele.empty().addClass('hasSPFilterPanel')); Inst.$uiFilterColumnCntr = Inst.$ui.find('div.spwidget-filter-column-cntr'); Inst.$uiFilterSortCntr = Inst.$ui.find('div.spwidget-filter-sort-cntr'); + // Store list definition + Inst.$list = $list; // set fixed height if set on input if (Inst.opt.height) { Inst.$uiFilterColumnCntr.css('height', Inst.opt.height); @@ -6401,13 +5822,11 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // build the UI for them. $.each(Inst.opt.columns, function (i, v) { // find column in the list definition - var - // $thisCol = $list - // .find( - // "Field[DisplayName='" + - // v + "']" ), - $thisCol = colsDef.getColumn(v), thisColUI = colUI, inputUI = '', model = null; - if (!$thisCol) { + var $thisCol = $list.find('Field[DisplayName=\'' + v + '\']'), thisColUI = colUI, inputUI = '', model = null; + if (!$thisCol.length) { + $thisCol = $list.find('Field[Name=\'' + v + '\']'); + } + if (!$thisCol.length) { return; } // Now that we are sure we have a COl. definition, @@ -6415,28 +5834,28 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti model = { type: null, otherFilterTypes: '', - sp_type: $thisCol.Type, - sp_format: $thisCol.Format, - Name: $thisCol.Name, - DisplayName: $thisCol.DisplayName + sp_type: $thisCol.attr('Type'), + sp_format: $thisCol.attr('Format'), + Name: $thisCol.attr('Name'), + DisplayName: $thisCol.attr('DisplayName') }; // Build the column ui based on its type - switch ($thisCol.Type) { + switch ($thisCol.attr('Type')) { // CHOICE: Show checkboxes allowing user to select multiple case 'Choice': case 'MultiChoice': - $thisCol.getColumnValues().forEach(function (v) { + $thisCol.find('CHOICES CHOICE').each(function (i, v) { inputUI += fillTemplate($.trim(filterPanelChoiceFieldTemplate), { - DisplayName: $thisCol.DisplayName, - Name: $thisCol.Name, - value: v + DisplayName: $thisCol.attr('DisplayName'), + Name: $thisCol.attr('Name'), + value: $(v).text() }); }); thisColUI = thisColUI.replace(/__COLUMN__UI__/, inputUI).replace(/__OTHER_FILTER_TYPES__/, ''); thisColUI = fillTemplate(thisColUI, { - DisplayName: $thisCol.DisplayName, + DisplayName: $thisCol.attr('DisplayName'), type: 'choice', - Name: $thisCol.Name + Name: $thisCol.attr('Name') }); break; // Attachments @@ -6452,14 +5871,14 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // DEFAULT: Show as a text field default: // lets set the type on the Column - switch ($thisCol.Type) { + switch ($thisCol.attr('Type')) { case 'Lookup': case 'LookupMulti': if (model.type === null) { model.type = 'lookup'; - model.list = $thisCol.List; + model.list = $thisCol.attr('List'); if (model.list === 'Self') { - model.list = $thisCol.getList().Title; + model.list = $list.find('List').attr('Title'); } } break; @@ -6489,7 +5908,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti if (model.type === null) { model.type = 'date'; model.otherFilterTypes = '' + ''; - model.sp_format = $thisCol.Format !== 'DateOnly' ? 'DateTime' : 'DateOnly'; + model.sp_format = $thisCol.attr('Format') !== 'DateOnly' ? 'DateTime' : 'DateOnly'; } break; default: @@ -6501,8 +5920,8 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti inputUI = $.trim(filterPanelTextFieldTemplate); thisColUI = thisColUI.replace(/__COLUMN__UI__/, inputUI).replace(/__OTHER_FILTER_TYPES__/, model.otherFilterTypes); thisColUI = fillTemplate(thisColUI, $.extend(model, { - DisplayName: $thisCol.DisplayName, - Name: $thisCol.Name, + DisplayName: $thisCol.attr('DisplayName'), + Name: $thisCol.attr('Name'), tooltip: Inst.opt.textFieldTooltip })); break; @@ -6530,8 +5949,8 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti }); // Setup PEOPLE fields Inst.$ele.find('div.spwidget-type-people input').each(function () { - var $field = $(this), colDef = colsDef.getColumn($field.attr('name')), peopleType = 'User'; - if (colDef.UserSelectionMode !== 'PeopleOnly') { + var $field = $(this), colDef = $list.find('Field[Name=\'' + $field.attr('name') + '\']'), peopleType = 'User'; + if (colDef.attr('UserSelectionMode') !== 'PeopleOnly') { peopleType = 'All'; } peoplePickerWidget($field, { @@ -6765,7 +6184,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * @param {SPFilterPanel.Instance} Inst * The Instance object generated by the $().SPFilterPanel() * - * @return {filterPanel~filter} + * @return {Object} * An object with the filter information. See below for the * structured of the object * @@ -6786,8 +6205,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * ], * CAMLQuery: 'string with query wrapped in an aggregate', * URLParams: 'string with query in URL param style', - * count: 0, - * columns: [] + * count: 0 * } * }, * count: 2 // number of filters created @@ -6796,27 +6214,12 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * */ Filter.getFilterValues = function (Inst) { - var - /** - * Filter panel user defined criteria - * - * @typedef {Object} filterPanel~filter - * - * @property {String} CAMLQuery - * @property {String} CAMLOrderBy - * @property {String} URLParams - * @property {Object} filters - * @property {Number} count - * @property {Array} columns - * - */ - filters = { + var filters = { CAMLQuery: '', CAMLOrderBy: '', URLParams: '', filters: {}, - count: 0, - columns: [] + count: 0 }, $cols = Inst.$ui.find('div.spwidget-column'), colFilters = [], orderByValues = ''; /** * Returns a CAMLQuery for the set of individual column filters. @@ -6961,11 +6364,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti thisColUrlParam[colName].logicalType = thisColFilter.logicalType; thisColUrlParam[colName].values = thisColFilter.values; } - // If this column has either a Filter or was set as a sort field, then - // add it to the list of columns - if (thisColFilter.CAMLOrderBy || thisColFilter.count > 0) { - filters.columns.push(thisColFilter.columnName); - } thisColFilter.URLParams = $.param(thisColUrlParam, false); // Add this column's URL params to the overall filter value if (filters.URLParams !== '') { @@ -7166,7 +6564,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti }; filterPanel.defaults = Filter.defaults; return filterPanel; - }(jquery, text_src_filterPanelWidget_filterPanelhtml, text_src_filterPanelWidget_filterPanelColumnhtml, text_src_filterPanelWidget_filterPanelChoiceFieldhtml, text_src_filterPanelWidget_filterPanelTextFieldhtml, src_spapi_getSiteUrl, src_spapi_getList, src_spapi_getListColumns, src_sputils_parseLookupFieldValue, src_sputils_fillTemplate, src_sputils_getCamlLogical, src_sputils_xmlEscape, src_lookupFieldWidget_lookupField, src_peoplePickerWidget_peoplePicker, src_dateFieldWidget_dateField, src_sputils_doesMsgHaveError, src_sputils_getMsgError); + }(jquery, text_src_filterPanelWidget_filterPanelhtml, text_src_filterPanelWidget_filterPanelColumnhtml, text_src_filterPanelWidget_filterPanelChoiceFieldhtml, text_src_filterPanelWidget_filterPanelTextFieldhtml, src_spapi_getSiteUrl, src_spapi_getList, src_sputils_parseLookupFieldValue, src_sputils_fillTemplate, src_sputils_getCamlLogical, src_sputils_xmlEscape, src_lookupFieldWidget_lookupField, src_peoplePickerWidget_peoplePicker, src_dateFieldWidget_dateField, src_sputils_doesMsgHaveError, src_sputils_getMsgError); text_src_uploadWidget_uploadhtml = '
Upload
Upload Successful! x
Error x
Select...
'; src_sputils_getSPVersion = function () { /* global SP, _spPageContextInfo */ @@ -8115,13 +7513,13 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti return ''; } var id = ''; - // FIXME: need to make this async=true getList({ listName: listName, async: false, - cacheXML: true - }).then(function (list) { - id = list.ID; + cacheXML: true, + completefunc: function (xData) { + id = $(xData.responseXML).find('List').attr('ID'); + } }); return id; }; @@ -8324,12 +7722,10 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti * is returned as an object, alogn with the webservices response. * @function * - * @param {Object} options - * @param {String} options.accountName - * @param {Object} [options.otherAttr] - * @param {String} [options.webURL=current site] - * @param {Boolean} [options.async=true] - * @param {Boolean} [options.cacheXML=true] + * @param {String} accountName + * @param {String} [webURL=current site] + * @param {Boolean} [async=true] + * @param {Boolean} [cacheXML=true] * * @return {jQuery.Promise} * Promise is resolved with 3 params - Object, xData, status. Object @@ -8363,7 +7759,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // Define defaults. User can change these on their function attachment. callerFn.defaults = { accountName: '', - otherAttr: '', webURL: '', async: true, cacheXML: true, @@ -8426,10 +7821,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti var $prop = $(this); profile[$prop.find('Name').text()] = $prop.find('Value').text() || ''; }); - // If user passed in other Attributes, add it to the model - if (options.otherAttr) { - $.extend(profile, options.otherAttr); - } dfd.resolveWith($, [ profile, xData, @@ -8453,10 +7844,10 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti //end: .getUserProfile() return getUserProfile; }(jquery, src_sputils_cache, src_spapi_getSiteUrl, src_sputils_doesMsgHaveError); - src_SPWidgets = function ($, board, dateField, lookupField, peoplePicker, filterPanel, upload, getMsgError, doesMsgHaveError, xmlEscape, fillTemplate, getCamlLogical, getSPVersion, parseDateString, parseLookupFieldValue, getDateString, getNodesFromXml, makeSameHeight, getList, getListColumns, getListFormCollection, getListItems, getSiteListCollection, getSiteUrl, getUserProfile, resolvePrincipals, searchPrincipals) { + src_SPWidgets = function ($, board, dateField, lookupField, peoplePicker, filterPanel, upload, getMsgError, doesMsgHaveError, xmlEscape, fillTemplate, getCamlLogical, getSPVersion, parseDateString, parseLookupFieldValue, getDateString, getNodesFromXml, makeSameHeight, getList, getListFormCollection, getListItems, getSiteListCollection, getSiteUrl, getUserProfile, resolvePrincipals, searchPrincipals) { $.SPWidgets = { defaults: {}, - version: '2.5.2', + version: '2.5.1', // Utilities escapeXML: xmlEscape.escape, unEscapeXML: xmlEscape.unescape, @@ -8510,7 +7901,6 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti // SP API methods SPAPI: { getList: getList, - getListColumns: getListColumns, getListFormCollection: getListFormCollection, getListItems: getListItems, getSiteListCollection: getSiteListCollection, @@ -8544,7 +7934,7 @@ var src_spapi_getSiteUrl, src_sputils_cache, src_jsutils_objectExtend, src_jsuti $.SPWidgets.defaults[pluginName] = pluginContructor.defaults; } }); - }(jquery, src_boardWidget_board, src_dateFieldWidget_dateField, src_lookupFieldWidget_lookupField, src_peoplePickerWidget_peoplePicker, src_filterPanelWidget_filterPanel, src_uploadWidget_upload, src_sputils_getMsgError, src_sputils_doesMsgHaveError, src_sputils_xmlEscape, src_sputils_fillTemplate, src_sputils_getCamlLogical, src_sputils_getSPVersion, src_sputils_parseDateString, src_sputils_parseLookupFieldValue, src_sputils_getDateString, src_sputils_getNodesFromXml, src_uiutils_makeSameHeight, src_spapi_getList, src_spapi_getListColumns, src_spapi_getListFormCollection, src_spapi_getListItems, src_spapi_getSiteListCollection, src_spapi_getSiteUrl, src_spapi_getUserProfile, src_spapi_resolvePrincipals, src_spapi_searchPrincipals); + }(jquery, src_boardWidget_board, src_dateFieldWidget_dateField, src_lookupFieldWidget_lookupField, src_peoplePickerWidget_peoplePicker, src_filterPanelWidget_filterPanel, src_uploadWidget_upload, src_sputils_getMsgError, src_sputils_doesMsgHaveError, src_sputils_xmlEscape, src_sputils_fillTemplate, src_sputils_getCamlLogical, src_sputils_getSPVersion, src_sputils_parseDateString, src_sputils_parseLookupFieldValue, src_sputils_getDateString, src_sputils_getNodesFromXml, src_uiutils_makeSameHeight, src_spapi_getList, src_spapi_getListFormCollection, src_spapi_getListItems, src_spapi_getSiteListCollection, src_spapi_getSiteUrl, src_spapi_getUserProfile, src_spapi_resolvePrincipals, src_spapi_searchPrincipals); (function (c) { var d = document, a = 'appendChild', i = 'styleSheet', s = d.createElement('style'); s.type = 'text/css'; diff --git a/dist/jquery.SPWidgets.min.js b/dist/jquery.SPWidgets.min.js index e563726..8c6a227 100644 --- a/dist/jquery.SPWidgets.min.js +++ b/dist/jquery.SPWidgets.min.js @@ -1,7 +1,7 @@ -/*! SPWidgets v2.5.2 2015-10-17 | MIT | Copyright (c) 2015 Paul Tavares | http://purtuga.github.io/SPWidgets */ +/*! SPWidgets v2.5.1 2015-10-31 | MIT | Copyright (c) 2015 Paul Tavares | http://purtuga.github.io/SPWidgets */ -!function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y;!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(Z){a=function(a){var b=function(){function b(a){return a&&"/"!==a.charAt(a.length-1)&&(a+="/"),a.indexOf("http")>-1?a:a=document.location.protocol+"//"+document.location.hostname+(80!==Number(document.location.port)&&Number(document.location.port)>0?document.location.port:"")+a}var c={};return function(d){var e="",f=!1,g="getSiteUrl(): Unable to determine site url from "+d;if(d||(d=document.location.href,f=!0),e=d,d.indexOf("?")>-1?e=d.substr(0,d.indexOf("?")):d.indexOf("#")>-1&&(e=d.substr(0,d.indexOf("#"))),!e)throw new Error(g);if(c[e])return c[e];if(f&&("undefined"!=typeof _spPageContextInfo&&_spPageContextInfo.webServerRelativeUrl&&(c[e]=_spPageContextInfo.webServerRelativeUrl),!c[e]&&"undefined"!=typeof L_Menu_BaseUrl&&L_Menu_BaseUrl&&(c[e]=L_Menu_BaseUrl),c[e]))return c[e]=b(c[e]),c[e];if(c[e]||a.ajax({type:"POST",cache:!1,async:!1,url:document.location.protocol+"//"+document.location.host+"/_vti_bin/Webs.asmx",data:""+e+"",contentType:"text/xml; charset=utf-8",dataType:"xml",success:function(b){c[e]=a(b).find("WebUrlFromPageUrlResult").text()||""}}),!c[e])throw delete c[e],new Error(g);return c[e]=b(c[e]),c[e]||""}}();return b}(Z),b=function(){var a=function(){var a={},b=function(a,c){return a?"undefined"==typeof c?b.get(a):b.set(a,c):void 0};return b.clear=function(b){delete a[b]},b.clearAll=function(){a={}},b.get=function(b){return a[b]},b.set=function(b,c){return a[b]=c,c},b.isCached=function(b){return a.hasOwnProperty(b)?!0:!1},b}();return a}(),c=function(){var a=function(a){var b,c,d=a||{},e=Array.prototype.slice.call(arguments,1),f=e.length;for(b=0;f>b;b++)if(e[b])for(c in e[b])e[b].hasOwnProperty(c)&&(d[c]=e[b][c]);return d};return a}(),d=function(){"undefined"==typeof WeakMap&&!function(){var a=Object.defineProperty,b=Date.now()%1e9,c=function(){this.name="__st"+(1e9*Math.random()>>>0)+(b++ +"__")};c.prototype={set:function(b,c){var d=b[this.name];return d&&d[0]===b?d[1]=c:a(b,this.name,{value:[b,c],writable:!0}),this},get:function(a){var b;return(b=a[this.name])&&b[0]===a?b[1]:void 0},"delete":function(a){var b=a[this.name];return b&&b[0]===a?(b[0]=b[1]=void 0,!0):!1},has:function(a){var b=a[this.name];return b?b[0]===a:!1}},window.WeakMap=c}();var a={stash:new WeakMap,create:function(){return new WeakMap}};return a}(),e=function(a,b){var c=function(a){var b,c=[];for(b in a)c.push(b);return c},d=Object.create,e=b.stash,f={isDestroyed:!1,init:function(){},destroy:function(){var a,b=this.__onDestroy;b&&(a=e.get(b),Array.isArray(a)&&a.forEach(function(b,c){"function"==typeof b&&b(),a[c]=null}),e["delete"](b)),e["delete"](this),this.isDestroyed=!0},onDestroy:function(a){if(this.__onDestroy||(this.__onDestroy=function(){}),"function"==typeof a){var b=this.__onDestroy,c=e.get(b);c||(c=[],e.set(b,c)),c.push(a)}}},g={extend:function(){var b=Array.prototype.slice.call(arguments),e=function(){};return e.prototype=b.reduce(function(a,b){if(b){var d=b.prototype||b;c(d).forEach(function(b){a[b]=d[b]})}return a},d(this.prototype)),a(e,this)},isInstanceOf:function(a){if(!a)return!1;var b=c(this.prototype);return!b.some(function(b){return"undefined"==typeof a[b]})},create:function(){var a=d(this.prototype);return a.init&&a.init.apply(a,arguments),a}},h=function(){};return h.prototype=d(f),a(h,g),h}(c,d),f=function(a){var b=function(b){var d,e,f,g,h=a.extend({},{xDoc:null,nodeName:"",asJQuery:!1,cleanAttr:!0,nodeModel:null,nodeModelOptions:null,convertTypes:!1},b),i=h.xDoc.getElementsByTagName(h.nodeName);if(0===i.length&&"z:row"===h.nodeName&&(i=h.xDoc.getElementsByTagName("row")),0===i.length&&"rs:data"===h.nodeName&&(i=h.xDoc.getElementsByTagName("data")),h.asJQuery===!0)return a(i);for(e=[],d=function(b){var d,e,f,g=b.attributes,i={};for(e=0,f=g.length;f>e;e++)d=g[e].name,h.cleanAttr&&d.indexOf("ows_")>-1&&(d=d.replace("ows_","")),i[d]=h.convertTypes?c(g[e].value):g[e].value;return i.___xmlNode=b,h.nodeModel&&h.nodeModel.create?h.nodeModel.create(i,a.extend({},h.nodeModelOptions,{source:b})):i},f=0,g=i.length;g>f;f++)e.push(d(i[f]));return e},c=function(a){if(!a)return a;var b=a;switch(a.toUpperCase()){case"TRUE":b=!0;break;case"FALSE":b=!1}return b};return b.getJsNativeFromString=c,b}(Z),g=function(a,b,c,d){var e=c.stash,f={init:function(a,c){var d,i=this,j=b({},f.defaults,c);j.type=j.type.toLowerCase(),j.source=a,e.set(i,j),"xml"===j.type?d=g.call(i,j.source):"json"===j.type&&(d=h.call(i,j.source)),b(i,d)},getSource:function(){return e.get(this).source},getListUrl:function(){var a,b=e.get(this);return b.webURL?(a=b.webURL.substr(0,b.webURL.indexOf(this.WebFullUrl)),a?a+this.RootFolder:this.RootFolder||""):this.RootFolder||""}},g=function(a){var b=d({xDoc:a,nodeName:"List",convertTypes:!0}).shift();return delete b.Fields,delete b.RegionalSettings,delete b.ServerSettings,delete b.___xmlNode,b},h=function(){};return f=a.extend(f),f.defaults={type:"xml"},f}(e,c,d,f),h=function(a){var b=function(b){var c=a(b),d=c.find("ErrorCode"),e=!1;return d.length?(d.each(function(){return"0x00000000"!==a(this).text()&&"NoError"!==a(this).text()?(e=!0,!1):void 0}),e):c.find("faultcode").length?!0:c.find("CopyResult[ErrorMessage]").length?!0:!1};return b}(Z),i=function(a,b,c,d,e){var f=function(a){return g.call(this,a)},g=function(d){var g,h=a.extend({},f.defaults,d),i=function(a){return h.webURL+"?List="+a};return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/Lists.asmx",h.cacheKey=i(h.listName),h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?b(h.cacheKey):(h.isCached&&b.clear(h.cacheKey),g=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.listName+""}).then(function(d){if(e(d))return void c.rejectWith(a,arguments);var f=h.ListModel.create(d,{webURL:h.webURL});h.cacheXML&&(0===h.listName.indexOf("{")?b(i(f.Title),g):b(i(f.ID),g)),c.resolveWith(a,[f])}).fail(function(){c.rejectWith(a,arguments),h.cacheXML&&b.clear(h.cacheKey)})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)};return f.defaults={listName:"",webURL:"",cacheXML:!0,async:!0,ListModel:d},f}(Z,b,a,g,h),j=function(a,b,c){var d=c.stash;return a.extend({init:function(a,c){var e=b({},{list:null,webURL:null},c);a&&b(this,a),d.set(this,e)}})}(e,c,d),k=function(a,b,c,d,e,f){var g=function(){var g=null,h=function(){return g.apply(this,arguments)};return h.defaults={listName:"",webURL:"",viewName:"",CAMLViewFields:"",CAMLQuery:"",CAMLRowLimit:"",CAMLQueryOptions:"",operation:"GetListItems",cacheXML:!1,async:!0,completefunc:null,changeToken:"",listItemModel:f},g=function(f){var g,i=a.extend({},h.defaults,f);return i.webURL?"/"!==i.webURL.charAt(i.webURL.length-1)&&(i.webURL+="/"):i.webURL=c(),i.webURL+="_vti_bin/Lists.asmx",i.cacheKey=i.webURL+"?"+[i.listName,i.viewName,i.CAMLViewFields,i.CAMLQuery,i.CAMLRowLimit,i.CAMLQueryOptions,i.operation,i.changeToken].join("|"),i.isCached=b.isCached(i.cacheKey),i.cacheXML&&i.isCached?(g=b(i.cacheKey),a.isFunction(i.completefunc)&&g.then(function(a,b,c){i.completefunc(b,c,a)}),g):(i.isCached&&b.clear(i.cacheKey),g=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:i.async,url:i.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:'<'+i.operation+' xmlns="http://schemas.microsoft.com/sharepoint/soap/">'+i.listName+""+(i.viewName||"")+""+(i.CAMLQuery||"")+""+(i.CAMLViewFields||"")+""+(i.CAMLRowLimit||0)+""+(i.CAMLQueryOptions||"")+""+("GetListItemChangesSinceToken"===i.operation?""+i.changeToken+"":"")+"",complete:function(f,g){var h=[];return"error"===g||e(f)?(i.cacheXML&&b.clear(i.cacheKey),c.rejectWith(a,[h,f,g]),void(a.isFunction(i.completefunc)&&i.completefunc(f,g,h))):(h=d({xDoc:f.responseXML,nodeName:"z:row",nodeModel:i.listItemModel}),c.resolveWith(a,[h,f,g]),void(a.isFunction(i.completefunc)&&i.completefunc(f,g,h)))}})}).promise(),i.cacheXML&&b(i.cacheKey,g),g)},h}();return g}(Z,b,a,f,h,j),l=function(a,b,c,d,e,f){var g=d.stash,h={init:function(a,b){var d=c({},h.defaults,b);a&&c(this,a),g.set(this,d)},getColumnValues:function(){var b=this,c=a(g.get(this).source),d=b.Type,e=[];switch(d){case"Choice":case"MultiChoice":c.find("CHOICE").each(function(){e.push(a(this).text()||"")});break;case"Lookup":case"LookupMulti":f({listName:b.List,cacheXML:!0,async:!1,CAMLQuery:'',CAMLViewFields:''}).then(function(a){e=a})}return e},getList:function(){return g.get(this).list}};return h=b.extend(h),h.defaults={list:null,type:"xml",source:null},h}(Z,e,c,d,f,k),m=function(a,b,c,d,e,f){var g=f.stash,h=function(c){var e=a.extend({},h.defaults,"string"==typeof c?{listName:c}:c);return a.Deferred(function(c){b({listName:e.listName,cacheXML:e.cacheXML,webURL:e.webURL,async:e.async}).then(function(b){e.listDef=b;var f,h,j=d({xDoc:b.getSource(),nodeName:"Field",nodeModel:e.ListColumnModel,nodeModelOptions:{list:b}}),k=[];for(f=0,h=j.length;h>f;f++)void 0!==j[f].Hidden&&"FALSE"!==j[f].Hidden||void 0!==j[f].List&&("Docs"===j[f].List||"AppPrincipals"===j[f].List)||!j[f].DisplayName||void 0!==j[f].AuthoringInfo||e.columnName&&j[f].Name!==e.columnName&&j[f].StaticName!==e.columnName&&j[f].DisplayName!==e.columnName?e.ListModel&&j[f].destroy():(j[f].___xmlNode&&delete j[f].___xmlNode,k.push(j[f]),e.columnName&&(f+=h));a.extend(k,i),g.set(k,e),c.resolveWith(a,[k])}).fail(function(){c.rejectWith(a,Array.prototype.slice.call(arguments,0))})}).promise()},i={getColumn:function(a){var b,c=this;return c.some(function(c){(c.Name===a||c.DisplayName===a||c.StaticName===a)&&(b=c)}),b},getList:function(){return g.has(this)?g.get(this).listDef:void 0}};return h.defaults={listName:"",columnName:"",cacheXML:!0,async:!0,webURL:null,ListColumnModel:e},h}(Z,i,b,f,l,d),n=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={listName:"",webURL:"",cacheXML:!1,async:!0,completefunc:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/Forms.asmx",h.cacheKey=h.webURL+"?List="+h.listName,h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(a,b){h.completefunc(a,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.listName+"",complete:function(e,f){return"error"===f||d(e)?(h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[e,f])):(c.resolveWith(a,[e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f)))}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)},f}();return e}(Z,b,a,h),o=function(a){var b=function(b){var c=a(b),d="",e=c.find("ErrorCode"),f=0;return e.length||(e=c.find("faultcode")),!e.length&&(e=c.find("CopyResult[ErrorMessage]"),e.length)?(e.each(function(){var b=a(this);f+=1,d+="("+f+") "+(b.attr("ErrorCode")||"unknown")+": "+b.attr("ErrorMessage")+"\n"}),f+" error(s) encountered! \n"+d):e.length?(e.each(function(){var b=a(this);"0x00000000"!==b.text()&&(f+=1,d+="("+f+") "+b.text()+": "+b.parent().children().not(b).text()+"\n")}),d=f+" error(s) encountered! \n"+d):""};return b}(Z),p=function(a,b,c,d){var e=function(b){function c(a){var c,d,f,g="";for(c=0,d=a.length;d>c;c++){g="";for(f in a[c])a[c].hasOwnProperty(f)&&(g+=''+a[c][f]+"");g&&(e.push(''+g+""),b.counter++)}}function d(c){var d,f,g="";for(d=0,f=c.length;f>d;d++)a.isArray(c[d])&&(g+=''+c[d][1]+"");g&&(e.push(''+g+""),b.counter++)}var e=[],f=typeof b.updates;return!b.updates&&b.ID&&b.valuepairs?(b.valuepairs.push(["ID",b.ID]),d(b.valuepairs)):"string"===f?e.push(b.updates):a.isArray(b.updates)&&b.updates.length&&(f=typeof b.updates[0],"object"===f?c(b.updates):"string"===f?e.push.apply(e,b.updates):a.isArray(b.updates[0])&&d(b.updates)),e},f=function(g){var h=a.extend({},f.defaults,g,{counter:1});return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=b(),h.updateType=h.batchCmd||h.updateType,h._updates=e(h).join(""),/<\/Batch>/.test(h._updates)||(h._updates=''+h._updates+""),a.Deferred(function(b){a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL+"_vti_bin/Lists.asmx",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://schemas.microsoft.com/sharepoint/soap/UpdateListItems")},contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.listName+""+h._updates+"",complete:function(b,c){a.isFunction(h.completefunc)&&h.completefunc.call(a,b,c)}}).always(function(e,f,g){var h={status:"",message:"",httpData:e,xhrRequest:g};"error"===f?(h.status="error",h.message=e.statusText||"HTTP error.",b.rejectWith(a,[h])):c(e)?(h.status="error",h.message=d(e),b.rejectWith(a,[h])):(h.status="success",h.message="Update Successful.",b.resolveWith(a,[h]))})}).promise()};return f.defaults={listName:"",webURL:"",async:!0,completefunc:null,updates:"",updateType:"Update",updateOnError:"Continue"},f}(Z,a,h,o),q=function(a){var b=function(b,c){var d,e,f,g,h,i,j={};if("object"==typeof b&&1===arguments.length&&(c=b.data,b=b.tmplt),j.response="",j.template="string"!=typeof b?String(a("
").append(b).html()):b,j.tokens=j.template.match(/(\{\{.*?\}\})/g),a.isArray(c)||(c=c?[c]:[{}]),null!==j.tokens)for(f=0,g=c.length;g>f;f++){for(h=j.template,d=0,e=j.tokens.length;e>d;d++)j.tokens[d]=j.tokens[d].replace(/[\{\}]/g,""),i=c[f][j.tokens[d]]||"",a.isFunction(i)&&(i=i()),h=h.replace("{{"+j.tokens[d]+"}}",i);j.response+=h}else j.response=j.template;return j.response};return b}(Z),r=function(a){var b=function(b,c,d){var e=0,f=a(b);return d||(d="height"),f.each(function(){var b=a(this).css(d,"");e0&&(c&&(e+=c),f.css(d,e)),b};return b}(Z),s=function(a){var b=function(b){return a(b).each(function(){if(!a(this).hasClass("addHoverEffectDone")){a(this).addClass("addHoverEffectDone");var b=this;a(b).mouseenter(function(){a(b).toggleClass("ui-state-hover")}),a(b).mouseleave(function(){a(b).toggleClass("ui-state-hover")})}})};return b}(Z),t='
0
#{{ID}}: {{Title}}
',u=void 0,v=function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n,o,p={};return p.maxColumns=20,p.defaults={list:"",field:"",CAMLQuery:"",CAMLViewFields:"",fieldFilter:null,optionalLabel:"(none)",allowFieldBlanks:null,template:null,webURL:"",showColPicker:!1,colPickerLabel:"Columns",colPickerVisible:[],colPickerCloseLabel:"Close",colPickerApplyLabel:"Apply",colPickerCheckLabel:"Check-Uncheck All",colPickerTotalLabel:"Selected.",colPickerMaxColMsg:"Can not exceed 10 columns!",colPickerMinColMsg:"Mininum of 2 required!",onGetListItems:null,onPreUpdate:null,onBoardCreate:null,height:null},n=function(c,n){var q=Array.prototype.slice.call(arguments,1),r=c;return c.each(function(){var c=a(this),s="string"==typeof n,t=c.hasClass("hasSPShowBoard"),u=null,v="",w=null;return t&&!s?this:s&&t&&!c.hasClass("loadingSPShowBoard")?(v=n.toLowerCase(),w=c.data("SPShowBoardOptions"),"refresh"===v?w._getListItems().then(function(){w.showItemsOnBoard({refresh:!0})}):"redraw"===v?w.setBoardColumnHeight():"setvisible"===v?w.setUserDefinedVisibleCol(q[1]):"setheight"===v?(w.height=q[1],w.setBoardColumnHeight()):"getcolumns"===v&&(r=w.getBoardColumnList()),this):c.hasClass("loadingSPShowBoard")?this:(u=a.extend({},p.defaults,n,{ele:c,states:[],statesMap:{},tmpltHeader:"",tmpltState:"",statesCntr:"",headersCntr:"",listItems:[],initDone:!1,formUrls:null,isStateRequired:!1,maxColumnVisible:10,showNumberOfColumns:10,getBoardStates:o,_getListItems:function(){return a.Deferred(function(b){function d(d){a.isFunction(u.onGetListItems)&&u.onGetListItems.call(c,u.listItems,d),b.resolveWith(c,[u.listItems])}a.isFunction(u.CAMLQuery)?u.CAMLQuery.call(c,function(b){a.isArray(b)&&(u.listItems=b,d(u.CAMLQuery))},n):e({listName:u.list,async:!0,CAMLQuery:u.CAMLQuery,CAMLRowLimit:0,CAMLViewFields:u.CAMLViewFields,webURL:u.webURL}).then(function(a){u.listItems=a,d(a)}).fail(function(c,d,e){b.rejectWith(a,[c,d,e])})}).promise()},getBoardItemDataObject:function(b){var c,d,e,f=null;if(b)for(b=String(b),c=0,d=u.listItems.length;d>c;c++)e=u.listItems[c].ID,a.isFunction(e)&&(e=u.listItems[c].ID()),e=String(e),b===e&&(f=u.listItems[c],c=d+d);return f},showItemsOnBoard:function(b){function d(b,d){var e="",f=null,i="";return a.isFunction(u.template)?(e=u.template.call(c,b,d),e&&(e=String(e))):e=h(u.template,r),void 0!==d&&""!==e?d.html(e):""!==e&&(f=b.ID,a.isFunction(b.ID)&&(f=b.ID()),void 0===m[o]&&(m[o]=""),u.initDone&&g.refresh&&(i+=" spwidget-temp"),m[o]+='
'+e+"
"),e}var e,f,g=a.extend({},{rows:u.listItems,refresh:!1,doBoardInsert:!0},b),i=[],k=[],l=[],m={},n=null,o=null,p=null,q=null,r=null;if(!g.refresh)for(e=0,f=u.states.length;f>e;e++)u.states[e].headerTotalEle.html("0"),u.states[e].dataEle.empty();for(e=0,f=g.rows.length;f>e;e++)r=g.rows[e],o=r[u.field]||"",p=r.ID,a.isFunction(o)&&(o=r[u.field]()),a.isFunction(p)&&(p=p()),u.statesMap[o]&&(g.refresh===!1?(u.initDone&&i.push(r),d(r)):(n=u.statesCntr.find("div[data-id='"+p+"']"),n.length?(n.addClass("spwidget-temp"),n.closest("div.spwidget-board-state").data("boardstate")!==o&&(n.appendTo(u.statesMap[o].dataEle),l.push(r)),d(r,n)):(u.initDone&&i.push(r),d(r))));if(g.doBoardInsert){for(e in m)m.hasOwnProperty(e)&&""!==m[e]&&u.statesMap[e].dataEle.append(m[e]);j(c.find(".spwidget-board-state-item"))}return u.initDone&&g.refresh&&u.statesCntr.find("div.spwidget-board-state-item").not("div.spwidget-temp").each(function(){k.push(u.getBoardItemDataObject(a(this).data("id"))),a(this).remove()}).end().removeClass("spwidget-temp"),u.initDone&&(u.statesCntr.find("div.spwidget-board-state").sortable("refresh").end().disableSelection(),q=u.getEventObject(),i.length&&(q.itemsModified.length=0,q.itemsModified.push(i),c.trigger("spwidget:boarditemadd",[c,a.extend({},q)])),k.length&&(q.itemsModified.length=0,q.itemsModified.push(k),c.trigger("spwidget:boarditemremove",[c,a.extend({},q)])),q.itemsModified.length=0,q.itemsModified.push.apply(q.itemsModified,i),q.itemsModified.push.apply(q.itemsModified,k),q.itemsModified.push.apply(q.itemsModified,l),q.itemsModified.length&&c.trigger("spwidget:boardchange",[c,q])),u.updBoardHeaders(),u.setBoardColumnHeight(),m},updBoardHeaders:function(b){var c,d,e=a.extend({},{state:null},b);if(e.state);else for(c=0,d=u.states.length;d>c;c++)u.states[c].headerTotalEle.html(u.states[c].dataEle.children().length)},getEventObject:function(b){b||(b=u.statesCntr.find("div.spwidget-board-state-item:first")),b=a(b);var c,d,e={stateTotals:{},itemTotal:0,currentState:b.closest("div.spwidget-board-state").data("boardstate"),itemObj:u.getBoardItemDataObject(b.data("id"))||{},itemsModified:[]};for(c=0,d=u.states.length;d>c;c++)e.itemTotal+=e.stateTotals[u.states[c].name]=Number(u.states[c].headerTotalEle.text());return e},getListFormUrl:function(b){function c(){d({listName:u.list,webURL:u.webURL,cacheXML:!0,async:!1,completefunc:function(b){a(b.responseXML).find("Form").each(function(){var b=a(this);u.formUrls[String(b.attr("Type")).toLowerCase()]=u.webURL+"/"+b.attr("Url")})}})}return b=String(b).toLowerCase(),null===u.formUrls&&(u.formUrls={},c()),u.formUrls[b]||""},setUserDefinedVisibleCol:function(b){function c(b){var c=!1;return a.each(u.states,function(a,d){return d.title===b||d.name===b?(c=!0,!1):void 0}),c}var d=0,e=!1;if(b){if(!a.isArray(b)||!b.length){if(!a.isArray(b)&&"all"!==String(b).toLowerCase())return;e=!0,b=[]}b.length<2||(e||(d=0,a.each(b,function(a,b){return c(b)&&d++,2===d?!1:void 0})),d=0,a.each(u.states,function(c,e){return a.inArray(e.title,b)>-1||a.inArray(e.name,b)>-1?(d++,e.isVisible===!1&&(e.isVisible=!0,e.dataEle.css("display",""),e.headerEle.css("display",""))):(e.isVisible=!1,e.dataEle.css("display","none"),e.headerEle.css("display","none")),d>=u.maxColumnVisible?!1:void 0}),u.setBoardColumnClass(d),u.setBoardColumnHeight(),u.triggerBoardColumnChangeEvent())}},setBoardColumnClass:function(b){var c=u.headersCntr.add(u.statesCntr);return b=parseInt(b),(!b||2>b)&&(b=0,a.each(u.states,function(a,c){c.isVisible&&b++})),u.showNumberOfColumns===b?u:(c.addClass("spwidget-states-"+b),u.showNumberOfColumns&&c.removeClass("spwidget-states-"+u.showNumberOfColumns),u.showNumberOfColumns=b,u)},triggerBoardColumnChangeEvent:function(){var b=[];u.initDone&&(a.each(u.statesMap,function(a,c){c.isVisible&&b.push(c.title)}),u.ele.trigger("spwidget:boardColumnChange",[u.ele,b]))},setupColumnPicker:function(){var b=c.find(".spwidget-board-column-list-cntr"),d=b.find("div.spwidget-board-column-list"),e=b.children("div.ui-state-default:last"),f={$totalCntr:b.find("span.spwidget-board-column-total")};f.setTotalSelected=function(){var a=f.getSelected().length;return f.$totalCntr.html(a),a},f.getSelected=function(){return d.find("a.ui-state-highlight")},f.showMessage=function(b){a('
'+b+"
").appendTo(e).fadeOut(8e3,function(){a(this).remove()})},f.setSelected=function(){var b=d.find("a");a.each(u.states,function(a,c){var d=b.filter("[data-board_col_index='"+a+"']");c.isVisible?f.selectColumn(d,!1):f.selectColumn(d,!0)}),f.setTotalSelected()},f.selectColumn=function(b,c){return a(b).each(function(){var b=a(this),d=b.find(".ui-icon");b.hasClass("ui-state-highlight")||c?c!==!1&&(d.removeClass("ui-icon-check"),b.removeClass("ui-state-highlight")):(d.addClass("ui-icon-check"),b.addClass("ui-state-highlight"))}),b},f.setVisibleColumns=function(b){b||(b=f.getSelected());var c=b.length;a.each(u.states,function(a,c){b.filter("[data-board_col_index='"+a+"']").length?c.isVisible===!1&&(c.isVisible=!0,c.dataEle.css("display",""),c.headerEle.css("display","")):(c.isVisible=!1,c.dataEle.css("display","none"),c.headerEle.css("display","none"))}),u.setBoardColumnClass(c),u.setBoardColumnHeight()},f.setUserDefinedVisibleCol=function(b){var c=0,e="";if(!a.isArray(b)||!b.length){if(!a.isArray(b)&&"all"!==String(b).toLowerCase())return;b=[],a.each(u.states,function(a,c){b.push(c.title)})}a.each(b,function(b,d){return a.each(u.states,function(a,b){return b.title===d?(c++,c>1&&(e+=","),e+="a[data-board_col_name='"+b.name+"']",!1):void 0}),c>=u.maxColumnVisible?!1:void 0}),c>=2&&(f.setVisibleColumns(d.find(e)),f.triggerEvent())},f.triggerEvent=u.triggerBoardColumnChangeEvent,b.find("button[name='apply']").button({label:u.colPickerApplyLabel,icons:{secondary:"ui-icon-circle-check"}}).on("click",function(){var a=f.getSelected(),c=a.length;return c>u.maxColumnVisible?void f.showMessage(u.colPickerMaxColMsg):2>c?void f.showMessage(u.colPickerMinColMsg):(b.hide(),f.setVisibleColumns(a),void f.triggerEvent())}),b.find("button[name='check']").attr("title",u.colPickerCheckLabel).button({text:!1,icons:{primary:"ui-icon-radio-off"}}).on("click",function(){var a=f.getSelected();a.length?f.selectColumn(a,!0):f.selectColumn(d.find("a")),f.setTotalSelected()}),b.find("button[name='close']").attr("title",u.colPickerCloseLabel).button({text:!1,icons:{primary:"ui-icon-circle-close"}}).on("click",function(){b.hide()}),c.find("div.spwidget-board-settings").css("display","").find("div.spwidget-board-settings-columns").each(function(){var c=a(this);return c.button({label:u.colPickerLabel,icons:{secondary:"ui-icon-triangle-1-s"}}).on("click.SPWidgets",function(){b.is(":visible")?b.hide():(f.setSelected(),b.show().position({my:"left top",at:"left bottom",of:c}))}),!1}),d.each(function(){var b=a(this),c="";return a.each(u.states,function(a,b){c+=''+b.title+""}),b.html(c),!1}).on("click","a",function(){f.selectColumn(this),f.setTotalSelected()}),b.find("span.spwidget-board-column-total-label").html(u.colPickerTotalLabel)},setBoardColumnHeight:function(){return u.headersCntr.is(":visible")&&i(u.headersCntr.find("div.spwidget-board-state:visible"),0,"min-height"),u.height?void u.statesCntr.find("div.spwidget-board-state:visible").css({height:u.height,"min-height":""}):void(u.statesCntr.is(":visible")&&i(u.statesCntr.find("div.spwidget-board-state:visible").css("height",""),20,"min-height"))},getBoardColumnList:function(){var a,b,c=[];for(a=0,b=u.states.length;b>a;a++)c.push({name:u.states[a].name,title:u.states[a].title,isVisible:u.states[a].isVisible});return c}}),u.webURL||(u.webURL=b()),u.list&&u.field?(c.addClass("loadingSPShowBoard").data("SPShowBoardOptions",u),u.getBoardStates().then(function(){""===u.CAMLViewFields?u.CAMLViewFields='':u.CAMLViewFields.indexOf(u.field)<0&&(u.CAMLViewFields=u.CAMLViewFields.replace(/<\/ViewFields\>/i,'')),c.html(a(m).filter("div.spwidget-board")),u.tmpltHeader=a("
").append(c.find("div.spwidget-board-headers-cntr div.spwidget-board-state").clone()).html(),u.tmpltState=a("
").append(c.find("div.spwidget-board-states-cntr div.spwidget-board-state")).html(),u.states.length<=u.maxColumnVisible&&(u.showNumberOfColumns=u.states.length),u.statesCntr=c.find("div.spwidget-board-states-cntr").addClass("spwidget-states-"+u.showNumberOfColumns).empty(),u.headersCntr=c.find("div.spwidget-board-headers-cntr").addClass("spwidget-states-"+u.showNumberOfColumns).empty(),a.each(u.states,function(b,c){c.headerEle=a(u.tmpltHeader).appendTo(u.headersCntr).attr("data-boardstate",c.name).attr("data-boardindex",b).find(".spwidget-board-header-title").html(c.title).end(),c.dataEle=a(u.tmpltState).appendTo(u.statesCntr).attr("data-boardindex",b).attr("data-boardstate",c.name),c.headerTotalEle=c.headerEle.find("span.spwidget-state-item-total"),c.isVisible=!0,b>u.maxColumnVisible-1&&(c.headerEle.css("display","none"),c.dataEle.css("display","none"),c.isVisible=!1)}),a(u.headersCntr,u.statesCntr).append('
'),u.showColPicker===!0&&u.setupColumnPicker(),a.isArray(u.colPickerVisible)&&u.colPickerVisible.length&&u.setUserDefinedVisibleCol(u.colPickerVisible),c.on("sortreceive sortremove",function(b,c){u.updBoardHeaders(),a(c.item).removeClass("ui-state-hover")}).on("sortreceive",function(b,d){var e=u.getEventObject(d.item),h=a.Deferred(),i="";return i=a.isFunction(e.itemObj.ID)?e.itemObj.ID():e.itemObj.ID,e.updates=[],e.updatePromise=h.promise(),e.updates.push([u.field,e.currentState]),a.isFunction(u.onPreUpdate)&&u.onPreUpdate.call(d.item,b,d.item,e)===!0?this:e.updates.length?void f({listName:u.list,async:!0,ID:i,valuepairs:e.updates,webURL:u.webURL,completefunc:function(f,i){if("error"===i)return void h.rejectWith(c,["Communications Error!",f,i]);var j=a(f.responseXML),m=null;return k(j)?void h.rejectWith(c,[l(j),f,i]):(m=g({xDoc:f.responseXML,nodeName:"z:row"}),a(b.target).trigger("spwidget:boardchange",[d.item,e]),void h.resolveWith(b.target,[m[0],e.itemObj,f]))}}):this}).on("click","a.spwidgets-board-action",function(b){var c=a(b.currentTarget),d=String(c.data("spwidgets_board_action")).toLowerCase(),e="",f=encodeURIComponent(window.location.href);switch(d){case"edit-item":e=u.getListFormUrl("EditForm");break;case"view-item":e=u.getListFormUrl("DisplayForm")}return window.location.href=e+"?ID="+c.data("spwidgets_id")+"&Source="+f,this}),null===u.template&&(u.template=a(m).filter("div.spwidget-item-template")),u._getListItems().then(function(){u.showItemsOnBoard(),u.statesCntr.find("div.spwidget-board-state").each(function(){var b=a(this);b.sortable({connectWith:b.siblings(),containment:c,cursor:"move",tolerance:"pointer",opacity:".80",placeholder:"ui-state-highlight spwidget-board-placeholder",forcePlaceholderSize:!0,remove:function(){u.setBoardColumnHeight()}})}),u.statesCntr.disableSelection(),u.initDone=!0,u.setBoardColumnHeight(),c.addClass("hasSPShowBoard").removeClass("loadingSPShowBoard"),a.isFunction(u.onBoardCreate)&&u.onBoardCreate.call(c,u.getEventObject()),a(c).trigger("spwidget:boardcreate",[c,u.getEventObject()]) -})}).fail(function(a){c.append('

'+a+"

")}),this):(c.html("
SPWidgets:Board [ERROR] Missing required input parameters!
"),this))}),r},o=function(){var b=this;return a.Deferred(function(d){var f=function(c,e){d.rejectWith(a,[e||"Field ("+b.field+") not found in list definition!",c,"error"])};c({listName:b.list,cacheXML:!0,webURL:b.webURL}).then(function(c){var g=c.getColumn(b.field);if(!g)return void f(null);switch(b._origField=b.field,b.field=g.Name,"TRUE"===g.Required&&(b.isStateRequired=!0),"boolean"==typeof b.allowFieldBlanks&&(b.isStateRequired=!b.allowFieldBlanks),g.Type.toLowerCase()){case"choice":b.isStateRequired||(b.states.push({type:"choice",title:b.optionalLabel,name:b.optionalLabel}),b.statesMap[""]=b.states[b.states.length-1]),b.fieldFilter&&(b.fieldFilter=b.fieldFilter.split(/\,/)),g.getColumnValues().some(function(c,d){if(!b.fieldFilter||a.grep(b.fieldFilter,function(a){return a===c}).length){if(d>=p.maxColumns){try{console.log("SPWIDGETS:BOARD:Warning: Can only build a max of "+p.maxColumns+" columns!")}catch(e){}return!0}b.states.push({type:"choice",title:c,name:c}),b.statesMap[c]=b.states[b.states.length-1]}}),d.resolveWith(a,[b.states]);break;case"lookup":b.fieldFilter||(b.fieldFilter=""),e({listName:g.List,async:!0,cacheXML:!0,CAMLQuery:b.fieldFilter,webURL:b.webURL,CAMLRowLimit:p.maxColumns,CAMLViewFields:''}).then(function(a){return"error"===status?void f(null,"Communications Error!"):(b.isStateRequired||(b.states.push({type:"lookup",title:b.optionalLabel,name:""}),b.statesMap[""]=b.states[b.states.length-1]),a.some(function(a,c){if(c>=p.maxColumns){try{console.log("SPWIDGETS:BOARD:Warning: Can only build a max of "+p.maxColumns+" columns!")}catch(d){}return!0}var e=a.ID,f=a[g.ShowField],h=e+";#"+f;b.states.push({type:"lookup",title:f,name:h}),b.statesMap[h]=b.states[b.states.length-1]}),void d.resolveWith(b,[b.states]))}).fail(function(a){f(a,"Unable to get rows from Lookup column list")});break;default:f(null,"Field ("+b.field+") Type ("+g.Type+") is not supported!")}}).fail(function(a){f(a)})}).promise()},n.defaults=p.defaults,n}(Z,a,m,n,k,p,f,q,r,s,h,o,t),w='
Time
Set
',x=function(){var a=function(a,b){function c(a){return 10>a?"0"+a:a}b=String(b||"local").toLowerCase(),a=a||new Date;var d="";return d="utc"===b?a.getUTCFullYear()+"-"+c(a.getUTCMonth()+1)+"-"+c(a.getUTCDate())+"T"+c(a.getUTCHours())+":"+c(a.getUTCMinutes())+":"+c(a.getUTCSeconds())+"Z":a.getFullYear()+"-"+c(a.getMonth()+1)+"-"+c(a.getDate())+"T"+c(a.getHours())+":"+c(a.getMinutes())+":"+c(a.getSeconds())};return a}(),y=function(){var a=function(a){var b,c,d,e,f,g,h=null;if(!a)return h;if(h=Date.parse(10===a.length?a+"T00:00":a))return new Date(h);if(f=[1,4,5,6,7,10,11],b=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/,c=a.match(b),!c)return h;for(d=0,e=f.length;e>d;d++)c[f[d]]=~~c[f[d]];return--c[2],"Z"===c[8]?(void 0!==c[9]&&(g=60*c[10]+c[11],"+"===c[9]&&(g=-g),c[5]+=g),h=new Date(Date.UTC(c[1],c[2],c[3],c[4],c[5],c[6],c[7]))):h=new Date(c[1],c[2],c[3],c[4],c[5],c[6],c[7]),h};return a}(),z=void 0,A=function(a,b,c,d,e,f){var g,h={};return h.isInitDone=!1,h.evNamespace=".spwidgets.spdatefield",h.defaults={allowMultiples:!1,delimeter:";",remainOpen:!0,datepicker:{dateFormat:"mm/dd/yy",buttonImage:"/_layouts/images/CALENDAR.GIF",showOn:"both",buttonImageOnly:!0},dateTemplate:'{{date}} [x]',showTimepicker:!1,timeFormat:" {{hour}}:{{minutes}} {{ampm}}",timeUTC:!0,labelHour:"Hour",labelMinutes:"Minutes",labelAMPM:"AM|PM",labelTime:"Time",labelSet:"Set",onSelect:null},g=function(g,i){var j=Array.prototype.slice.call(arguments,1),k=g;return h.isInitDone||(h.isInitDone=!0,a("body").on("click"+h.evNamespace,h.onPageClick)),"string"==typeof i?function(){var b=String(j[0]).toLowerCase(),c=k;return a(k).each(function(d,e){if(a(k).hasClass("hasSPDateField")){var f=a(e),g=f.data("SPDateFieldInstance");if(g&&f.length>0)switch(b){case"getdate":c=g.getDate();break;case"setdate":j[1]&&g.setDate({date:j[1],format:j[2]||g.opt.datepicker.dateFormat});break;case"removedate":j[1]&&g.removeDate({date:j[1],format:j[2]||g.opt.datepicker.dateFormat});break;case"reset":g.reset();break;case"destroy":g.destroy()}}}),c}():g.each(function(){var g={$ele:a(this).addClass("hasSPDateField"),isInline:!1,inlineCntr:null};if(!g.$ele.is("input[type='text']")){if(g.$ele.is(":input"))return this;g.isInline=!0,g.inlineCntr=a(this),g.$ele=a('')}return g.opt=a.extend(!0,{},h.defaults,i),g.$ui=a(b).filter("div.spwidget-date-cntr").clone(),g.isInline?(g.$ui.appendTo(g.inlineCntr).addClass("spwidget-inline").css("display","none"),g.$ele.appendTo(g.$ui)):g.$ui.insertAfter(g.$ele).css("display","none"),g.eleOrigVal=g.$ele.val(),g.$ele.val(""),g.$input=g.$ui.find("input[name='SPDateFieldInput']").val(g.$ele.val()),g.$inputCntr=g.$input.closest(".spwidget-date-input-cntr"),g.$dtCntr=g.$ui.find("div.spwidget-date-selected-cntr"),g.getDate=function(){var a={input:g.$ele.val(),dates:[]};return a.input&&(g.opt.allowMultiples?a.dates=a.input.split(g.opt.delimeter):a.dates.push(a.input)),a},g.reset=function(){return g.$input.val("").datepicker("hide"),g.$ele.val("").change(),g.$dtCntr.empty(),g},g.setDate=function(b){var f,h=a.extend({},{date:"",time:"",format:g.opt.datepicker.dateFormat,setDatepicker:!0,triggerEvent:!0},b),i=g.$ele.val(),j="";return h.date?(a.isArray(h.date)||(h.date=[h.date]),a.each(h.date,function(b,k){var l=k,m="",n="";if(!(l instanceof Date))if(l=String(l),l.indexOf("T")>-1)l=e(l);else try{l=a.datepicker.parseDate(h.format,k)}catch(o){return g}f=l,m=a.datepicker.formatDate("yy-mm-dd",l),n=a.datepicker.formatDate(g.opt.datepicker.dateFormat,l),g.opt.showTimepicker&&(m=d(l,g.opt._timeFmt),n+=g.$timepicker.formatTime(l)),g.opt.allowMultiples?i.indexOf(m)<0&&(i&&(i+=g.opt.delimeter),i+=m,j+=''+c({tmplt:g.opt.dateTemplate,data:{date:n}})+" "):(i=m,j=n)}),g.opt.allowMultiples?g.$dtCntr.append(j):h.setDatepicker&&(g.$input.val(j),g.isInline&&!g.opt.showTimepicker?g.$inputCntr.datepicker("setDate",f):g.isInline&&g.$timepicker.updateDateTimeWidgets(f)),g.$ele.val(i),h.triggerEvent&&(g.isInline||g.$ele.change(),a.isFunction(g.opt.onSelect)&&g.opt.onSelect.call(g.isInline?g.inlineCntr:g.$ele)),g):g},g.removeDate=function(b){var c=a.extend({},{date:"",format:g.opt.datepicker.dateFormat},b),e=g.getDate();return c.date?(a.isArray(c.date)||(c.date=[c.date]),a.each(c.date,function(b,f){var h=f,i="",j="";if(!(h instanceof Date))try{h=a.datepicker.parseDate(c.format,f)}catch(k){return g}i=g.opt.showTimepicker?d(h,g.opt._timeFmt):a.datepicker.formatDate("yy-mm-dd",h),j=new RegExp("("+g.opt.delimeter+")?"+i,"g"),e.input=e.input.replace(j,""),g.opt.allowMultiples&&g.$dtCntr.find("span[data-spwidget_dt1='"+i+"']").remove()}),e.input=e.input.replace(new RegExp("^"+g.opt.delimeter),"").replace(new RegExp(g.opt.delimeter+"$"),""),g.$ele.val(e.input).change(),g):g},g.destroy=function(){g.$ele.removeData("SPDateFieldInstance"),g.$ele.removeClass("hasSPDateField").css("display",""),g.$ui.css("display","none"),g.$input.datepicker("hide"),g.$input.datepicker("destroy"),g.$timepicker&&(g.$timepicker.$timePicker.off(".spdatefield"),g.$input.off(".spdatefield")),g.isInline&&g.inlineCntr.removeClass("hasSPDateField").removeData("SPDateFieldInstance"),g.$ui.remove()},g.createDatePicker=function(){var d={};return g.opt.showTimepicker?(d.$selectorCntr=a(b).filter("div.spwidget-datetime-selector").clone().appendTo(g.$inputCntr).css("display","none"),d.$datePicker=d.$selectorCntr.find("div.spwidget-date-selector"),d.$timePicker=d.$selectorCntr.find("div.spwidget-time-selector"),d.$setButton=d.$selectorCntr.find("div.spwidget-btn-set"),d.$hourSelect=d.$timePicker.find("select.spwidget-hour"),d.$minSelect=d.$timePicker.find("select.spwidget-min"),d.$ampmSelect=d.$timePicker.find("select.spwidget-ampm"),d.heightDone=!1,d.firstShowDone=!1,d.getTime=function(){var a={hour:d.$hourSelect.val(),minutes:d.$minSelect.val(),ampm:d.$ampmSelect.val()};return a.hour24=a.hour,"PM"===a.ampm&&"12"!==a.hour?a.hour24=String(parseInt(a.hour)+12):"AM"===a.ampm&&"12"===a.hour&&(a.hour24="0"),a},d.formatTime=function(a){var b=a,e="";return a instanceof Date?(b={hour:a.getHours(),hour24:String(a.getHours()),minutes:String(a.getMinutes()),ampm:"AM"},b.hour>12?(b.hour=String(b.hour-12),b.ampm="PM"):12===b.hour&&(b.ampm="PM"),b.hour=String(b.hour),"0"===b.hour&&(b.hour="12"),String(b.minutes).length<2&&(b.minutes="0"+b.minutes)):a||(b=d.getTime()),e=c(g.opt.timeFormat,b)},d.setDateTime=function(a){var b=d.getTime();a instanceof Date||(a=d.$datePicker.datepicker("getDate"),null===a&&(a=new Date)),a.setHours(b.hour24),a.setMinutes(b.minutes),g.setDate({date:a,format:g.opt.datepicker.dateFormat,setDatepicker:!0}),d.execUsersCallback(g.$input.val())},d.updateDateTimeWidgets=function(a){var b,c=a;for(c instanceof Date||(c=new Date),b=c.getHours(),0===b?b="12":b>12&&(b-=12),d.$hourSelect.val(b),b=c.getMinutes();b%5;)--b;10>b&&(b="0"+b),d.$minSelect.val(b),d.$ampmSelect.val(c.getHours()>11?"PM":"AM"),d.$datePicker.datepicker("setDate",c)},d.showPicker=function(){d.$selectorCntr.show(function(){var a;d.heightDone||(d.heightDone=!0,f(d.$datePicker.find("div.ui-datepicker-inline").add(d.$timePicker))),d.firstShowDone||(d.firstShowDone=!0,a=g.getDate(),a=a.dates.length?e(a.dates[a.dates.length-1]):new Date,d.updateDateTimeWidgets(a))}).position({my:"left top",at:"left bottom",of:g.$input})},d.execUsersCallback=function(b,c){a.isFunction(g.opt.datepicker._onSelect)&&g.opt.datepicker._onSelect.call(d.$datePicker,b,c)},g.opt.datepicker.altFormat="",g.opt.datepicker.altField="",g.opt.datepicker.buttonImage&&!g.isInline&&a('...').appendTo(g.$inputCntr).on("click"+h.evNamespace,function(){d.showPicker()}),(g.opt.allowMultiples||g.isInline)&&(d.$selectorCntr.addClass("spwidget-date-multiples-cntr"),d.$setButton.find("div.spwidget-btn").button({label:g.opt.labelSet}).on("click"+h.evNamespace,function(){return d.setDateTime(),this})),d.$timePicker.find("div.ui-widget-header").html(g.opt.labelTime).end().find("div.spwidget-time-hour > label").html(g.opt.labelHour).end().find("div.spwidget-time-min > label").html(g.opt.labelMinutes).end().find("div.spwidget-time-ampm > label").html(g.opt.labelAMPM).end(),a.isFunction(g.opt.datepicker.onSelect)&&(g.opt.datepicker._onSelect=g.opt.datepicker.onSelect),g.opt.datepicker.numberOfMonths=1,g.opt.datepicker.onSelect=function(a,b){if(g.opt.allowMultiples||g.isInline)return this;var c=new Date(b.currentYear,b.currentMonth,b.currentDay);d.setDateTime(c)},d.$datePicker.datepicker(g.opt.datepicker),d.$timePicker.on("change"+h.evNamespace+" keyup"+h.evNamespace,"select",function(a){return a.stopPropagation(),a.preventDefault(),g.opt.allowMultiples||g.isInline?this:(d.setDateTime(),this)}),g.isInline&&(g.$input.css("display","none"),d.$selectorCntr.addClass("spwidget-inline").css("display","")),g.isInline||g.$input.on("focus"+h.evNamespace,function(){d.showPicker()})):(g.opt.allowMultiples&&g.opt.remainOpen&&(g.opt.datepicker.showAnim=""),a.isFunction(g.opt.datepicker.onSelect)&&(g.opt.datepicker._onSelect=g.opt.datepicker.onSelect),g.opt.datepicker.onSelect=function(b,c){g.setDate({date:b,format:c.settings.dateFormat,setDatepicker:!1}),a.isFunction(g.opt.datepicker._onSelect)&&g.opt.datepicker._onSelect.call(this,b,c),g.opt.allowMultiples&&g.$input.val(""),g.opt.allowMultiples&&g.opt.remainOpen&&!g.isInline&&setTimeout(function(){g.$input.datepicker("show")},5)},g.isInline?(g.$inputCntr.datepicker(g.opt.datepicker),g.$input.css("display","none")):g.$input.datepicker(g.opt.datepicker)),d},g.opt._timeFmt=g.opt.timeUTC?"utc":"local",g.opt.datepicker.altFormat="yy-mm-dd",g.opt.datepicker.altField=g.$ele,g.opt.allowMultiples&&(g.opt.datepicker.altFormat="",g.opt.datepicker.altField="",g.$dtCntr.css("display","").on("click",".spwidgets-item-remove",function(b){var c=a(b.target).closest(".spwidgets-item"),d=c.data("spwidget_dt1");g.opt.allowMultiples&&(d=e(d)),g.removeDate({date:d,format:"yy-mm-dd"})})),g.$ele.css("display","none").data("SPDateFieldInstance",g),g.isInline&&g.inlineCntr.data("SPDateFieldInstance",g),g.$timepicker=g.createDatePicker(),g.eleOrigVal&&g.setDate({date:g.eleOrigVal.split(g.opt.delimeter),format:"yy-mm-dd",triggerEvent:!1}),g.$input.on("change",function(a){a.stopPropagation(),g.$ele.change()}),g.$ui.css("display",""),this})},h.onPageClick=function(b){var c=a(b.target),d=a("div.spwidget-datetime-selector:visible:not('.spwidget-inline')"),e=null;return a.contains(document.documentElement,c[0])?(d.length&&(e=c.closest("div.spwidget-datetime-selector"),!e.length&&c.is("input.spwidget-date-datepicker,.ui-datepicker-trigger")&&(e=c.parent().find("div.spwidget-datetime-selector")),d.not(e).hide()),this):this},g.defaults=h.defaults,g}(Z,w,q,x,y,r),B='
Browse
',C=function(a){var b=function c(b){var d,e=a.extend({},{type:"AND",values:[],onEachValue:null},b),f="",g="",h="",i=0,j=0,k=!1,l="",m=0;for(e.type=String(e.type).toUpperCase(),a.isArray(e.values)||(e.values=[e.values]),"AND"!==e.type&&(f="",g=""),i=e.values.length,j=i-1,k=a.isFunction(e.onEachValue),d=0;i>d;d++)if(l="",l+=k?String(e.onEachValue(e.values[d])).toString():String(e.values[d]).toString(),l&&(h+=l,m++,j-d>1)){l=c(a.extend({},e,{values:e.values.slice(d+1,i-d)})),l&&(m++,h+=l);break}return m>1&&(h=f+h+g),h};return b}(Z),D=function(){var a=function(a){var b,c,d,e=[],f=String(a).split(";#"),g=f.length;if(void 0===a)return e;for(b=0;g>b;b++)c=f[b],b++,d=f[b],(c||d)&&e.push({id:c,title:d});return e};return a}(),E=function(){var a={escape:function(a){return"string"!=typeof a?"":a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},unescape:function(a){return"string"!=typeof a?"":a.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,'"')}};return a}(),F=void 0,G=function(a,b,c,d,e,f,g,h){var i,j={_isLookupbodyEventDone:!1};return j.defaults={list:"",allowMultiples:!0,inputLabel:"",inputPlaceholder:"Type and Pick",readOnly:!1,exactMatch:!0,uiContainer:null,selectFields:["Title"],filter:"",filterFields:["Title"],filterOrderBy:"",template:'
{{Title}} [x]
',listTemplate:"{{Title}}",listHeight:0,onItemAdd:null,onItemRemove:null,onReady:null,msgNoItems:"",maxResults:50,minLength:2,hideInput:!0,padDelimeter:!1,showSelector:!1},i=function(f,h){var i=Array.prototype.slice.call(arguments,1);return f.each(function(){var f,k=a(this);if(!k.is("input")&&!k.is("textarea")||k.hasClass("hasLookupSPField")){if("string"==typeof h&&k.is("input")&&(f=k.data("SPWidgetLookupFieldUI").data("SPWidgetLookupFieldOpt"),"method"===h.toLowerCase())){var l=String(i[1]||"").toLowerCase(),m=i[2];"clear"===l?(a.isArray(m)||(m=m?[m]:[]),m.length?!function(){var b=a();a.each(m,function(a,c){b=b.add(f._selectedItemsCntr.find("div.spwidgets-item-id-"+c))}),j.removeItem(f,b)}():j.removeItem(f,f._selectedItemsCntr.find("div.spwidgets-item"))):"add"===l&&j.addItem(f,m)}return this}f=a.extend({},j.defaults,h,{_ele:k.css("display","none").addClass("hasLookupSPField")}),f.showSelectedItems=function(b,c){var e=f._selectedItemsCntr.css("display",""),g=[],h=!1;e.find("div.spwidgets-item").length&&f.allowMultiples!==!1||e.empty(),a.isArray(b)?g=b:g.push(b),a.each(g,function(b,g){if(!e.find("div.spwidgets-item-id-"+g.ID).length){var i=a('").appendTo(e).find(".spwidgets-item-remove").on("click.SPWidgets",function(){j.removeItem(f,this)}).end();a.isFunction(f.onItemAdd)&&c!==!0&&f.onItemAdd.call(f._ele,i,g,f._cntr),e.find("div.spwidgets-item-id-"+g.ID).length>0&&(h=!0,i.fadeIn("slow").promise().then(function(){a(this).css("display","")}),c!==!0&&f.storeItemIDs(g.ID,f.allowMultiples),f.allowMultiples===!1&&f.hideInput===!0&&f._lookupInputEleCntr.css("display","none"))}}),f.readOnly&&f._cntr.find(".spwidgets-item-remove").remove(),h&&f._ele.trigger("change")},f.storeItemIDs=function(b,c){var d=a.trim(f._ele.val()),e=!1;a.isArray(b)||(b=[b]),c!==!0&&(d=""),a.each(b,function(a,b){b&&(d.length<1&&f.padDelimeter===!0&&!e&&(d+=";#",e=!0),d.length>0&&(d+=";#"),d+=b+";#")}),f._ele.val(d)},f.showCurrentInputSelection=function(b){return a.Deferred(function(d){var h=a.extend({},{async:!0},b),i=g(f._ele.val());return i.length?void c({operation:"GetListItems",async:h.async,listName:f.list,CAMLQuery:""+e({type:"OR",values:i,onEachValue:function(a){var b="";return a.id&&(b=""+a.id+""),b}})+"",CAMLViewFields:""+f._selectFields+"",CAMLRowLimit:0,completefunc:function(a,b,c){f.addToAutocompleteCache(c),f.showSelectedItems(c,!0),d.resolveWith(f,[a,b])}}):void d.resolveWith(f,[null,null])}).promise()},f.getItemObjectFromCache=function(b){var c=null;return a.each(f._autocompleteCache,function(d,e){return a.each(e,function(a,d){return d.ID===b?(c=d,!1):void 0}),null!==c?!1:void 0}),c},f.addToAutocompleteCache=function(b){a.isArray(b)||(b=[b]),a.each(b,function(a,b){f._autocompleteCache[b.ID]||(f._autocompleteCache[b.ID]=[]),f._autocompleteCache[b.ID].push(b)})},f._cntr=a(b).find(".spwidgets-lookup-cntr").clone(1),null===f.uiContainer?f._cntr.insertAfter(f._ele):f._cntr.appendTo(a(f.uiContainer)),f._selectedItemsCntr=f._cntr.find("div.spwidgets-lookup-selected"),f._lookupInputEleCntr=f._cntr.find("div.spwidgets-lookup-input"),f._lookupInputEle=f._lookupInputEleCntr.find("input[name='spwidgetLookupInput']"),f._ignoreKeywordsRegEx=/^(of|and|a|an|to|by|the|or)$/i,f._cntr.data("SPWidgetLookupFieldOpt",f),f._ele.data("SPWidgetLookupFieldUI",f._cntr),f.showSelector?(f._selectorCntr=f._cntr.find("div.spwidget-lookup-selector-cntr"),f._queryInitDone=!1,f._cntr.find(".spwidget-lookup-selector-showhide").on("click",function(){f._selectorCntr.is(":visible")?f._selectorCntr.css("display","none"):(f._selectorCntr.css("display","block").position({my:"left top",at:"left bottom",of:f._lookupInputEle}),f._queryInitDone||(f._queryInitDone=!0,j.doSelectorDataInit(f)))}),f._selectorCntr.find("button[name='close']").button({text:!1,icons:{primary:"ui-icon-circle-close"}}).click(function(){f._selectorCntr.css("display","none")}),f._lookupInputEle.on("focus",function(){f._selectorCntr.is(":visible")&&f._selectorCntr.css("display","none")})):f._cntr.find(".spwidget-lookup-selector-showhide,.spwidget-lookup-selector-cntr").remove(),f.inputLabel?f._cntr.find("div.spwidgets-lookup-input label").empty().append(f.inputLabel):f._cntr.find("div.spwidgets-lookup-input label").remove(),f.inputPlaceholder&&f._lookupInputEleCntr.find("input").attr("placeholder",f.inputPlaceholder),f.readOnly===!0&&(f._lookupInputEleCntr.css("display","none"),f._cntr.find("div.spwidget-lookup").addClass("spwidget-lookup-readyonly")),f._selectFields="",a.each(f.selectFields,function(a,b){f._selectFields+=""}),f._templateTokens=String(f.template).match(/(\$\{.*?\})/g),null==f._templateTokens&&(f._templateTokens=[]),a.each(f._templateTokens,function(a,b){f._templateTokens[a]=b.replace(/[\$\{\}]/g,"")});var n=f._autocompleteCache={};return f._cntr.find("div.spwidgets-lookup-input input").autocomplete({minLength:2,appendTo:f._cntr,open:function(){a(this).autocomplete("widget").each(function(){return f.listHeight>0&&a(this).css("height",f.listHeight+"px"),!1})},source:function(b,g){b.term=a.trim(b.term);var h=String(a.trim(b.term)).toUpperCase();if(h in n)return void g(n[h]);n[h]=[];var i=[],j=String(b.term);if(null===j.match(/\D/)&&null!==j.match(/\d/))i.push(""+j+"");else{var k=[b.term];f.exactMatch||(k=String(b.term).split(/ /));for(var l=0,m=f.filterFields.length;m>l;l++){for(var o=[],p=0,q=k.length;q>p;p++)f._ignoreKeywordsRegEx.test(k[p])||o.push(""+k[p]+"");i.push(e({values:o,type:"AND"}))}}var r=e({values:i,type:"OR"});f.filter&&(r=e({values:[r,f.filter],type:"AND"})),c({operation:"GetListItems",listName:f.list,async:!0,CAMLQuery:""+r+""+f.filterOrderBy+"",CAMLRowLimit:f.maxResults,CAMLViewFields:""+f._selectFields+"",completefunc:function(b,c,e){a.each(e,function(a,b){b.value="",b.label=d(f.listTemplate,b),n[h].push(b)}),g(n[h])}})},select:function(a,b){f.showSelectedItems(b.item)}}).on("keyup.SPWidgets",function(b){if(13===b.which){var c=a(b.target).val();c&&String(c).length"+b.msgNoItems+"
"),e.find("div.spwidgets-item").each(function(){f.push(a(this).data("spid"))}),b._lookupInputEleCntr.find("input").focus(),b.storeItemIDs(f),b._ele.change()}),j},j.addItem=function(a,b){if(!b||"string"!=typeof b)return a;var c=a._ele.val();return""===c&&a.padDelimeter===!0&&(c+=";#"),c&&(c+=";#"),c+=b,a._ele.val(c),a.showCurrentInputSelection(),a},j.doSelectorDataInit=function(b){var e={$resultsCntr:b._selectorCntr.find("div.spwidget-lookup-selector-item-cntr"),nextPageToken:"",isLoading:!1,hasMorePages:!0,$lastPage:a(),queryXml:b.filter?""+b.filter+""+b.filterOrderBy+"":""+b.filterOrderBy+""};return j._isLookupbodyEventDone||(j._isLookupbodyEventDone=!0,a("body").on("click",function(b){var c=a(b.target),d=a("div.spwidget-lookup-selector-cntr:visible"),e=null;d.length&&(e=c.closest("div.spwidget-lookup-selector-cntr"),!e.length&&c.is(".spwidget-lookup-selector-showhide")&&(e=c.parent().find("div.spwidget-lookup-selector-cntr")),d.not(e).hide())})),e.getListRows=function(){return a.Deferred(function(g){if(e.isLoading)return void g.resolveWith(a,[e.$lastPage]);e.isLoading=!0;var i=a("
").insertBefore(e.$nextPage);e.$lastPage=i,c({operation:"GetListItems",listName:b.list,async:!0,CAMLQuery:e.queryXml,CAMLRowLimit:b.maxResults,CAMLViewFields:""+b._selectFields+"",CAMLQueryOptions:function(){return""!==e.nextPageToken?"":void 0}(),completefunc:function(c,h,j){var k=f({xDoc:c.responseXML,nodeName:"rs:data",asJQuery:!0}).eq(0),l="";e.nextPageToken=k.attr("ListItemCollectionPositionNext")||"",""===e.nextPageToken&&(e.hasMorePages=!1),a.each(j,function(a,c){b.addToAutocompleteCache(c),c.value="",c.label=d(b.listTemplate,c),l+='
'+c.label+"
"}),i.html(l).find("div.spwidget-lookup-item").each(function(){var b=a(this);b.hover(function(){b.addClass("ui-state-hover")},function(){b.removeClass("ui-state-hover")})}).end().on("click","div.spwidget-lookup-item",function(){var c=a(this).data("spwidgetsindex");b.showSelectedItems(j[c])}),e.isLoading=!1,g.resolveWith(i,[i])}})})},e.$nextPage=a('
Next...
').appendTo(e.$resultsCntr.empty()).click(function(){e.hasMorePages&&(e.$nextPage.css("display","none"),e.getListRows().then(function(a){e.hasMorePages?e.$nextPage.css("display",""):a.children().length||a.append("
No Items Found!
"),e.$resultsCntr.scrollTop(a.position().top)}))}),e.$nextPage.click(),b},i.defaults=j.defaults,i}(Z,B,k,q,C,f,D,E),H='
None Selected!
',I=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={searchText:"",maxResults:50,principalType:"All",webURL:"",cacheXML:!1,async:!0,completefunc:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/People.asmx",h.cacheKey=h.webURL+"?"+[h.searchText,h.maxResults,h.principalType].join("|"),h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(a,b){h.completefunc(a,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.searchText+""+h.maxResults+""+h.principalType+"",complete:function(e,f){return"error"===f||d(e)?(h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[e,f])):(c.resolveWith(a,[e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f)))}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)},f}();return e}(Z,b,a,h),J=function(a,b){var c=function(){var c=null,d=function(){return c.apply(this,arguments)};return d.defaults={principalKeys:[],principalType:"All",addToUserInfoList:!0,async:!0},c=function(c){var e=a.extend({},d.defaults,c);e.webURL?"/"!==e.webURL.charAt(e.webURL.length-1)&&(e.webURL+="/"):e.webURL=b(),e.webURL+="/_vti_bin/People.asmx",a.isArray(e.principalKeys)||(e.principalKeys=[e.principalKeys]),e.principalXml="";var f,g,h=//i;for(f=0,g=e.principalKeys.length;g>f;f++)e.principalXml+=h.test(e.principalKeys[f])?e.principalKeys[f]:""+e.principalKeys[f]+"";return a.ajax({type:"POST",cache:!1,async:e.async,url:e.webURL,contentType:"text/xml;charset=utf-8",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://schemas.microsoft.com/sharepoint/soap/ResolvePrincipals")},dataType:"xml",data:''+e.principalXml+""+e.principalType+""+e.addToUserInfoList+""})},d}();return c}(Z,a),K=void 0,L=function(a,b,c,d,e,f,g){var h,i={};return i.defaults={allowMultiples:!0,maxSearchResults:50,webURL:null,type:"User",onPickUser:null,onCreate:null,onRemoveUser:null,inputPlaceholder:"Type and Pick",appendTo:null,minLength:3,showSelected:!0,resolvePrincipals:!0,meKeyword:"[me]",meKeywordLabel:"Current User",filterSuggestions:null},h=function(f,h){var j=Array.prototype.slice.call(arguments,1),k=f;return"string"==typeof h?function(a){return a.is("input")&&a.hasClass("hasPickSPUser")?i.handleAction.apply(a,j):k}(k.eq(0)):k.each(function(){var f=a(this),j=a.extend({},i.defaults,h,{eleUserInput:f.css("display","none").addClass("hasPickSPUser")});j.webURL||(j.webURL=c()),j.maxSearchResults=parseInt(j.maxSearchResults)||50;var k=a(b).find(".pt-pickSPUser").clone(1).insertAfter(f);j.eleSelected=k.find("div.pt-pickSPUser-selected").empty().on("click",".tt-delete-icon",function(){i.removeUser(this)}),j.elePickInput=k.find("div.pt-pickSPUser-input"),j.isUserAlreadySelected=function(a,b){var c="div[data-pickspuserid='"+a+"']";return b&&(c+="[data-pickspusername='"+b.replace(/'/g,"\\'")+"']"),j.eleSelected.find(c).length>0},j.addPeopleToList=function(b,c){var d,e,f,h,k=String(b).split(";#"),l=k.length;for(d=0;l>d;d++)e=k[d],d++,f=k[d],""===e.toLowerCase()&&(f=j.meKeywordLabel),h=i.getUserHtmlElement(j,e,f).appendTo(j.eleSelected),function(b,c){var d=c;""===e.toLowerCase()&&(d=j.meKeyword),j.getSearchResults(d).done(function(d){var e=String(c).toLowerCase(); -a.each(d,function(a,c){var d=String(c.displayName).toLowerCase();return d===e?(b.data("pickspuser_object",c),!1):void 0})})}(h,f,e);g(j.eleSelected.find("div.pt-pickSPUser-person-cntr")),j.allowMultiples===!1&&j.elePickInput.css("display","none"),i.storeListOfUsers(j.eleSelected,c)},j.getSearchResults=function(b){return a.Deferred(function(c){d({searchText:b,maxResults:j.maxSearchResults,principalType:j.type,async:!0,webURL:j.webURL,completefunc:function(d,e){var f=a(d.responseXML),g=[];String(j.meKeyword).indexOf(b.toLowerCase())>-1&&g.push({displayName:j.meKeywordLabel,accountId:"",accountName:j.meKeywordLabel,accountType:"User",value:j.meKeywordLabel,label:j.meKeywordLabel}),f.find("PrincipalInfo").each(function(){var b=a(this),c={displayName:b.find("DisplayName").text(),accountId:b.find("UserInfoID").text(),accountName:b.find("AccountName").text(),accountType:b.find("PrincipalType").text(),email:b.find("Email").text(),value:b.find("DisplayName").text(),label:""};c.label+=c.displayName,g.push(c)}),j.filterSuggestions&&(g=j.filterSuggestions(g)),c.resolveWith(d,[g,d,e])}})}).promise()},j.allowMultiples===!0&&j.eleSelected.addClass("pt-pickSPUser-selected-multiple");var l={};return j.elePickInput.find("input[name='pickSPUserInputField']").attr("placeholder",j.inputPlaceholder).autocomplete({minLength:j.minLength,appendTo:j.appendTo||j.elePickInput,source:function(a,b){return a.term in l?void b(l[a.term]):(l[a.term]=[],void j.getSearchResults(a.term).then(function(c){l[a.term].push.apply(l[a.term],c),b(l[a.term])}))},select:function(b,c){if(j.allowMultiples===!1)j.eleSelected.empty();else if(j.isUserAlreadySelected(c.item.accountId,c.item.displayName))return void setTimeout(function(){b.target.value=""},50);var d=function(){var d=i.getUserHtmlElement(j,c.item.accountId,c.item.displayName).appendTo(j.eleSelected);d.data("pickspuser_object",c.item),i.storeListOfUsers(k),g(k.find("div.pt-pickSPUser-person-cntr")),setTimeout(function(){b.target.value=""},50),j.allowMultiples===!1&&j.elePickInput.hide(),a.isFunction(j.onPickUser)&&j.onPickUser.call(j.eleUserInput,a.extend({},c.item)),f.trigger(a.Event("spwidget:peoplePickerAdd"),[j.eleUserInput,a.extend({},c.item)])};"-1"===c.item.accountId&&j.resolvePrincipals?e({principalKeys:c.item.accountName}).then(function(b){var e=a(b).find("PrincipalInfo");e.each(function(){var b=a(this);return b.find("Email").text()===c.item.email||b.find("DisplayName").text()===c.item.displayName?(c.item.accountId=e.find("UserInfoID").text(),d(),!1):void 0})}):d()}}),j.showSelected||k.find("div.pt-pickSPUser-selected").css("display","none"),k.data("pickSPUserContainerOpt",j),f.data("pickSPUserContainer",k),f.val()&&j.addPeopleToList(f.val(),!0),a.isFunction(j.onCreate)&&j.onCreate.call(f,f),f.trigger(a.Event("spwidget:peoplePickerCreate"),[j.eleUserInput]),this})},i.getUserHtmlElement=function(c,d,e){var f=a(b).find(".pt-pickSPUser-person").clone(1);return f.attr("data-pickSPUserID",d),f.find("span.pt-person-name").append(e).end().attr("data-pickSPUserNAME",e),f},i.removeUser=function(b){var c=a(b).closest("div.pt-pickSPUser"),d=c.data("pickSPUserContainerOpt"),e=a(b).closest("div.pt-pickSPUser-person"),f=e.data("pickspuser_object"),g=!0;a.isFunction(d.onRemoveUser)&&d.onRemoveUser.call(d.ele,d.ele,e,f),g!==!1&&(e.fadeOut("fast",function(){a(this).remove(),i.storeListOfUsers(c)}),d.allowMultiples===!1&&d.elePickInput.show("fast",function(){d.elePickInput.find("input").focus()}),d.eleUserInput.trigger(a.Event("spwidget:peoplePickerRemove"),[d.eleUserInput,f]))},i.storeListOfUsers=function(b,c){var d=a(b).closest("div.pt-pickSPUser"),e=d.data("pickSPUserContainerOpt"),f="",g={};d.find("div.pt-pickSPUser-selected div.pt-pickSPUser-person").each(function(){var b=a(this),c=b.attr("data-pickSPUserID")+";#"+a(this).attr("data-pickSPUserNAME");g[c]||(g[c]=!0,f&&(f+=";#"),f+=c)}),e.eleUserInput.val(f),c||e.eleUserInput.change()},i.handleAction=function(b,c,d){b=String(b).toLowerCase(),c=String(c).toLowerCase();var e=a(this).data("pickSPUserContainer").data("pickSPUserContainerOpt"),g=this;if("method"===b)switch(c){case"clear":e.eleUserInput.val(""),e.eleSelected.empty(),e.allowMultiples===!1&&(e.eleSelected.css("display","none"),e.elePickInput.show());break;case"destroy":a(this).hasClass("hasPickSPUser")&&a(this).removeClass("hasPickSPUser").next(".pt-pickSPUser").remove().show().trigger("change");break;case"add":e.addPeopleToList(d);break;case"remove":if(d){var h=e.eleSelected.find("div[data-pickspuserid='"+d+"']");h.length||(h=e.eleSelected.find("div[data-pickspusername='"+d.replace(/'/g,"\\'")+"']")),h.length&&i.removeUser(h)}break;case"getselected":g=f(e.eleUserInput.val())}return g},h.defaults=i.defaults,h}(Z,H,a,I,J,D,s),M='',N='
__COLUMN__UI__
',O='',P='
{{tooltip}}
',Q=void 0,R=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var r,s={};return s.defaults={list:"",webURL:"",columns:["Title"],textFieldTooltip:"Use a semicolon to delimiter multiple keywords.",peopleFieldTooltip:"Use [me] keyword to represent current user.",definedClass:"spwidget-column-dirty",showFilterButton:!0,showFilterButtonTop:!0,filterButtonLabel:"Filter",onFilterClick:null,onReady:null,onReset:null,ignoreKeywords:/^(of|and|a|an|to|by|the|or|from)$/i,delimeter:";",height:null},r=function(g,i){var k=Array.prototype.slice.call(arguments,1),l=g;if("string"==typeof i){if(!l.eq(0).hasClass("hasSPFilterPanel"))return;return function(a){var b=a.eq(0).find("div.spwidget-filter").data("SPFilterPanelInst"),c=i.toLowerCase(),d=b.$ele;switch(c){case"getfilter":d=s.getFilterValues(b);break;case"setfilter":s.setFilterValues(b,k[1]);break;case"reset":s.doResetFilter(b);break;case"destroy":b.$ele.removeClass("hasSPFilterPanel").empty()}return d}(l)}return l.each(function(){var g=a.extend({},s.defaults,i),k={$ele:a(this),$ui:null,$uiFilterSortCntr:null,$uiFilterColumnCntr:null,$uiSortButtons:null,opt:g};return g.webURL||(g.webURL=f()),k.showSortOrder=function(){k.$uiFilterColumnCntr.hide(),k.$uiFilterSortCntr.show()},k.showFilterColumns=function(){k.$uiFilterSortCntr.hide(),k.$uiFilterColumnCntr.show()},k.buildWidget=function(){return a.Deferred(function(f){h({listName:g.list,cacheXML:!0,async:!0,webURL:g.webURL}).then(function(g){var h="",l=a.trim(c);k.$ui=a(a.trim(b)).appendTo(k.$ele.empty().addClass("hasSPFilterPanel")),k.$uiFilterColumnCntr=k.$ui.find("div.spwidget-filter-column-cntr"),k.$uiFilterSortCntr=k.$ui.find("div.spwidget-filter-sort-cntr"),k.opt.height&&k.$uiFilterColumnCntr.css("height",k.opt.height),a.each(k.opt.columns,function(b,c){var f=g.getColumn(c),i=l,m="",n=null;if(f){switch(n={type:null,otherFilterTypes:"",sp_type:f.Type,sp_format:f.Format,Name:f.Name,DisplayName:f.DisplayName},f.Type){case"Choice":case"MultiChoice":f.getColumnValues().forEach(function(b){m+=j(a.trim(d),{DisplayName:f.DisplayName,Name:f.Name,value:b})}),i=i.replace(/__COLUMN__UI__/,m).replace(/__OTHER_FILTER_TYPES__/,""),i=j(i,{DisplayName:f.DisplayName,type:"choice",Name:f.Name});break;case"Attachments":n.type="boolean",n.input_ui='',i=j(i.replace(/__COLUMN__UI__/,n.input_ui).replace(/__OTHER_FILTER_TYPES__/,""),n);break;default:switch(f.Type){case"Lookup":case"LookupMulti":null===n.type&&(n.type="lookup",n.list=f.List,"Self"===n.list&&(n.list=f.getList().Title));break;case"User":case"UserMulti":null===n.type&&(n.type="people");break;case"Counter":case"Number":case"RatingCount":case"Likes":null===n.type&&(n.type="text",n.otherFilterTypes='');break;case"DateTime":null===n.type&&(n.type="date",n.otherFilterTypes='',n.sp_format="DateOnly"!==f.Format?"DateTime":"DateOnly");break;default:n.type="text"}m=a.trim(e),i=i.replace(/__COLUMN__UI__/,m).replace(/__OTHER_FILTER_TYPES__/,n.otherFilterTypes),i=j(i,a.extend(n,{DisplayName:f.DisplayName,Name:f.Name,tooltip:k.opt.textFieldTooltip}))}h+=i}}),k.$uiFilterColumnCntr.html(h),k.$ele.find("div.spwidget-type-lookup input").each(function(){var b=a(this);m(b,{list:b.closest("div.spwidget-column").data("spwidget_list"),template:'
{{Title}} [x]
',listTemplate:"{{Title}}",allowMultiples:!0,readOnly:!1,filter:"",showSelector:!0}),b.parent().find(".spwidget-tooltip").remove()}),k.$ele.find("div.spwidget-type-people input").each(function(){var b=a(this),c=g.getColumn(b.attr("name")),d="User";"PeopleOnly"!==c.UserSelectionMode&&(d="All"),n(b,{allowMultiple:!0,type:d}),b.parent().find(".spwidget-tooltip").html(k.opt.peopleFieldTooltip)}),k.$ele.find("div.spwidget-type-date").each(function(){var b=a(this),c=b.find("input");return o(c,{allowMultiples:!0,showTimepicker:"DateTime"===b.data("spwidget_sp_format")?!0:!1}),b.find(".spwidget-tooltip").remove(),b.find("select.spwidget-filter-type").val("Eq").find("option[value='Contains']").remove(),this}),k.$ele.find(".spwidget-type-boolean div.spwidget-filter-type-cntr").css("display","none"),k.opt.showFilterButton||k.opt.showFilterButtonTop?k.$ui.find("div.spwidget-filter-button-cntr").each(function(){var b=a(this),c=a();k.opt.showFilterButtonTop&&(c=c.add(b.clone(!0)).prependTo(k.$ui)),k.opt.showFilterButton?c=c.add(b):b.remove(),c.find("button[name='filter']").button({icons:{primary:"ui-icon-search"},label:k.opt.filterButtonLabel}).on("click",s.onFilterButtonClick),c.find("button[name='reset']").button({icons:{primary:"ui-icon-arrowreturnthick-1-n"},text:!1}).on("click",function(){return s.doResetFilter(k),this})}):k.$ui.find("div.spwidget-filter-button-cntr").remove(),k.$ui.on("change.SPWidgets.SPFilterPanel","select.spwidget-filter-type,select.spwidget-sort-order",s.onFilterTypeChange).on("click.SPWidgets.SPFilterpanel","a.spwidget-column-action",s.onFilterTypeChange),""!==k.opt.definedClass&&k.$ui.on("change.SPWidgets.SPFilterPanel",".spwidget-filter-input",s.onFilterInputChange),k.$ui.data("SPFilterPanelInst",k),a.isFunction(k.opt.onReady)&&k.opt.onReady.call(k.$ele,i),k.$ui.fadeIn().promise().then(function(){a(this).css("display",""),f.resolve()})}).fail(function(){var a=this;k.$ele.html('
Unable to retrieve list information. '+q(a)+"
"),f.reject()})}).promise()},k.opt.ignoreKeywords&&!k.opt.ignoreKeywords instanceof RegExp&&(k.opt.ignoreKeywords=/Inst.opt.ignoreKeywords/i),k.buildWidget(),this})},s.onFilterInputChange=function(){var b=a(this),c=b.closest("div.spwidget-filter-value-input"),d=c.closest("div.spwidget-column"),e=b.val(),f=c.closest("div.spwidget-filter").data("SPFilterPanelInst");return d.is(".spwidget-type-choice")&&(c.find(".spwidget-filter-input:checked").length||(e="")),s.isColumnDirty(d)?d.addClass(f.opt.definedClass):d.removeClass(f.opt.definedClass),this},s.onFilterTypeChange=function(){var b=a(this),c=b.closest("div.spwidget-column"),d=c.find("div.spwidget-filter-type-cntr select.spwidget-match-type"),e=c.find("div.spwidget-filter-value-cntr"),f=e.find(".spwidget-input"),g="",h=b.val(),i=b.closest("div.spwidget-filter").data("SPFilterPanelInst");return b.is("select.spwidget-sort-order")?void(b.val()?(c.addClass("spwidget-has-sort-order"),c.addClass(i.opt.definedClass)):(c.removeClass("spwidget-has-sort-order"),s.isColumnDirty(c)||c.removeClass(i.opt.definedClass))):b.is("a.spwidget-column-action")?(g=b.data("action"),void(("up"===g||"down"===g)&&s.moveColumn(c,"up"===g?!0:!1))):("IsNull"===h||"IsNotNull"===h?(e.addClass("spwidget-disabled"),f.attr("disabled","disabled"),d.attr("disabled","disabled"),c.addClass(i.opt.definedClass)):(e.removeClass("spwidget-disabled"),f.removeAttr("disabled","disabled"),d.removeAttr("disabled"),s.isColumnDirty(c)||c.removeClass(i.opt.definedClass)),this)},s.onFilterButtonClick=function(){var b=a(this).closest("div.spwidget-filter").data("SPFilterPanelInst"),c=null;return a.isFunction(b.opt.onFilterClick)&&(c=s.getFilterValues(b),b.opt.onFilterClick.call(b.$ele,c)),this},s.doResetFilter=function(b){return a.isFunction(b.onReset)&&b.onReset.call(b.$ele,s.getFilterValues(b))===!0?b:(b.$ui.find("div[data-spwidget_column_type='text'] input").val("").end().find("div[data-spwidget_column_type='choice'] input").prop("checked",!1).end().find("div[data-spwidget_column_type='boolean'] .spwidget-filter-value-input select").val(""),o(b.$ui.find(".hasSPDateField"),"reset"),n(b.$ui.find(".hasPickSPUser"),"method","clear"),m(b.$ui.find(".hasLookupSPField"),"method","clear"),""!==b.opt.definedClass&&b.$ui.find("."+b.opt.definedClass).removeClass(b.opt.definedClass),b.$ui.find("select.spwidget-filter-type").each(function(){var b=a(this),c=b.val();("IsNull"===c||"IsNotNull"===c)&&(b.val("Eq"),b.change())}),b.$ui.find("select.spwidget-sort-order").val("").change(),b)},s.getFilterValues=function(b){function c(a){return k({type:a.logicalType,values:a.values,onEachValue:function(b){return"<"+a.matchType+">"+l.escape(b)+""}})}var d={CAMLQuery:"",CAMLOrderBy:"",URLParams:"",filters:{},count:0,columns:[]},e=b.$ui.find("div.spwidget-column"),f=[],g="";return e.each(function(e,h){var j=a(h),l=j.find(".spwidget-input"),m=l.attr("name"),n=new s.ColumnFilter({columnName:m,matchType:j.find("select.spwidget-filter-type").val(),logicalType:j.find("select.spwidget-match-type").val(),sortOrder:j.find("select.spwidget-sort-order").val()}),p=j.data("spwidget_column_type"),q={};if(n.sortOrder&&(n.CAMLOrderBy+='"),"IsNull"===n.matchType||"IsNotNull"===n.matchType)n.CAMLQuery="<"+n.matchType+">",n.count+=1;else switch(p){case"choice":case"multichoice":l.each(function(){var b=a(this),c=b.val();b.is(":checked")&&n.values.push(c)}),n.values.length&&(n.count=n.values.length,n.CAMLQuery=c(n));break;case"lookup":case"people":!function(){var b=[];l.each(function(){var c,d,e=a(this),f=i(e.val());for(c=0,d=f.length;d>c;c++)f[c].id&&(n.values.push(f[c].id+";#"+f[c].title),b.push(f[c].id))}),n.values.length&&(n.count=n.values.length,n.CAMLQuery=k({type:n.logicalType,values:b,onEachValue:function(a){return"<"+n.matchType+">"+a+""}}))}();break;case"date":l.each(function(){var a=o(l,"getDate");return a.dates.length&&(n.values=a.dates,n.count=n.values.length,n.CAMLQuery=k({type:n.logicalType,values:n.values,onEachValue:function(a){return"<"+n.matchType+">"+a+""}})),!1});break;case"text":case"boolean":String(a.trim(l.val())).length&&!function(){var d,e,f,g=l.val().split(b.opt.delimeter);for(d=0,e=g.length;e>d;d++)f=a.trim(g[d]),!b.opt.ignoreKeywords.test(f)&&f&&n.values.push(f);n.CAMLQuery=c(n),n.count=n.values.length}()}(n.count>0||n.CAMLOrderBy)&&(q[m]={},n.CAMLOrderBy&&(g+=n.CAMLOrderBy,q[m].sortOrder=n.sortOrder),n.count>0&&(f.push(n.CAMLQuery),d.count+=n.count,d.filters[m]=n,q[m].matchType=n.matchType,q[m].logicalType=n.logicalType,q[m].values=n.values),(n.CAMLOrderBy||n.count>0)&&d.columns.push(n.columnName),n.URLParams=a.param(q,!1),""!==d.URLParams&&(d.URLParams+="&"),d.URLParams+=n.URLParams)}),d.count>1?d.CAMLQuery=k({type:"AND",values:f}):1===d.count&&(d.CAMLQuery=f[0]),g&&(d.CAMLOrderBy+=""+g+""),d},s.setFilterValues=function(b,c){return"object"!=typeof c||a.isEmptyObject(c)?b:(s.doResetFilter(b),a.each(c,function(c,d){var e=b.$ui.find(".spwidget-filter-input[name='"+c+"']"),f=e.closest("div.spwidget-column"),g=f.data("spwidget_column_type"),h=f.find("select[name='"+c+"_type']"),i=f.find("div.spwidget-filter-type-cntr select.spwidget-match-type"),j=f.find("select.spwidget-sort-order"),k=new s.ColumnFilter;if(a.extend(k,d),"boolean"!==g&&(k.matchType&&"boolean"!==g&&h.val(k.matchType),k.logicalType&&i.val(k.logicalType)),"boolean"===g||"IsNull"!==d.matchType&&"IsNotNull"!==d.matchType)switch(g){case"text":case"boolean":e.val(k.values instanceof Array?k.values.join(b.opt.delimeter):k.values);break;case"choice":case"multichoice":a.each(k.values,function(a,b){e.filter("[value='"+b+"']").prop("checked",!0)});break;case"lookup":m(e,"method","add",k.values.join(";#"));break;case"people":n(e,"method","add",k.values.join(";#"));break;case"date":"DateTime"===f.data("spwidget_sp_format")?o(e,"setDate",k.values):o(e,"setDate",k.values,"yy-mm-dd")}else h.change();k.sortOrder&&j.val("asc"===String(k.sortOrder).toLowerCase()?"Asc":"Des"),j.change(),e.change()}),b)},s.ColumnFilter=function(a){var b=function(){},c=new b;return"object"!=typeof a&&(a={}),c.columnName=a.columnName||"",c.matchType=a.matchType||"",c.logicalType=a.logicalType||"",c.sortOrder=a.sortOrder||"",c.values=a.values||[],c.CAMLQuery=a.CAMLQuery||"",c.CAMLOrderBy=a.CAMLOrderBy||"",c.URLParams=a.URLParams||"",c.count=a.count||0,c},s.moveColumn=function(a,b){var c=a.parent().children(),d=c.length,e=c.index(a);b&&0===e||(b||e+1!==d)&&(b?a.insertBefore(a.prev()):a.insertAfter(a.next()))},s.isColumnDirty=function(b){var c=!1,d=b.data("spwidget_column_type"),e=b.find(".spwidget-input");return"choice"===d||"multichoice"===d?e.filter(":checkbox").each(function(){var b=a(this);return b.is(":checked")?(c=!0,!1):void 0}):e.val()&&(c=!0),c||(e=b.find("select.spwidget-sort-order"),e.val()&&(c=!0)),c},r.defaults=s.defaults,r}(Z,M,N,O,P,a,i,m,D,q,C,E,G,L,A,h,o),S='
Upload
Upload Successful! x
Error x
Select...
',T=function(){var a=function(a){var b={12:"2007",14:"2010",15:"2013"},c=12,d=!1;return"undefined"!=typeof SP&&(c=14,SP.ClientSchemaVersions&&SP.ClientSchemaVersions.currentVersion&&(c=parseInt(SP.ClientSchemaVersions.currentVersion),d=!0),d||"undefined"==typeof _spPageContextInfo||(c=parseInt(_spPageContextInfo.webUIVersion),4===c&&(c=14))),a&&(c=b[c]||c),c};return a}(),U=void 0,V=function(a,b,c,d,e,f){var g,h={};return h.isInitDone=!1,h.defaults={listName:"",folderPath:"",uploadDonePage:"",onPageChange:null,onUploadDone:null,uploadUrlOpt:"",overwrite:!1,uploadPage:"",overlayClass:"",overlayBgColor:"white",overlayMessage:"
Working on it
",selectFileMessage:"Click here to select file...",uploadDoneMessage:"Upload Successful!",fileNameErrorMessage:'A file name cannot contain any of the following characters: \\ / : * ? " < > | # { } % ~ &',noFileErrorMessage:"No file selected!",checkInFormHeight:"25em",webURL:null,debug:!1,filenameInputSelector:"input[id$='onetidIOFile']"},g=function(c,g){return h.isInitDone||(h.isInitDone=!0,h.defaults.webURL||(h.defaults.webURL=e())),c.each(function(){var c,e=a.extend({},h.defaults,g);if(e.log=e.debug?h.log:function(){},e.showHideBusy=function(b){return a.Deferred(function(a){b?e.$busyOverlay.fadeOut("fast").promise().then(function(){a.resolve()}):e.$busyOverlay.fadeIn("slow").promise().then(function(){a.resolve()})}).promise()},e.showHideFullForm=function(a){return a?(e.$content.removeClass("spwidget-show-full-form"),e.$iframeCntr.css({overflow:"",height:""})):(e.$content.addClass("spwidget-show-full-form"),e.$iframeCntr.css({overflow:"auto",height:"auto"})),e},e.showHideSuccess=function(a){return a?e.$successCntr.stop().fadeOut().promise(function(){e.$successCntr.css("display","none")}):e.$successCntr.stop().show().promise(function(){e.$successCntr.css("display","block")}),e},e.showError=function(b){var c=a.extend({},{message:"",autoHide:!0},b);return e.$errorCntrMsg.html(c.message),e.$errorCntr.stop().css("display","block"),c.autoHide&&e.$errorCntr.animate({opacity:1},5e3,function(){e.clearError()}),e},e.clearError=function(){return e.$errorCntr.css("display","none"),e},e.resetWidget=function(){return e.ev={state:1,action:"uploading",hideOverlay:!0,pageUrl:"",page:null,isUploadDone:!1,file:{}},e.$iframe.attr("src",e.uploadPage),e},e.getUploadedFileRow=function(){var a={};return d({async:!1,webURL:e.webURL,listName:e.listName,CAMLQuery:"",CAMLViewFields:"",CAMLRowLimit:1,CAMLQueryOptions:"",completefunc:function(b,c,d){d.length&&(a=d[0])}}),a},e.isUploadPage=function(a){var b=!1,c=document.createElement("a"),d=null;return c.href=String(a).toLowerCase(),e.userUploadPage?(d=document.createElement("a"),d.href=String(e.userUploadPage).toLowerCase(),c.pathname===d.pathname&&(b=!0)):b=/upload(ex)?\.aspx$/.test(c.pathname),b},e.listName&&0!==e.listName.indexOf("{")&&(e.listName=h.getListUID(e.listName)),!e.listName)return a(this).html('
Input parameter [listName] not valid!
'),this;if(e.spVersion=f(!0),e.userUploadPage=e.uploadPage,e.uploadPage=String(e.uploadPage),e.uploadPage){if(-1===e.uploadPage.toLowerCase().indexOf("http")){var i="/";0===e.uploadPage.indexOf("/")&&(i=""),e.uploadPage=e.webURL+i+e.uploadPage}}else switch(e.spVersion){case"2013":e.uploadPage=e.webURL+"/_layouts/15/UploadEx.aspx";break;case"2010":e.uploadPage=e.webURL+"/_layouts/UploadEx.aspx";break;default:e.uploadPage=e.webURL+"/_layouts/Upload.aspx"}return e.uploadDonePage=String(e.uploadDonePage),e.uploadDonePage||(e.uploadDonePage=e.webURL+"/_layouts/images/STS_ListItem_43216.gif"),e._iframeLoadId=1,e._uploadUrlParams="?List="+encodeURIComponent(e.listName)+"&RootFolder="+encodeURIComponent(e.folderPath)+"&Source="+encodeURIComponent(e.uploadDonePage)+"&"+(new Date).getTime()+"=1&"+e.uploadUrlOpt,e.uploadPage=e.uploadPage+e._uploadUrlParams,e._lastError="",e._reloadCount=0,e.ev={state:1,action:"uploading",hideOverlay:!0,pageUrl:"",page:null,isUploadDone:!1,file:{}},e.$ele=a(this),c={},e.overlayBgColor&&(c["background-color"]=e.overlayBgColor),e.$cntr=a(a(b).filter("div.SPControlUploadUI").clone()).appendTo(e.$ele.addClass("hasSPControlUploadUI").empty()).data("SPControlUploadOptions",e),e.$buttonCntr=e.$cntr.find("div.buttonPane").click(function(){h.onUpload(this)}),e.$content=e.$cntr.find("div.mainContainer"),e.$iframeCntr=e.$cntr.find("div.iFrameWindow"),e.$iframe=e.$iframeCntr.children("iframe"),e.$busyOverlay=e.$cntr.find("div.loadingOverlay"),e.$busyOverlayMsg=e.$busyOverlay.find("div.loadingOverlayMsg"),e.$successCntr=e.$cntr.find("div.spwidget-success-cntr"),e.$errorCntr=e.$cntr.find("div.spwidget-error-cntr"),e.$errorCntrMsg=e.$errorCntr.find(".spwidget-msg"),e.reInvalidChr=new RegExp('[\\/:*?"<>|#{}%~&]'),e.$successCntr.on("click",".spwidget-close",function(){e.showHideSuccess(!0)}).find(".spwidget-msg").html(e.uploadDoneMessage),e.$errorCntr.on("click",".spwidget-close",function(){e.clearError()}),e.$busyOverlay.addClass(e.overlayClass).css(c),e.$busyOverlayMsg.html(e.overlayMessage),e.showHideBusy(),e.$cntr.find("iframe").css("height",e.checkInFormHeight).load(function(){h.onIframeChange(e.$ele.find(".SPControlUploadUI"))}).attr("src",e.uploadPage).end(),this})},h.onUpload=function(b){var c=a(b).closest(".SPControlUploadUI"),d=c.find("iframe").contents(),e=d.find("input[type='file']").closest("tr").siblings().find("span"),f=c.data("SPControlUploadOptions"),g=f.ev;return f.log("Upload.onUpload("+f._iframeLoadId+"): Start...."),e.css("display","none"),d.find("input[type='file']").val()?f.reInvalidChr.test(d.find("div.SPControlUploadModUIFileSelected").text())?void f.showError({message:f.fileNameErrorMessage}):(g.state=2,g.action="preLoad",f.onPageChange&&f.onPageChange.call(f.$ele,g)===!1?!1:(f.showHideFullForm(!0),void f.showHideBusy().then(function(){return f.log("Upload.onUpload("+f._iframeLoadId+"): Clicking the OK button on upload form."),d.find("input[type='button'][id$='btnOK']").click(),e.is(":visible")?(f.log("Upload.onUpload("+f._iframeLoadId+"): Error message reported! \n"+e.text()),c.find(".loadingOverlay").css("display","none").end(),!1):void 0}))):void f.showError({message:f.noFileErrorMessage})},h.isSPBusyAnimation=function(a){return a.find("#GearPage").length?!0:a.find("#ms-loading-box").length?!0:!1},h.onIframeChange=function(c){var d=a(c).closest(".SPControlUploadUI"),e=d.data("SPControlUploadOptions"),f=0,g=a(d.find("iframe").contents());if(e.debug)try{e.log("Upload.onIframeChange(): ENTERING... Document readyState: "+g[0].readyState+" IFRAME URL: "+g[0].location.href)}catch(i){}return h.isSPBusyAnimation(g)?void e.log("Upload.onIframeChange(): EXITING... Gear page displyed."):2===e.ev.state&&"preLoad"===e.ev.action&&g[0].spcontrolupload_init_done===!0?(e.log("Upload.onIframeChange("+e._iframeLoadId+"): Exiting! ev.action=["+e.ev.action+"] and ev.state=["+e.ev.state+"] - Nothing to do. Action handled by onUpload(). Setting action to postLoad"),void(e.ev.action="postLoad")):(e._iframeLoadId++,f=e._iframeLoadId,e.log("Upload.onIframeChange("+f+"): State=["+e.ev.state+"] Action=["+e.ev.action+"]"),void setTimeout(function(){if(f!==e._iframeLoadId)return void e.log("Upload.onIframeChange("+f+"): not latest invokation! Existing.");var c=e.ev,i=g.find("form").eq(0);if(g=a(d.find("iframe").contents()),e.log("Upload.onIframeChange("+f+"): STARTING... Executing setTimeout(). URL:"+g[0].location.href),g.spcontrolupload_init_done===!0)return void e.log("Upload.onIframeChange("+f+"): EXITING!!! Page was already processed!");if(g.spcontrolupload_init_done=!0,c.pageUrl=g[0].location.href,c.page=g,e.$iframeCntr.scrollTop(0),g.scrollTop(0),e.isUploadPage(c.pageUrl)){if(e.log("Upload.onIframeChange("+f+"): URL is the upload page!"),g.find("body").css({overflow:"hidden"}),i.children(":visible").hide().end().append(a(b).filter("div#SPControlUploadModUI").clone()).find("div.SPControlUploadModUIFileSelected").html(e.selectFileMessage),new RegExp(/error/i).test(a.trim(g.find(".ms-pagetitle").text()))||new RegExp(/error/i).test(a.trim(g.find("title").text()))||new RegExp(/error\.aspx/i).test(a.trim(g.find("form").attr("action"))))return e.log("Upload.onIframeChange("+f+"): page displaying an error... Storing it and reloading upload form."),e._lastError=g.find("[id$='LabelMessage']").text(),e._reloadCount>1?(alert("Error encountered during upload which is causing program to loop. Last upload error was: "+e._lastError),void d.find(".loadingOverlay").fadeOut()):(e._reloadCount+=1,void d.find("iframe").attr("src",e.uploadPage));if(h.isSPBusyAnimation(g)&&!g.find("input[type='file']").length)return void e.log("Upload.onIframeChange("+f+"): SP processing page (GearPage)... Exiting and waiting for next page...");g.find("input[type='file']").closest("table").appendTo(g.find("#SPControlUploadModUI")).removeClass("ms-authoringcontrols");var j=g.find("#SPControlUploadModUI").find("input[type='file']").closest("tr").siblings().css("display","none").end().end().siblings("tr .ms-error").css("display","").end().on("change focus click",function(){var b=a(this),c=b.val(),d="",f="/_layouts/images/urn-content-classes-smartfolder16.gif";if(c){try{d=c.substr(c.lastIndexOf(".")+1)}catch(h){d="GEN"}f="/_layouts/images/IC"+d.toUpperCase()+".GIF",c=c.replace(/\\/g,"/").split("/").pop()||c}else c=e.selectFileMessage;g.find("#SPControlUploadModUI > div").html(c).css("background-image","url('"+f+"')")}).css({cursor:"pointer",height:"100px",position:"absolute",left:"0px",top:"0px",filter:"alpha(opacity=1)",opacity:"0.01",outline:"none","-moz-opacity":"0.01","font-size":"100px","z-index":"5"});i.on("mousemove",function(a){j.css({left:a.pageX-(j.width()-50),top:a.pageY-30}).blur()}),e._lastError&&(e.showError({message:e._lastError}),e._lastError=""),e._reloadCount=0,e.overwrite?g.find("input[type='checkbox'][name$='OverwriteSingle']").prop("checked","checked"):g.find("input[type='checkbox'][name$='OverwriteSingle']").prop("checked",""),c.state=1,c.action="postLoad",c.hideOverlay=!0}else{if(e.log("Upload.onIframeChange("+e._iframeLoadId+"): File uploaded to server! Need ["+e.uploadDonePage+"] to be done."),c.state=3,c.action="postLoad",c.hideOverlay=!0,c.file=e.getUploadedFileRow(),h.isSameUrlPage(c.pageUrl,e.uploadDonePage))e.log("Upload.onIframeChange("+e._iframeLoadId+"): Upload widget process DONE!"),c.isUploadDone=!0,c.hideOverlay=!1,e.showHideBusy(),e.showHideSuccess(); -else if(e.log("Upload.onIframeChange("+e._iframeLoadId+"): Post Upload Form being displayed! Hooking into form.onsubmit!"),i.length){var k=i.prop("onsubmit"),l=i.find(e.filenameInputSelector).eq(0);l.length&&(i.children(":visible").css("display","none").addClass("ptWasVisible"),l.closest("div[id^='WebPart']").appendTo(i).css("display","").removeClass("ptWasVisible")),i[0].onsubmit=function(){e.log("Upload.onIframeChange("+f+"): iframe form.onsubmit triggered!"),e.showHideBusy();var b=!0;return a.isFunction(e.onPageChange)&&(b=e.onPageChange.call(e.$ele,a.extend({},c,{state:3,action:"preLoad"}))),b===!1?(e.showHideBusy(!0),b):(a.isFunction(k)&&(b=k()),b===!1?(e.showHideBusy(!0),b):(e.showHideFullForm(!0),b))}}a(d.find("iframe")[0].contentWindow).unload(function(){return e.log("Upload.onIframeChange("+e._iframeLoadId+"): iframe.unload() triggered!"),e.showHideBusy(),e.showHideFullForm(!0),a.isFunction(e.onPageChange)?e.onPageChange.call(e.$ele,a.extend({},c,{state:3,action:"preLoad"})):void 0})}e.log("Upload.onIframeChange("+e._iframeLoadId+"): iframe page setup done!"),e.onPageChange&&e.onPageChange.call(e.$ele,c),("postload"!==c.action.toLowerCase()||c.hideOverlay===!0)&&(e.showHideBusy(!0),c.isUploadDone===!1&&3===c.state&&e.showHideFullForm()),c.isUploadDone&&(e.resetWidget(),e.$successCntr.animate({opacity:1},3e3,function(){e.showHideSuccess(!0)}),a.isFunction(e.onUploadDone)&&e.onUploadDone.call(e.$ele,c.file))},500))},h.isSameUrlPage=function(a,b){if(!a||!b)return!1;var c=function(a){var b=document.createElement("a");return b.href=a,unescape(b.pathname)},d=String(c(a)).toLowerCase(),e=String(c(b)).toLowerCase();return d===e},h.getListUID=function(a){if(!a)return"";var b="";return c({listName:a,async:!1,cacheXML:!0}).then(function(a){b=a.ID}),b},h.log=function(){var b,c,d=1,e=0,f=!1,g=!1,h=["#FFFFFF","#F5F5F2"];return"undefined"==typeof console||"undefined"==typeof console.debug?b=function(){var a,b,f="";for(a=0,b=arguments.length;b>a;a++)f+='
['+d+"] "+arguments[a]+"
",d++,e=1===e?0:1;f&&(c.append(f),c.dialog("isOpen")||c.dialog("open"))}:f=!0,function(){if(g||(g=!0,f||(c=a("

SPWidgets Debug Output

").appendTo("body").dialog({title:"Debug output",height:300}))),f){var d,e;for(d=0,e=arguments.length;e>d;d++)console.debug(arguments[d])}else b.apply(this,arguments)}}(),g.defaults=h.defaults,g}(Z,S,i,k,a,T),W=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={webURL:"",cacheXML:!1,async:!0,completefunc:null,filter:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/SiteData.asmx",h.cacheKey=h.webURL+"?"+[h.filter].join("|"),h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(b,c,d){h.completefunc.call(a,c,d,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:'',complete:function(e,f){if("error"===f||d(e))return h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[null,e,f]);var g=a(e.responseXML).find("_sList"),i=[];h.filter&&!a.isArray(h.filter)&&(h.filter=[h.filter]),g.each(function(){var b=a(this),c={};h.filter&&a.isArray(h.filter)&&-1===a.inArray(b.find("Title").text(),h.filter)&&-1===a.inArray(b.find("InternalName").text(),h.filter)||(b.children().each(function(){c[this.nodeName]=a(this).text()}),i.push(c))}),c.resolveWith(a,[i,e,f]),a.isFunction(h.completefunc)&&h.completefunc(e,f,i)}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)},f}();return e}(Z,b,a,h),X=function(a,b,c,d){var e=function(){var e=null,f=null,g=function(){return null===f&&(f=this),e.apply(this,arguments)};return g.defaults={accountName:"",otherAttr:"",webURL:"",async:!0,cacheXML:!0,completefunc:null},e=function(e){var f,h=a.extend({},g.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.cacheKey=h.webURL+"/"+h.accountName,h.cacheXML===!0&&b.isCached(h.cacheKey)?(f=b.get(h.cacheKey),a.isFunction(h.completefunc)&&f.then(function(a,b,c){h.completefunc(b,c,a)}),f):(f=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL+"_vti_bin/UserProfileService.asmx",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://microsoft.com/webservices/SharePointPortalServer/UserProfileService/GetUserProfileByName")},contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.accountName+"",complete:function(e,f){var g=a(e.responseXML),i={};return"error"===f||d(g)?(h.cacheXML&&b.clear(h.cacheKey),c.rejectWith(a,[{},e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f,{}))):(g.find("PropertyData").each(function(){var b=a(this);i[b.find("Name").text()]=b.find("Value").text()||""}),h.otherAttr&&a.extend(i,h.otherAttr),c.resolveWith(a,[i,e,f]),void(a.isFunction(h.completefunc)&&h.completefunc.call(a,e,f,i)))}})}).promise(),h.cacheXML&&b(h.cacheKey,f),f)},g}();return e}(Z,b,a,h),Y=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){a.SPWidgets={defaults:{},version:"2.5.2",escapeXML:j.escape,unEscapeXML:j.unescape,fillTemplate:k,getCamlLogical:l,getSPVersion:m,parseDateString:n,parseLookupFieldValue:o,SPGetDateString:p,makeSameHeight:r,getRuntimeInfo:function(){function b(){return this.SPWidgets=a.SPWidgets.version,this.jQuery=a.fn.jquery||"?",this.jQueryUI="?",this.jQueryUICss="?",this}b.prototype.asString=function(){var a,b=this,c="";for(a in b)b.hasOwnProperty(a)&&(c+="[ "+a+" = "+b[a]+" ] ");return c};var c=new b,d=a('
').appendTo("body"),e="";try{c.jQueryUI=jQuery.ui.version}catch(f){}return e=d.css("background-image"),d.addClass("ui-widget-header"),d.css("background-image")!==e&&(c.jQueryUICss="loaded"),d.remove(),c},SPAPI:{getList:s,getListColumns:t,getListFormCollection:u,getListItems:v,getSiteListCollection:w,getSiteUrl:x,getUserProfile:y,resolvePrincipals:z,searchPrincipals:A,getNodesFromXml:q}},a.each({SPShowBoard:b,SPDateField:c,SPLookupField:d,pickSPUser:e,SPFilterPanel:f,SPControlUpload:g,SPGetMsgError:h,SPMsgHasError:i},function(b,c){a.fn[b]=function(){var a=Array.prototype.slice.call(arguments);return a.unshift(this),c.apply(c,a)},c.defaults&&(a.SPWidgets.defaults[b]=c.defaults)})}(Z,v,A,G,L,R,V,o,h,E,q,C,T,y,D,x,f,r,i,m,n,k,W,a,X,J,I),function(a){var b=document,c="appendChild",d="styleSheet",e=b.createElement("style");e.type="text/css",b.getElementsByTagName("head")[0][c](e),e[d]?e[d].cssText=a:e[c](b.createTextNode(a))}('div.spwidget-board{width:100%;position:relative}div.spwidget-board div.spwidget-board-headers,div.spwidget-board div.spwidget-board-headers-cntr,div.spwidget-board div.spwidget-board-states-cntr,div.spwidget-board div.spwidget-board-states{width:100%}div.spwidget-board div.spwidget-board-state{width:49%;float:left;margin:0% .1%;padding:.2%;overflow:auto}div.spwidget-board div.spwidget-board-headers-cntr div.spwidget-board-state{font-weight:700;font-size:1.1em;overflow:hidden;word-wrap:break-word}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-board-header-title{display:inline-block}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-state-item-stat-cntr{display:inline-block;font-size:.8em;float:right}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-item-stat{display:inline-block;min-width:2em;padding:0 .2em;text-align:center}div.spwidget-board div.spwidget-board-states div.spwidget-board-state{margin-bottom:1em;min-height:10em}div.spwidget-board div.spwidget-board-state div.spwidget-board-state-item{padding:.2em;margin:.5em .2em;font-weight:400;cursor:move;overflow:hidden;word-break:break-word}div.spwidget-board div.spwidget-board-state-item div.spwidget-board-item-actions{margin-top:.2em;padding:.2em .5em;overflow:hidden}div.spwidget-board .spwidget-board-placeholder{height:3em}div.spwidget-board-settings{font-size:.8em;margin:.2em}div.spwidget-board-settings div.spwidget-board-column-list-cntr{z-index:5;position:absolute}div.spwidget-board-settings div.spwidget-board-column-list-cntr>div{padding:.2em}div.spwidget-board-settings div.spwidget-board-column-list-cntr>div:first-child,div.spwidget-board-settings div.spwidget-board-column-list-cntr>div:last-child{text-align:right}div.spwidget-board-settings div.spwidget-board-column-list{width:20em;height:17em;overflow:auto;position:relative}div.spwidget-board-settings div.spwidget-board-column-list-cntr .spwidget-board-msg{position:absolute;top:1px;left:1px;padding:.2em}div.spwidget-board-settings div.ui-state-default{position:relative}div.spwidget-board-settings div.spwidget-board-column-list>a{display:block;margin:.2em;padding:.2em}div.spwidget-board-settings div.spwidget-board-column-list>a>span.ui-icon{display:inline-block}div.spwidget-board .spwidget-states-3 div.spwidget-board-state{width:32.4%}div.spwidget-board .spwidget-states-4 div.spwidget-board-state{width:24%}div.spwidget-board .spwidget-states-5 div.spwidget-board-state{width:19.1%}div.spwidget-board .spwidget-states-6 div.spwidget-board-state{width:15.8%}div.spwidget-board .spwidget-states-7 div.spwidget-board-state{width:13.4%}div.spwidget-board .spwidget-states-8 div.spwidget-board-state{width:11.6%}div.spwidget-board .spwidget-states-9 div.spwidget-board-state{width:10.2%}div.spwidget-board .spwidget-states-10 div.spwidget-board-state{width:9.1%}.spwidget-date-cntr{display:inline-block;position:relative}.spwidget-date-cntr div.spwidget-date-input-cntr{position:relative}.spwidget-date-cntr input{width:99%}.spwidget-date-cntr img.ui-datepicker-trigger{display:block;position:absolute;right:2%;top:.3em}.spwidget-date-cntr .spwidgets-item-remove{color:red;font-size:xx-small;vertical-align:super;cursor:pointer}.spwidget-date-cntr div.spwidget-datetime-selector{padding:.5em;position:absolute;width:28em;z-index:1}.spwidget-date-cntr div.spwidget-datetime-selector div.ui-datepicker-inline{width:14em}.spwidget-date-cntr div.spwidget-datetime-selector div.spwidget-date-selector,.spwidget-date-cntr div.spwidget-datetime-selector div.spwidget-time-selector{float:left}.spwidget-date-cntr div.spwidget-selectors:before{content:"";display:table;line-height:0}.spwidget-date-cntr div.spwidget-selectors:after{content:"";display:table;line-height:0;clear:both}.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-hour,.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-min,.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-ampm{font-size:1.2em}.spwidget-date-cntr div.spwidget-time-selector{margin-left:.2em;width:11em}.spwidget-date-cntr div.spwidget-time-selector-cntr{padding:.2em}.spwidget-date-cntr div.spwidget-time-selector div.ui-widget-header{text-align:center;line-height:2em;margin-bottom:.5em}.spwidget-date-cntr .spwidget-time-hour,.spwidget-date-cntr .spwidget-time-min,.spwidget-date-cntr .spwidget-time-ampm{margin-top:.2em;padding:.2em}.spwidget-date-cntr .spwidget-time-selector-cntr select,.spwidget-date-cntr .spwidget-time-selector-cntr label{overflow:hidden;display:inline-block;font-weight:700}.spwidget-date-cntr .spwidget-time-selector-cntr select{width:4em}.spwidget-date-cntr .spwidget-time-selector-cntr label{width:5em;font-size:.9em}.spwidget-date-cntr .spwidget-inline div.spwidget-datetime-selector{position:relative;width:26em}.spwidget-btn-set{display:none;position:absolute;right:.2em;bottom:.2em}.spwidget-date-multiples-cntr .spwidget-btn-set{display:block}.spwidgets-lookup-cntr{position:relative;display:inline-block;zoom:1;*display:inline}.spwidgets-lookup-cntr .spwidgets-lookup-selected{-moz-appearance:textfield;-webkit-appearance:textfield;background-color:#fff;background-color:-moz-field;border:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset;font:-moz-field;font:-webkit-small-control;margin-top:5px;padding:2px 5px}.spwidgets-lookup-cntr .spwidgets-lookup-selected .spwidgets-item{display:inline-block;margin-left:.5em}.spwidgets-lookup-cntr .spwidgets-item:first-child{margin-left:0}.spwidgets-lookup-cntr .spwidgets-item-remove{color:red;font-size:xx-small;vertical-align:super;cursor:pointer}.spwidgets-lookup-cntr .spwidgets-lookup-input{margin:.2em 0;position:relative}.spwidgets-lookup-cntr .spwidgets-lookup-input input{width:99%}.spwidgets-lookup-cntr ul.ui-autocomplete{overflow:auto;z-index:1}.spwidgets-lookup-cntr div.spwidget-lookup-readyonly .spwidgets-lookup-selected{-moz-appearance:none;-webkit-appearance:none;background-color:transparent;border:none;box-shadow:none;font:inherit}.spwidgets-lookup-cntr div.spwidget-lookup-readyonly .spwidgets-item-remove{display:none}.spwidgets-lookup-cntr .spwidget-lookup-selector-showhide{background-repeat:no-repeat;background-image:url("/_layouts/images/bizdatacontentsource.gif");cursor:pointer;display:block;position:absolute;text-indent:-99999px;z-index:5;height:16px;width:16px;right:5px;top:.3em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-cntr{display:none;position:absolute;left:0;z-index:10;padding:.2em;width:98%;font-size:.8em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-cntr>.ui-state-default{padding:.2em;text-align:right}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr{height:15em;overflow:auto;padding:.2em;font-size:1em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .ui-state-highlight{padding:.5em;margin:1em .2em;text-align:center;font-size:1.1em;font-weight:700}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .spwidget-lookup-selector-next{cursor:pointer}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .spwidget-lookup-item{padding:.2em .5em;margin:.2em;cursor:pointer;font-weight:400}.pt-pickSPUser .pt-pickSPUser-selected .pt-pickSPUser-person{float:left;margin-left:.2em}.pt-pickSPUser .pt-pickSPUser-hint{font-size:.9em}.pt-pickSPUser div.pt-pickSPUser-input input.ui-autocomplete{width:99%}.pt-pickSPUser div.pt-pickSPUser-input ul.ui-autocomplete{z-index:1}.pt-pickSPUser .pt-pickSPUser-person-cntr{margin:.2em 0;padding:.2em;position:relative}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-person-name{padding-right:2em}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions{position:absolute;right:1px;top:1px;padding:.2em;display:none}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions .pt-pickSPUser-person-action-links,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions .pt-pickSPUser-person-action-links .tt-confirm-delete{float:right}.pt-pickSPUser .pt-pickSPUser-person-cntr.ui-state-hover .pt-pickSPUser-person-actions,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions.tt-confirm,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions a{display:block;float:right}.ui-autocomplete-loading{background:#fff url(\'/_layouts/images/loading.gif\') right center no-repeat}div.spwidget-filter{width:100%;position:relative}div.spwidget-filter .spwidget-date-cntr,div.spwidget-filter .spwidgets-lookup-cntr{display:block}div.spwidget-filter .spwidget-filter-column-cntr{overflow:auto;position:relative}div.spwidget-filter .spwidget-type-text input.spwidget-filter-input,div.spwidget-filter .spwidget-type-people input.ui-autocomplete-input,div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input{width:95%}div.spwidget-filter .spwidgets-lookup-cntr{width:96%}div.spwidget-filter .spwidget-date-cntr div.spwidget-date-input-cntr{width:97%}div.spwidget-filter div.spwidget-column{padding:.5em;margin:.5em;position:relative;border-bottom:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset}div.spwidget-filter div.spwidget-column-actions{position:absolute;right:1%;top:10%}div.spwidget-filter div.spwidget-column-actions a{display:block}div.spwidget-filter div.spwidget-column-sort-actions{display:none}div.spwidget-filter div.spwidget-has-sort-order div.spwidget-column-sort-actions{display:block}div.spwidget-filter div.spwidget-filter-type-cntr,div.spwidget-filter div.spwidget-column-actions a{opacity:.6;filter:alpha(opacity=60)}div.spwidget-filter div.spwidget-filter-type-cntr:hover,div.spwidget-filter div.spwidget-column-actions a:hover{opacity:1}div.spwidget-filter div.spwidget-filter-type-cntr{position:absolute;font-size:.8em;top:.6em;right:8%}div.spwidget-filter div.spwidget-filter-type-cntr select{text-overflow:ellipsis;width:5em}div.spwidget-filter div.spwidget-filter-value-cntr{width:96%}div.spwidget-filter div.spwidget-filter-value-cntr>label{display:block;padding:.2em;font-weight:700}div.spwidget-filter div.spwidget-column-dirty div.spwidget-filter-value-cntr>label{color:red}div.spwidget-filter .spwidget-tooltip{display:block;font-size:.8em;font-style:italic}div.spwidget-filter div.spwidgets-lookup-cntr div.spwidgets-lookup-selected>div.spwidgets-item{display:block;margin-left:0}div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input{max-height:6em;overflow:auto;-moz-appearance:textfield;-webkit-appearance:textfield;background-color:#fff;background-color:-moz-field;border:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset;font:-moz-field;font:-webkit-small-control;padding:2px 5px}div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input label{display:block;padding:.2em}div.spwidget-filter .spwidget-disabled{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter:alpha(opacity=50);opacity:.5}div.spwidget-filter div.spwidget-filter-button-cntr{padding:.5em 4%;margin-top:.5em;text-align:right}.spcontrolupload .mainContainer{position:relative;display:block;height:4em}.spcontrolupload .iFrameWindow,.spcontrolupload .buttonPane{position:absolute;top:0;height:3em}.spcontrolupload .spwidget-success-cntr,.spcontrolupload .loadingOverlay{position:absolute;top:0;height:3em;width:100%}.spcontrolupload .buttonPane{left:0;width:10%;overflow:hidden;cursor:pointer}.spcontrolupload .buttonPane .upload_button{font-weight:700;font-size:1.1em;text-align:center;margin-top:.8em}.spcontrolupload .iFrameWindow{width:90%;left:10%;overflow:hidden}.spcontrolupload .iFrameWindow iframe{overflow:auto;width:100%;height:99%}.spcontrolupload .spwidget-show-full-form .iFrameWindow{overflow:auto;width:100%;margin:0;left:0;right:auto;z-index:5}.spcontrolupload .loadingOverlayMsg{font-size:1em;background-position:left top;background-repeat:no-repeat;background-image:url(\'/_layouts/images/loadingcirclests16.gif\');margin:.5em;padding-left:25px}.spcontrolupload .spwidget-success-cntr,.spcontrolupload .spwidget-error-cntr{display:none}.spcontrolupload div.spwidget-msg-cntr{margin:.5em .5em .5em 3em;font-size:1em;background-position:left top;background-repeat:no-repeat}.spcontrolupload .spwidget-close{color:red;font-size:xx-small;font-weight:700;vertical-align:super;cursor:pointer}.spcontrolupload .spwidget-success-cntr div.spwidget-msg-cntr{background-image:url(\'/_layouts/images/STS_ListItem_43216.gif\');padding-left:30px}.spcontrolupload .spwidget-error-cntr{bottom:-1.5em;left:0;width:100%;position:absolute}.spcontrolupload-dev-mode .iFrameWindow{overflow:auto!important;height:auto!important;z-index:5!important}.spcontrolupload-dev-mode .iFrameWindow iframe{overflow:scroll!important}')})}(); +!function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R;!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(S){a=function(a){var b=function(){function b(a){return a&&"/"!==a.charAt(a.length-1)&&(a+="/"),a.indexOf("http")>-1?a:a=document.location.protocol+"//"+document.location.hostname+(80!==Number(document.location.port)&&Number(document.location.port)>0?document.location.port:"")+a}var c={};return function(d){var e="",f=!1,g="getSiteUrl(): Unable to determine site url from "+d;if(d||(d=document.location.href,f=!0),e=d,d.indexOf("?")>-1?e=d.substr(0,d.indexOf("?")):d.indexOf("#")>-1&&(e=d.substr(0,d.indexOf("#"))),!e)throw new Error(g);if(c[e])return c[e];if(f&&("undefined"!=typeof _spPageContextInfo&&_spPageContextInfo.webServerRelativeUrl&&(c[e]=_spPageContextInfo.webServerRelativeUrl),!c[e]&&"undefined"!=typeof L_Menu_BaseUrl&&L_Menu_BaseUrl&&(c[e]=L_Menu_BaseUrl),c[e]))return c[e]=b(c[e]),c[e];if(c[e]||a.ajax({type:"POST",cache:!1,async:!1,url:document.location.protocol+"//"+document.location.host+"/_vti_bin/Webs.asmx",data:""+e+"",contentType:"text/xml; charset=utf-8",dataType:"xml",success:function(b){c[e]=a(b).find("WebUrlFromPageUrlResult").text()||""}}),!c[e])throw delete c[e],new Error(g);return c[e]=b(c[e]),c[e]||""}}();return b}(S),b=function(){var a=function(){var a={},b=function(a,c){return a?"undefined"==typeof c?b.get(a):b.set(a,c):void 0};return b.clear=function(b){delete a[b]},b.clearAll=function(){a={}},b.get=function(b){return a[b]},b.set=function(b,c){return a[b]=c,c},b.isCached=function(b){return a.hasOwnProperty(b)?!0:!1},b}();return a}(),c=function(a,b,c){var d=function(){var d=null,e=function(){return d.apply(this,arguments)};return e.defaults={listName:"",webURL:"",cacheXML:!0,async:!0,completefunc:null},d=function(d){var f,g=a.extend({},e.defaults,d);return g.webURL?"/"!==g.webURL.charAt(g.webURL.length-1)&&(g.webURL+="/"):g.webURL=c(),g.webURL+="_vti_bin/Lists.asmx",g.cacheKey=g.webURL+"?List="+g.listName,g.isCached=b.isCached(g.cacheKey),g.cacheXML&&g.isCached?(f=b(g.cacheKey),a.isFunction(g.completefunc)&&f.then(function(a,b,c){g.completefunc(c,b)}),f):(g.isCached&&b.clear(g.cacheKey),f=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:g.async,url:g.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+g.listName+""}).done(function(b,d,e){c.resolveWith(a,[b,d,e]),a.isFunction(g.completefunc)&&g.completefunc(e,d)}).fail(function(){c.rejectWith(a,arguments),g.cacheXML&&b.clear(g.cacheKey)})}).promise(),g.cacheXML&&b(g.cacheKey,f),f)},e}();return d}(S,b,a),d=function(a){var b=function(b){var c=a(b),d=c.find("ErrorCode"),e=!1;return d.length?(d.each(function(){return"0x00000000"!==a(this).text()&&"NoError"!==a(this).text()?(e=!0,!1):void 0}),e):c.find("faultcode").length?!0:!1};return b}(S),e=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={listName:"",webURL:"",cacheXML:!1,async:!0,completefunc:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/Forms.asmx",h.cacheKey=h.webURL+"?List="+h.listName,h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(a,b){h.completefunc(a,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.listName+"",complete:function(e,f){return"error"===f||d(e)?(h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[e,f])):(c.resolveWith(a,[e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f)))}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)},f}();return e}(S,b,a,d),f=function(a){var b=function(b){var c,d,e,f,g=a.extend({},{xDoc:null,nodeName:"",asJQuery:!1,cleanAttr:!0},b),h=g.xDoc.getElementsByTagName(g.nodeName);if(0===h.length&&"z:row"===g.nodeName&&(h=g.xDoc.getElementsByTagName("row")),0===h.length&&"rs:data"===g.nodeName&&(h=g.xDoc.getElementsByTagName("data")),g.asJQuery===!0)return a(h);for(d=[],c=function(a){var b,c,d,e=a.attributes,f={};for(c=0,d=e.length;d>c;c++)b=e[c].name,g.cleanAttr&&b.indexOf("ows_")>-1&&(b=b.replace("ows_","")),f[b]=e[c].value;return f.___xmlNode=a,f},e=0,f=h.length;f>e;e++)d.push(c(h[e]));return d};return b}(S),g=function(a,b,c,d,e){var f=function(){var f=null,g=function(){return f.apply(this,arguments)};return g.defaults={listName:"",webURL:"",viewName:"",CAMLViewFields:"",CAMLQuery:"",CAMLRowLimit:"",CAMLQueryOptions:"",operation:"GetListItems",cacheXML:!1,async:!0,completefunc:null,changeToken:""},f=function(f){var h,i=a.extend({},g.defaults,f);return i.webURL?"/"!==i.webURL.charAt(i.webURL.length-1)&&(i.webURL+="/"):i.webURL=c(),i.webURL+="_vti_bin/Lists.asmx",i.cacheKey=i.webURL+"?"+[i.listName,i.viewName,i.CAMLViewFields,i.CAMLQuery,i.CAMLRowLimit,i.CAMLQueryOptions,i.operation,i.changeToken].join("|"),i.isCached=b.isCached(i.cacheKey),i.cacheXML&&i.isCached?(h=b(i.cacheKey),a.isFunction(i.completefunc)&&h.then(function(a,b,c){i.completefunc(b,c,a)}),h):(i.isCached&&b.clear(i.cacheKey),h=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:i.async,url:i.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:'<'+i.operation+' xmlns="http://schemas.microsoft.com/sharepoint/soap/">'+i.listName+""+(i.viewName||"")+""+(i.CAMLQuery||"")+""+(i.CAMLViewFields||"")+""+(i.CAMLRowLimit||0)+""+(i.CAMLQueryOptions||"")+""+("GetListItemChangesSinceToken"===i.operation?""+i.changeToken+"":"")+"",complete:function(f,g){var h=[];return"error"===g||e(f)?(i.cacheXML&&b.clear(i.cacheKey),c.rejectWith(a,[h,f,g]),void(a.isFunction(i.completefunc)&&i.completefunc(f,g,h))):(h=d({xDoc:f.responseXML,nodeName:"z:row"}),c.resolveWith(a,[h,f,g]),void(a.isFunction(i.completefunc)&&i.completefunc(f,g,h)))}})}).promise(),i.cacheXML&&b(i.cacheKey,h),h)},g}();return f}(S,b,a,f,d),h=function(a){var b=function(b){var c=a(b),d="",e=c.find("ErrorCode"),f=0;return e.length||(e=c.find("faultcode")),e.length?(e.each(function(){var b=a(this);"0x00000000"!==b.text()&&(f+=1,d+="("+f+") "+b.text()+": "+b.parent().children().not(b).text()+"\n")}),d=f+" error(s) encountered! \n"+d):""};return b}(S),i=function(a,b,c,d){var e=function(b){function c(a){var c,d,f,g="";for(c=0,d=a.length;d>c;c++){g="";for(f in a[c])a[c].hasOwnProperty(f)&&(g+=''+a[c][f]+"");g&&(e.push(''+g+""),b.counter++)}}function d(c){var d,f,g="";for(d=0,f=c.length;f>d;d++)a.isArray(c[d])&&(g+=''+c[d][1]+"");g&&(e.push(''+g+""),b.counter++)}var e=[],f=typeof b.updates;return!b.updates&&b.ID&&b.valuepairs?(b.valuepairs.push(["ID",b.ID]),d(b.valuepairs)):"string"===f?e.push(b.updates):a.isArray(b.updates)&&b.updates.length&&(f=typeof b.updates[0],"object"===f?c(b.updates):"string"===f?e.push.apply(e,b.updates):a.isArray(b.updates[0])&&d(b.updates)),e},f=function(g){var h=a.extend({},f.defaults,g,{counter:1});return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=b(),h.updateType=h.batchCmd||h.updateType,h._updates=e(h).join(""),/<\/Batch>/.test(h._updates)||(h._updates=''+h._updates+""),a.Deferred(function(b){a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL+"_vti_bin/Lists.asmx",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://schemas.microsoft.com/sharepoint/soap/UpdateListItems")},contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.listName+""+h._updates+"",complete:function(b,c){a.isFunction(h.completefunc)&&h.completefunc.call(a,b,c)}}).always(function(e,f,g){var h={status:"",message:"",httpData:e,xhrRequest:g};"error"===f?(h.status="error",h.message=e.statusText||"HTTP error.",b.rejectWith(a,[h])):c(e)?(h.status="error",h.message=d(e),b.rejectWith(a,[h])):(h.status="success",h.message="Update Successful.",b.resolveWith(a,[h]))})}).promise()};return f.defaults={listName:"",webURL:"",async:!0,completefunc:null,updates:"",updateType:"Update",updateOnError:"Continue"},f}(S,a,d,h),j=function(a){var b=function(b,c){var d,e,f,g,h,i,j={};if("object"==typeof b&&1===arguments.length&&(c=b.data,b=b.tmplt),j.response="",j.template="string"!=typeof b?String(a("
").append(b).html()):b,j.tokens=j.template.match(/(\{\{.*?\}\})/g),a.isArray(c)||(c=c?[c]:[{}]),null!==j.tokens)for(f=0,g=c.length;g>f;f++){for(h=j.template,d=0,e=j.tokens.length;e>d;d++)j.tokens[d]=j.tokens[d].replace(/[\{\}]/g,""),i=c[f][j.tokens[d]]||"",a.isFunction(i)&&(i=i()),h=h.replace("{{"+j.tokens[d]+"}}",i);j.response+=h}else j.response=j.template;return j.response};return b}(S),k=function(a){var b=function(b,c,d){var e=0,f=a(b);return d||(d="height"),f.each(function(){var b=a(this).css(d,"");e0&&(c&&(e+=c),f.css(d,e)),b};return b}(S),l=function(a){var b=function(b){return a(b).each(function(){if(!a(this).hasClass("addHoverEffectDone")){a(this).addClass("addHoverEffectDone");var b=this;a(b).mouseenter(function(){a(b).toggleClass("ui-state-hover")}),a(b).mouseleave(function(){a(b).toggleClass("ui-state-hover")})}})};return b}(S),m='
0
#{{ID}}: {{Title}}
',n=void 0,o=function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n,o={};return o.maxColumns=20,o.defaults={list:"",field:"",CAMLQuery:"",CAMLViewFields:"",fieldFilter:null,optionalLabel:"(none)",allowFieldBlanks:null,template:null,webURL:"",showColPicker:!1,colPickerLabel:"Columns",colPickerVisible:[],colPickerCloseLabel:"Close",colPickerApplyLabel:"Apply",colPickerCheckLabel:"Check-Uncheck All",colPickerTotalLabel:"Selected.",colPickerMaxColMsg:"Can not exceed 10 columns!",colPickerMinColMsg:"Mininum of 2 required!",onGetListItems:null,onPreUpdate:null,onBoardCreate:null,height:null},n=function(n,p){var q=Array.prototype.slice.call(arguments,1),r=n;return n.each(function(){var n=a(this),s="string"==typeof p,t=n.hasClass("hasSPShowBoard"),u=null,v="",w=null;return t&&!s?this:s&&t&&!n.hasClass("loadingSPShowBoard")?(v=p.toLowerCase(),w=n.data("SPShowBoardOptions"),"refresh"===v?w._getListItems().then(function(){w.showItemsOnBoard({refresh:!0})}):"redraw"===v?w.setBoardColumnHeight():"setvisible"===v?w.setUserDefinedVisibleCol(q[1]):"setheight"===v?(w.height=q[1],w.setBoardColumnHeight()):"getcolumns"===v&&(r=w.getBoardColumnList()),this):n.hasClass("loadingSPShowBoard")?this:(u=a.extend({},o.defaults,p,{ele:n,states:[],statesMap:{},tmpltHeader:"",tmpltState:"",statesCntr:"",headersCntr:"",listItems:[],initDone:!1,formUrls:null,isStateRequired:!1,maxColumnVisible:10,showNumberOfColumns:10,getBoardStates:function(){return a.Deferred(function(b){c({listName:u.list,cacheXML:!0,async:!1,webURL:u.webURL,completefunc:function(c,d){var f=a(c.responseXML),h=f.find("Fields Field[StaticName='"+u.field+"']");if(!h.length){if(h=f.find("Fields Field[DisplayName='"+u.field+"']"),!h.length)return void b.rejectWith(n,["Field ("+u.field+") not found in list definition!",c,d]);u._origField=u.field,u.field=h.attr("StaticName")}switch("TRUE"===h.attr("Required")&&(u.isStateRequired=!0),"boolean"==typeof u.allowFieldBlanks&&(u.isStateRequired=!u.allowFieldBlanks),h.attr("Type").toLowerCase()){case"choice":u.isStateRequired||(u.states.push({type:"choice",title:u.optionalLabel,name:u.optionalLabel}),u.statesMap[""]=u.states[u.states.length-1]),u.fieldFilter&&(u.fieldFilter=u.fieldFilter.split(/\,/)),h.find("CHOICES CHOICE").each(function(b){var c=a(this).text();if(!u.fieldFilter||a.grep(u.fieldFilter,function(a){return a===c}).length){if(b>=o.maxColumns){try{console.log("SPWIDGETS:BOARD:Warning: Can only build a max of "+o.maxColumns+" columns!")}catch(d){}return!1}u.states.push({type:"choice",title:c,name:c}),u.statesMap[c]=u.states[u.states.length-1]}}),b.resolveWith(u,[c,d]);break;case"lookup":u.fieldFilter||(u.fieldFilter=""),e({listName:h.attr("List"),async:!0,cacheXML:!0,CAMLQuery:u.fieldFilter,webURL:u.webURL,CAMLRowLimit:o.maxColumns,CAMLViewFields:'',completefunc:function(c,d){if("error"===d)return void b.rejectWith(n,["Communications Error!",c,d]);var e,f=a(c.responseXML);return k(f)?void b.rejectWith(n,[l(f),c,d]):(u.isStateRequired||(u.states.push({type:"lookup",title:u.optionalLabel,name:""}),u.statesMap[""]=u.states[u.states.length-1]),e=g({xDoc:c.responseXML,nodeName:"z:row",asJQuery:!0}),e.each(function(b){if(b>=o.maxColumns){try{console.log("SPWIDGETS:BOARD:Warning: Can only build a max of "+o.maxColumns+" columns!")}catch(c){}return!1}var d=a(this),e=d.attr("ows_ID"),f=d.attr("ows_"+h.attr("ShowField")),g=e+";#"+f;u.states.push({type:"lookup",title:f,name:g}),u.statesMap[g]=u.states[u.states.length-1]}),void b.resolveWith(u,[c,d]))}});break;default:b.rejectWith(n,["Field ("+u.field+") Type ("+h.attr("Type")+") is not supported!",c,d])}}})}).promise()},_getListItems:function(){return a.Deferred(function(b){function c(c){a.isFunction(u.onGetListItems)&&u.onGetListItems.call(n,u.listItems,c),b.resolveWith(n,[u.listItems])}a.isFunction(u.CAMLQuery)?u.CAMLQuery.call(n,function(b){a.isArray(b)&&(u.listItems=b,c(u.CAMLQuery))},p):e({listName:u.list,async:!0,CAMLQuery:u.CAMLQuery,CAMLRowLimit:0,CAMLViewFields:u.CAMLViewFields,webURL:u.webURL,completefunc:function(d,e,f){if("error"===e)return void b.rejectWith(n,["Communications Error!",d,e]);var g=a(d.responseXML);return k(g)?void b.rejectWith(n,[l(g),d,e]):(u.listItems=f,void c(g))}})}).promise()},getBoardItemDataObject:function(b){var c,d,e,f=null;if(b)for(b=String(b),c=0,d=u.listItems.length;d>c;c++)e=u.listItems[c].ID,a.isFunction(e)&&(e=u.listItems[c].ID()),e=String(e),b===e&&(f=u.listItems[c],c=d+d);return f},showItemsOnBoard:function(b){function c(b,c){var d="",e=null,g="";return a.isFunction(u.template)?(d=u.template.call(n,b,c),d&&(d=String(d))):d=h(u.template,r),void 0!==c&&""!==d?c.html(d):""!==d&&(e=b.ID,a.isFunction(b.ID)&&(e=b.ID()),void 0===l[o]&&(l[o]=""),u.initDone&&f.refresh&&(g+=" spwidget-temp"),l[o]+='
'+d+"
"),d}var d,e,f=a.extend({},{rows:u.listItems,refresh:!1,doBoardInsert:!0},b),g=[],i=[],k=[],l={},m=null,o=null,p=null,q=null,r=null;if(!f.refresh)for(d=0,e=u.states.length;e>d;d++)u.states[d].headerTotalEle.html("0"),u.states[d].dataEle.empty();for(d=0,e=f.rows.length;e>d;d++)r=f.rows[d],o=r[u.field]||"",p=r.ID,a.isFunction(o)&&(o=r[u.field]()),a.isFunction(p)&&(p=p()),u.statesMap[o]&&(f.refresh===!1?(u.initDone&&g.push(r),c(r)):(m=u.statesCntr.find("div[data-id='"+p+"']"),m.length?(m.addClass("spwidget-temp"),m.closest("div.spwidget-board-state").data("boardstate")!==o&&(m.appendTo(u.statesMap[o].dataEle),k.push(r)),c(r,m)):(u.initDone&&g.push(r),c(r))));if(f.doBoardInsert){for(d in l)l.hasOwnProperty(d)&&""!==l[d]&&u.statesMap[d].dataEle.append(l[d]);j(n.find(".spwidget-board-state-item"))}return u.initDone&&f.refresh&&u.statesCntr.find("div.spwidget-board-state-item").not("div.spwidget-temp").each(function(){i.push(u.getBoardItemDataObject(a(this).data("id"))),a(this).remove()}).end().removeClass("spwidget-temp"),u.initDone&&(u.statesCntr.find("div.spwidget-board-state").sortable("refresh").end().disableSelection(),q=u.getEventObject(),g.length&&(q.itemsModified.length=0,q.itemsModified.push(g),n.trigger("spwidget:boarditemadd",[n,a.extend({},q)])),i.length&&(q.itemsModified.length=0,q.itemsModified.push(i),n.trigger("spwidget:boarditemremove",[n,a.extend({},q)])),q.itemsModified.length=0,q.itemsModified.push.apply(q.itemsModified,g),q.itemsModified.push.apply(q.itemsModified,i),q.itemsModified.push.apply(q.itemsModified,k),q.itemsModified.length&&n.trigger("spwidget:boardchange",[n,q])),u.updBoardHeaders(),u.setBoardColumnHeight(),l},updBoardHeaders:function(b){var c,d,e=a.extend({},{state:null},b);if(e.state);else for(c=0,d=u.states.length;d>c;c++)u.states[c].headerTotalEle.html(u.states[c].dataEle.children().length)},getEventObject:function(b){b||(b=u.statesCntr.find("div.spwidget-board-state-item:first")),b=a(b);var c,d,e={stateTotals:{},itemTotal:0,currentState:b.closest("div.spwidget-board-state").data("boardstate"),itemObj:u.getBoardItemDataObject(b.data("id"))||{},itemsModified:[]};for(c=0,d=u.states.length;d>c;c++)e.itemTotal+=e.stateTotals[u.states[c].name]=Number(u.states[c].headerTotalEle.text());return e},getListFormUrl:function(b){function c(){d({listName:u.list,webURL:u.webURL,cacheXML:!0,async:!1,completefunc:function(b){a(b.responseXML).find("Form").each(function(){var b=a(this);u.formUrls[String(b.attr("Type")).toLowerCase()]=u.webURL+"/"+b.attr("Url")})}})}return b=String(b).toLowerCase(),null===u.formUrls&&(u.formUrls={},c()),u.formUrls[b]||""},setUserDefinedVisibleCol:function(b){function c(b){var c=!1;return a.each(u.states,function(a,d){return d.title===b||d.name===b?(c=!0,!1):void 0}),c}var d=0,e=!1;if(b){if(!a.isArray(b)||!b.length){if(!a.isArray(b)&&"all"!==String(b).toLowerCase())return;e=!0,b=[]}b.length<2||(e||(d=0,a.each(b,function(a,b){return c(b)&&d++,2===d?!1:void 0})),d=0,a.each(u.states,function(c,e){return a.inArray(e.title,b)>-1||a.inArray(e.name,b)>-1?(d++,e.isVisible===!1&&(e.isVisible=!0,e.dataEle.css("display",""),e.headerEle.css("display",""))):(e.isVisible=!1,e.dataEle.css("display","none"),e.headerEle.css("display","none")),d>=u.maxColumnVisible?!1:void 0}),u.setBoardColumnClass(d),u.setBoardColumnHeight(),u.triggerBoardColumnChangeEvent())}},setBoardColumnClass:function(b){var c=u.headersCntr.add(u.statesCntr);return b=parseInt(b),(!b||2>b)&&(b=0,a.each(u.states,function(a,c){c.isVisible&&b++})),u.showNumberOfColumns===b?u:(c.addClass("spwidget-states-"+b),u.showNumberOfColumns&&c.removeClass("spwidget-states-"+u.showNumberOfColumns),u.showNumberOfColumns=b,u)},triggerBoardColumnChangeEvent:function(){var b=[];u.initDone&&(a.each(u.statesMap,function(a,c){c.isVisible&&b.push(c.title)}),u.ele.trigger("spwidget:boardColumnChange",[u.ele,b]))},setupColumnPicker:function(){var b=n.find(".spwidget-board-column-list-cntr"),c=b.find("div.spwidget-board-column-list"),d=b.children("div.ui-state-default:last"),e={$totalCntr:b.find("span.spwidget-board-column-total")};e.setTotalSelected=function(){var a=e.getSelected().length;return e.$totalCntr.html(a),a},e.getSelected=function(){return c.find("a.ui-state-highlight")},e.showMessage=function(b){a('
'+b+"
").appendTo(d).fadeOut(8e3,function(){a(this).remove()})},e.setSelected=function(){var b=c.find("a");a.each(u.states,function(a,c){var d=b.filter("[data-board_col_index='"+a+"']");c.isVisible?e.selectColumn(d,!1):e.selectColumn(d,!0)}),e.setTotalSelected()},e.selectColumn=function(b,c){return a(b).each(function(){var b=a(this),d=b.find(".ui-icon");b.hasClass("ui-state-highlight")||c?c!==!1&&(d.removeClass("ui-icon-check"),b.removeClass("ui-state-highlight")):(d.addClass("ui-icon-check"),b.addClass("ui-state-highlight"))}),b},e.setVisibleColumns=function(b){b||(b=e.getSelected());var c=b.length;a.each(u.states,function(a,c){b.filter("[data-board_col_index='"+a+"']").length?c.isVisible===!1&&(c.isVisible=!0,c.dataEle.css("display",""),c.headerEle.css("display","")):(c.isVisible=!1,c.dataEle.css("display","none"),c.headerEle.css("display","none"))}),u.setBoardColumnClass(c),u.setBoardColumnHeight()},e.setUserDefinedVisibleCol=function(b){var d=0,f="";if(!a.isArray(b)||!b.length){if(!a.isArray(b)&&"all"!==String(b).toLowerCase())return;b=[],a.each(u.states,function(a,c){b.push(c.title)})}a.each(b,function(b,c){return a.each(u.states,function(a,b){return b.title===c?(d++,d>1&&(f+=","),f+="a[data-board_col_name='"+b.name+"']",!1):void 0}),d>=u.maxColumnVisible?!1:void 0}),d>=2&&(e.setVisibleColumns(c.find(f)),e.triggerEvent())},e.triggerEvent=u.triggerBoardColumnChangeEvent,b.find("button[name='apply']").button({label:u.colPickerApplyLabel,icons:{secondary:"ui-icon-circle-check"}}).on("click",function(){var a=e.getSelected(),c=a.length;return c>u.maxColumnVisible?void e.showMessage(u.colPickerMaxColMsg):2>c?void e.showMessage(u.colPickerMinColMsg):(b.hide(),e.setVisibleColumns(a),void e.triggerEvent())}),b.find("button[name='check']").attr("title",u.colPickerCheckLabel).button({text:!1,icons:{primary:"ui-icon-radio-off"}}).on("click",function(){var a=e.getSelected();a.length?e.selectColumn(a,!0):e.selectColumn(c.find("a")),e.setTotalSelected()}),b.find("button[name='close']").attr("title",u.colPickerCloseLabel).button({text:!1,icons:{primary:"ui-icon-circle-close"}}).on("click",function(){b.hide()}),n.find("div.spwidget-board-settings").css("display","").find("div.spwidget-board-settings-columns").each(function(){var c=a(this);return c.button({label:u.colPickerLabel,icons:{secondary:"ui-icon-triangle-1-s"}}).on("click.SPWidgets",function(){b.is(":visible")?b.hide():(e.setSelected(),b.show().position({my:"left top",at:"left bottom",of:c}))}),!1}),c.each(function(){var b=a(this),c="";return a.each(u.states,function(a,b){c+=''+b.title+""}),b.html(c),!1}).on("click","a",function(){e.selectColumn(this),e.setTotalSelected()}),b.find("span.spwidget-board-column-total-label").html(u.colPickerTotalLabel)},setBoardColumnHeight:function(){return u.headersCntr.is(":visible")&&i(u.headersCntr.find("div.spwidget-board-state:visible"),0,"min-height"),u.height?void u.statesCntr.find("div.spwidget-board-state:visible").css({height:u.height,"min-height":""}):void(u.statesCntr.is(":visible")&&i(u.statesCntr.find("div.spwidget-board-state:visible").css("height",""),20,"min-height"))},getBoardColumnList:function(){var a,b,c=[];for(a=0,b=u.states.length;b>a;a++)c.push({name:u.states[a].name,title:u.states[a].title,isVisible:u.states[a].isVisible});return c}}),u.webURL||(u.webURL=b()),u.list&&u.field?(n.addClass("loadingSPShowBoard").data("SPShowBoardOptions",u),u.getBoardStates().then(function(){""===u.CAMLViewFields?u.CAMLViewFields='':u.CAMLViewFields.indexOf(u.field)<0&&(u.CAMLViewFields=u.CAMLViewFields.replace(/<\/ViewFields\>/i,'')),n.html(a(m).filter("div.spwidget-board")),u.tmpltHeader=a("
").append(n.find("div.spwidget-board-headers-cntr div.spwidget-board-state").clone()).html(),u.tmpltState=a("
").append(n.find("div.spwidget-board-states-cntr div.spwidget-board-state")).html(),u.states.length<=u.maxColumnVisible&&(u.showNumberOfColumns=u.states.length),u.statesCntr=n.find("div.spwidget-board-states-cntr").addClass("spwidget-states-"+u.showNumberOfColumns).empty(),u.headersCntr=n.find("div.spwidget-board-headers-cntr").addClass("spwidget-states-"+u.showNumberOfColumns).empty(),a.each(u.states,function(b,c){c.headerEle=a(u.tmpltHeader).appendTo(u.headersCntr).attr("data-boardstate",c.name).attr("data-boardindex",b).find(".spwidget-board-header-title").html(c.title).end(),c.dataEle=a(u.tmpltState).appendTo(u.statesCntr).attr("data-boardindex",b).attr("data-boardstate",c.name),c.headerTotalEle=c.headerEle.find("span.spwidget-state-item-total"),c.isVisible=!0,b>u.maxColumnVisible-1&&(c.headerEle.css("display","none"),c.dataEle.css("display","none"),c.isVisible=!1)}),a(u.headersCntr,u.statesCntr).append('
'),u.showColPicker===!0&&u.setupColumnPicker(),a.isArray(u.colPickerVisible)&&u.colPickerVisible.length&&u.setUserDefinedVisibleCol(u.colPickerVisible),n.on("sortreceive sortremove",function(b,c){u.updBoardHeaders(),a(c.item).removeClass("ui-state-hover")}).on("sortreceive",function(b,c){var d=u.getEventObject(c.item),e=a.Deferred(),h="";return h=a.isFunction(d.itemObj.ID)?d.itemObj.ID():d.itemObj.ID,d.updates=[],d.updatePromise=e.promise(),d.updates.push([u.field,d.currentState]),a.isFunction(u.onPreUpdate)&&u.onPreUpdate.call(c.item,b,c.item,d)===!0?this:d.updates.length?void f({listName:u.list,async:!0,ID:h,valuepairs:d.updates,webURL:u.webURL,completefunc:function(f,h){if("error"===h)return void e.rejectWith(n,["Communications Error!",f,h]);var i=a(f.responseXML),j=null;return k(i)?void e.rejectWith(n,[l(i),f,h]):(j=g({xDoc:f.responseXML,nodeName:"z:row"}),a(b.target).trigger("spwidget:boardchange",[c.item,d]),void e.resolveWith(b.target,[j[0],d.itemObj,f]))}}):this}).on("click","a.spwidgets-board-action",function(b){var c=a(b.currentTarget),d=String(c.data("spwidgets_board_action")).toLowerCase(),e="",f=encodeURIComponent(window.location.href);switch(d){case"edit-item":e=u.getListFormUrl("EditForm");break;case"view-item":e=u.getListFormUrl("DisplayForm")}return window.location.href=e+"?ID="+c.data("spwidgets_id")+"&Source="+f,this}),null===u.template&&(u.template=a(m).filter("div.spwidget-item-template")),u._getListItems().then(function(){u.showItemsOnBoard(),u.statesCntr.find("div.spwidget-board-state").each(function(){var b=a(this);b.sortable({connectWith:b.siblings(),containment:n,cursor:"move",tolerance:"pointer",opacity:".80",placeholder:"ui-state-highlight spwidget-board-placeholder",forcePlaceholderSize:!0,remove:function(){u.setBoardColumnHeight()}})}),u.statesCntr.disableSelection(),u.initDone=!0,u.setBoardColumnHeight(),n.addClass("hasSPShowBoard").removeClass("loadingSPShowBoard"),a.isFunction(u.onBoardCreate)&&u.onBoardCreate.call(n,u.getEventObject()),a(n).trigger("spwidget:boardcreate",[n,u.getEventObject()])})}).fail(function(a){n.append('

'+a+"

")}),this):(n.html("
SPWidgets:Board [ERROR] Missing required input parameters!
"),this))}),r},n.defaults=o.defaults,n}(S,a,c,e,g,i,f,j,k,l,d,h,m),p='
Time
Set
',q=function(){var a=function(a,b){function c(a){return 10>a?"0"+a:a}b=String(b||"local").toLowerCase(),a=a||new Date;var d="";return d="utc"===b?a.getUTCFullYear()+"-"+c(a.getUTCMonth()+1)+"-"+c(a.getUTCDate())+"T"+c(a.getUTCHours())+":"+c(a.getUTCMinutes())+":"+c(a.getUTCSeconds())+"Z":a.getFullYear()+"-"+c(a.getMonth()+1)+"-"+c(a.getDate())+"T"+c(a.getHours())+":"+c(a.getMinutes())+":"+c(a.getSeconds())};return a}(),r=function(){var a=function(a){var b,c,d,e,f,g,h=null; +if(!a)return h;if(h=Date.parse(10===a.length?a+"T00:00":a))return new Date(h);if(f=[1,4,5,6,7,10,11],b=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/,c=a.match(b),!c)return h;for(d=0,e=f.length;e>d;d++)c[f[d]]=~~c[f[d]];return--c[2],"Z"===c[8]?(void 0!==c[9]&&(g=60*c[10]+c[11],"+"===c[9]&&(g=-g),c[5]+=g),h=new Date(Date.UTC(c[1],c[2],c[3],c[4],c[5],c[6],c[7]))):h=new Date(c[1],c[2],c[3],c[4],c[5],c[6],c[7]),h};return a}(),s=void 0,t=function(a,b,c,d,e,f){var g,h={};return h.isInitDone=!1,h.evNamespace=".spwidgets.spdatefield",h.defaults={allowMultiples:!1,delimeter:";",remainOpen:!0,datepicker:{dateFormat:"mm/dd/yy",buttonImage:"/_layouts/images/CALENDAR.GIF",showOn:"both",buttonImageOnly:!0},dateTemplate:'{{date}} [x]',showTimepicker:!1,timeFormat:" {{hour}}:{{minutes}} {{ampm}}",timeUTC:!0,labelHour:"Hour",labelMinutes:"Minutes",labelAMPM:"AM|PM",labelTime:"Time",labelSet:"Set",onSelect:null},g=function(g,i){var j=Array.prototype.slice.call(arguments,1),k=g;return h.isInitDone||(h.isInitDone=!0,a("body").on("click"+h.evNamespace,h.onPageClick)),"string"==typeof i?function(){var b=String(j[0]).toLowerCase(),c=k;return a(k).each(function(d,e){if(a(k).hasClass("hasSPDateField")){var f=a(e),g=f.data("SPDateFieldInstance");if(g&&f.length>0)switch(b){case"getdate":c=g.getDate();break;case"setdate":j[1]&&g.setDate({date:j[1],format:j[2]||g.opt.datepicker.dateFormat});break;case"removedate":j[1]&&g.removeDate({date:j[1],format:j[2]||g.opt.datepicker.dateFormat});break;case"reset":g.reset();break;case"destroy":g.destroy()}}}),c}():g.each(function(){var g={$ele:a(this).addClass("hasSPDateField"),isInline:!1,inlineCntr:null};if(!g.$ele.is("input[type='text']")){if(g.$ele.is(":input"))return this;g.isInline=!0,g.inlineCntr=a(this),g.$ele=a('')}return g.opt=a.extend(!0,{},h.defaults,i),g.$ui=a(b).filter("div.spwidget-date-cntr").clone(),g.isInline?(g.$ui.appendTo(g.inlineCntr).addClass("spwidget-inline").css("display","none"),g.$ele.appendTo(g.$ui)):g.$ui.insertAfter(g.$ele).css("display","none"),g.eleOrigVal=g.$ele.val(),g.$ele.val(""),g.$input=g.$ui.find("input[name='SPDateFieldInput']").val(g.$ele.val()),g.$inputCntr=g.$input.closest(".spwidget-date-input-cntr"),g.$dtCntr=g.$ui.find("div.spwidget-date-selected-cntr"),g.getDate=function(){var a={input:g.$ele.val(),dates:[]};return a.input&&(g.opt.allowMultiples?a.dates=a.input.split(g.opt.delimeter):a.dates.push(a.input)),a},g.reset=function(){return g.$input.val("").datepicker("hide"),g.$ele.val("").change(),g.$dtCntr.empty(),g},g.setDate=function(b){var f,h=a.extend({},{date:"",time:"",format:g.opt.datepicker.dateFormat,setDatepicker:!0,triggerEvent:!0},b),i=g.$ele.val(),j="";return h.date?(a.isArray(h.date)||(h.date=[h.date]),a.each(h.date,function(b,k){var l=k,m="",n="";if(!(l instanceof Date))if(l=String(l),l.indexOf("T")>-1)l=e(l);else try{l=a.datepicker.parseDate(h.format,k)}catch(o){return g}f=l,m=a.datepicker.formatDate("yy-mm-dd",l),n=a.datepicker.formatDate(g.opt.datepicker.dateFormat,l),g.opt.showTimepicker&&(m=d(l,g.opt._timeFmt),n+=g.$timepicker.formatTime(l)),g.opt.allowMultiples?i.indexOf(m)<0&&(i&&(i+=g.opt.delimeter),i+=m,j+=''+c({tmplt:g.opt.dateTemplate,data:{date:n}})+" "):(i=m,j=n)}),g.opt.allowMultiples?g.$dtCntr.append(j):h.setDatepicker&&(g.$input.val(j),g.isInline&&!g.opt.showTimepicker?g.$inputCntr.datepicker("setDate",f):g.isInline&&g.$timepicker.updateDateTimeWidgets(f)),g.$ele.val(i),h.triggerEvent&&(g.isInline||g.$ele.change(),a.isFunction(g.opt.onSelect)&&g.opt.onSelect.call(g.isInline?g.inlineCntr:g.$ele)),g):g},g.removeDate=function(b){var c=a.extend({},{date:"",format:g.opt.datepicker.dateFormat},b),e=g.getDate();return c.date?(a.isArray(c.date)||(c.date=[c.date]),a.each(c.date,function(b,f){var h=f,i="",j="";if(!(h instanceof Date))try{h=a.datepicker.parseDate(c.format,f)}catch(k){return g}i=g.opt.showTimepicker?d(h,g.opt._timeFmt):a.datepicker.formatDate("yy-mm-dd",h),j=new RegExp("("+g.opt.delimeter+")?"+i,"g"),e.input=e.input.replace(j,""),g.opt.allowMultiples&&g.$dtCntr.find("span[data-spwidget_dt1='"+i+"']").remove()}),e.input=e.input.replace(new RegExp("^"+g.opt.delimeter),"").replace(new RegExp(g.opt.delimeter+"$"),""),g.$ele.val(e.input).change(),g):g},g.destroy=function(){g.$ele.removeData("SPDateFieldInstance"),g.$ele.removeClass("hasSPDateField").css("display",""),g.$ui.css("display","none"),g.$input.datepicker("hide"),g.$input.datepicker("destroy"),g.$timepicker&&(g.$timepicker.$timePicker.off(".spdatefield"),g.$input.off(".spdatefield")),g.isInline&&g.inlineCntr.removeClass("hasSPDateField").removeData("SPDateFieldInstance"),g.$ui.remove()},g.createDatePicker=function(){var d={};return g.opt.showTimepicker?(d.$selectorCntr=a(b).filter("div.spwidget-datetime-selector").clone().appendTo(g.$inputCntr).css("display","none"),d.$datePicker=d.$selectorCntr.find("div.spwidget-date-selector"),d.$timePicker=d.$selectorCntr.find("div.spwidget-time-selector"),d.$setButton=d.$selectorCntr.find("div.spwidget-btn-set"),d.$hourSelect=d.$timePicker.find("select.spwidget-hour"),d.$minSelect=d.$timePicker.find("select.spwidget-min"),d.$ampmSelect=d.$timePicker.find("select.spwidget-ampm"),d.heightDone=!1,d.firstShowDone=!1,d.getTime=function(){var a={hour:d.$hourSelect.val(),minutes:d.$minSelect.val(),ampm:d.$ampmSelect.val()};return a.hour24=a.hour,"PM"===a.ampm&&"12"!==a.hour?a.hour24=String(parseInt(a.hour)+12):"AM"===a.ampm&&"12"===a.hour&&(a.hour24="0"),a},d.formatTime=function(a){var b=a,e="";return a instanceof Date?(b={hour:a.getHours(),hour24:String(a.getHours()),minutes:String(a.getMinutes()),ampm:"AM"},b.hour>12?(b.hour=String(b.hour-12),b.ampm="PM"):12===b.hour&&(b.ampm="PM"),b.hour=String(b.hour),"0"===b.hour&&(b.hour="12"),String(b.minutes).length<2&&(b.minutes="0"+b.minutes)):a||(b=d.getTime()),e=c(g.opt.timeFormat,b)},d.setDateTime=function(a){var b=d.getTime();a instanceof Date||(a=d.$datePicker.datepicker("getDate"),null===a&&(a=new Date)),a.setHours(b.hour24),a.setMinutes(b.minutes),g.setDate({date:a,format:g.opt.datepicker.dateFormat,setDatepicker:!0}),d.execUsersCallback(g.$input.val())},d.updateDateTimeWidgets=function(a){var b,c=a;for(c instanceof Date||(c=new Date),b=c.getHours(),0===b?b="12":b>12&&(b-=12),d.$hourSelect.val(b),b=c.getMinutes();b%5;)--b;10>b&&(b="0"+b),d.$minSelect.val(b),d.$ampmSelect.val(c.getHours()>11?"PM":"AM"),d.$datePicker.datepicker("setDate",c)},d.showPicker=function(){d.$selectorCntr.show(function(){var a;d.heightDone||(d.heightDone=!0,f(d.$datePicker.find("div.ui-datepicker-inline").add(d.$timePicker))),d.firstShowDone||(d.firstShowDone=!0,a=g.getDate(),a=a.dates.length?e(a.dates[a.dates.length-1]):new Date,d.updateDateTimeWidgets(a))}).position({my:"left top",at:"left bottom",of:g.$input})},d.execUsersCallback=function(b,c){a.isFunction(g.opt.datepicker._onSelect)&&g.opt.datepicker._onSelect.call(d.$datePicker,b,c)},g.opt.datepicker.altFormat="",g.opt.datepicker.altField="",g.opt.datepicker.buttonImage&&!g.isInline&&a('...').appendTo(g.$inputCntr).on("click"+h.evNamespace,function(){d.showPicker()}),(g.opt.allowMultiples||g.isInline)&&(d.$selectorCntr.addClass("spwidget-date-multiples-cntr"),d.$setButton.find("div.spwidget-btn").button({label:g.opt.labelSet}).on("click"+h.evNamespace,function(){return d.setDateTime(),this})),d.$timePicker.find("div.ui-widget-header").html(g.opt.labelTime).end().find("div.spwidget-time-hour > label").html(g.opt.labelHour).end().find("div.spwidget-time-min > label").html(g.opt.labelMinutes).end().find("div.spwidget-time-ampm > label").html(g.opt.labelAMPM).end(),a.isFunction(g.opt.datepicker.onSelect)&&(g.opt.datepicker._onSelect=g.opt.datepicker.onSelect),g.opt.datepicker.numberOfMonths=1,g.opt.datepicker.onSelect=function(a,b){if(g.opt.allowMultiples||g.isInline)return this;var c=new Date(b.currentYear,b.currentMonth,b.currentDay);d.setDateTime(c)},d.$datePicker.datepicker(g.opt.datepicker),d.$timePicker.on("change"+h.evNamespace+" keyup"+h.evNamespace,"select",function(a){return a.stopPropagation(),a.preventDefault(),g.opt.allowMultiples||g.isInline?this:(d.setDateTime(),this)}),g.isInline&&(g.$input.css("display","none"),d.$selectorCntr.addClass("spwidget-inline").css("display","")),g.isInline||g.$input.on("focus"+h.evNamespace,function(){d.showPicker()})):(g.opt.allowMultiples&&g.opt.remainOpen&&(g.opt.datepicker.showAnim=""),a.isFunction(g.opt.datepicker.onSelect)&&(g.opt.datepicker._onSelect=g.opt.datepicker.onSelect),g.opt.datepicker.onSelect=function(b,c){g.setDate({date:b,format:c.settings.dateFormat,setDatepicker:!1}),a.isFunction(g.opt.datepicker._onSelect)&&g.opt.datepicker._onSelect.call(this,b,c),g.opt.allowMultiples&&g.$input.val(""),g.opt.allowMultiples&&g.opt.remainOpen&&!g.isInline&&setTimeout(function(){g.$input.datepicker("show")},5)},g.isInline?(g.$inputCntr.datepicker(g.opt.datepicker),g.$input.css("display","none")):g.$input.datepicker(g.opt.datepicker)),d},g.opt._timeFmt=g.opt.timeUTC?"utc":"local",g.opt.datepicker.altFormat="yy-mm-dd",g.opt.datepicker.altField=g.$ele,g.opt.allowMultiples&&(g.opt.datepicker.altFormat="",g.opt.datepicker.altField="",g.$dtCntr.css("display","").on("click",".spwidgets-item-remove",function(b){var c=a(b.target).closest(".spwidgets-item"),d=c.data("spwidget_dt1");g.opt.allowMultiples&&(d=e(d)),g.removeDate({date:d,format:"yy-mm-dd"})})),g.$ele.css("display","none").data("SPDateFieldInstance",g),g.isInline&&g.inlineCntr.data("SPDateFieldInstance",g),g.$timepicker=g.createDatePicker(),g.eleOrigVal&&g.setDate({date:g.eleOrigVal.split(g.opt.delimeter),format:"yy-mm-dd",triggerEvent:!1}),g.$input.on("change",function(a){a.stopPropagation(),g.$ele.change()}),g.$ui.css("display",""),this})},h.onPageClick=function(b){var c=a(b.target),d=a("div.spwidget-datetime-selector:visible:not('.spwidget-inline')"),e=null;return a.contains(document.documentElement,c[0])?(d.length&&(e=c.closest("div.spwidget-datetime-selector"),!e.length&&c.is("input.spwidget-date-datepicker,.ui-datepicker-trigger")&&(e=c.parent().find("div.spwidget-datetime-selector")),d.not(e).hide()),this):this},g.defaults=h.defaults,g}(S,p,j,q,r,k),u='
Browse
',v=function(a){var b=function c(b){var d,e=a.extend({},{type:"AND",values:[],onEachValue:null},b),f="",g="",h="",i=0,j=0,k=!1,l="",m=0;for(e.type=String(e.type).toUpperCase(),a.isArray(e.values)||(e.values=[e.values]),"AND"!==e.type&&(f="",g=""),i=e.values.length,j=i-1,k=a.isFunction(e.onEachValue),d=0;i>d;d++)if(l="",l+=k?String(e.onEachValue(e.values[d])).toString():String(e.values[d]).toString(),l&&(h+=l,m++,j-d>1)){l=c(a.extend({},e,{values:e.values.slice(d+1,i-d)})),l&&(m++,h+=l);break}return m>1&&(h=f+h+g),h};return b}(S),w=function(){var a=function(a){var b,c,d,e=[],f=String(a).split(";#"),g=f.length;if(void 0===a)return e;for(b=0;g>b;b++)c=f[b],b++,d=f[b],(c||d)&&e.push({id:c,title:d});return e};return a}(),x=function(){var a={escape:function(a){return"string"!=typeof a?"":a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},unescape:function(a){return"string"!=typeof a?"":a.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,'"')}};return a}(),y=void 0,z=function(a,b,c,d,e,f,g,h){var i,j={_isLookupbodyEventDone:!1};return j.defaults={list:"",allowMultiples:!0,inputLabel:"",inputPlaceholder:"Type and Pick",readOnly:!1,exactMatch:!0,uiContainer:null,selectFields:["Title"],filter:"",filterFields:["Title"],filterOrderBy:"",template:'
{{Title}} [x]
',listTemplate:"{{Title}}",listHeight:0,onItemAdd:null,onItemRemove:null,onReady:null,msgNoItems:"",maxResults:50,minLength:2,hideInput:!0,padDelimeter:!1,showSelector:!1},i=function(f,h){var i=Array.prototype.slice.call(arguments,1);return f.each(function(){var f,k=a(this);if(!k.is("input")&&!k.is("textarea")||k.hasClass("hasLookupSPField")){if("string"==typeof h&&k.is("input")&&(f=k.data("SPWidgetLookupFieldUI").data("SPWidgetLookupFieldOpt"),"method"===h.toLowerCase())){var l=String(i[1]||"").toLowerCase(),m=i[2];"clear"===l?(a.isArray(m)||(m=m?[m]:[]),m.length?!function(){var b=a();a.each(m,function(a,c){b=b.add(f._selectedItemsCntr.find("div.spwidgets-item-id-"+c))}),j.removeItem(f,b)}():j.removeItem(f,f._selectedItemsCntr.find("div.spwidgets-item"))):"add"===l&&j.addItem(f,m)}return this}f=a.extend({},j.defaults,h,{_ele:k.css("display","none").addClass("hasLookupSPField")}),f.showSelectedItems=function(b,c){var e=f._selectedItemsCntr.css("display",""),g=[],h=!1;e.find("div.spwidgets-item").length&&f.allowMultiples!==!1||e.empty(),a.isArray(b)?g=b:g.push(b),a.each(g,function(b,g){if(!e.find("div.spwidgets-item-id-"+g.ID).length){var i=a('").appendTo(e).find(".spwidgets-item-remove").on("click.SPWidgets",function(){j.removeItem(f,this)}).end();a.isFunction(f.onItemAdd)&&c!==!0&&f.onItemAdd.call(f._ele,i,g,f._cntr),e.find("div.spwidgets-item-id-"+g.ID).length>0&&(h=!0,i.fadeIn("slow").promise().then(function(){a(this).css("display","")}),c!==!0&&f.storeItemIDs(g.ID,f.allowMultiples),f.allowMultiples===!1&&f.hideInput===!0&&f._lookupInputEleCntr.css("display","none"))}}),f.readOnly&&f._cntr.find(".spwidgets-item-remove").remove(),h&&f._ele.trigger("change")},f.storeItemIDs=function(b,c){var d=a.trim(f._ele.val()),e=!1;a.isArray(b)||(b=[b]),c!==!0&&(d=""),a.each(b,function(a,b){b&&(d.length<1&&f.padDelimeter===!0&&!e&&(d+=";#",e=!0),d.length>0&&(d+=";#"),d+=b+";#")}),f._ele.val(d)},f.showCurrentInputSelection=function(b){return a.Deferred(function(d){var h=a.extend({},{async:!0},b),i=g(f._ele.val());return i.length?void c({operation:"GetListItems",async:h.async,listName:f.list,CAMLQuery:""+e({type:"OR",values:i,onEachValue:function(a){var b="";return a.id&&(b=""+a.id+""),b}})+"",CAMLViewFields:""+f._selectFields+"",CAMLRowLimit:0,completefunc:function(a,b,c){f.addToAutocompleteCache(c),f.showSelectedItems(c,!0),d.resolveWith(f,[a,b])}}):void d.resolveWith(f,[null,null])}).promise()},f.getItemObjectFromCache=function(b){var c=null;return a.each(f._autocompleteCache,function(d,e){return a.each(e,function(a,d){return d.ID===b?(c=d,!1):void 0}),null!==c?!1:void 0}),c},f.addToAutocompleteCache=function(b){a.isArray(b)||(b=[b]),a.each(b,function(a,b){f._autocompleteCache[b.ID]||(f._autocompleteCache[b.ID]=[]),f._autocompleteCache[b.ID].push(b)})},f._cntr=a(b).find(".spwidgets-lookup-cntr").clone(1),null===f.uiContainer?f._cntr.insertAfter(f._ele):f._cntr.appendTo(a(f.uiContainer)),f._selectedItemsCntr=f._cntr.find("div.spwidgets-lookup-selected"),f._lookupInputEleCntr=f._cntr.find("div.spwidgets-lookup-input"),f._lookupInputEle=f._lookupInputEleCntr.find("input[name='spwidgetLookupInput']"),f._ignoreKeywordsRegEx=/^(of|and|a|an|to|by|the|or)$/i,f._cntr.data("SPWidgetLookupFieldOpt",f),f._ele.data("SPWidgetLookupFieldUI",f._cntr),f.showSelector?(f._selectorCntr=f._cntr.find("div.spwidget-lookup-selector-cntr"),f._queryInitDone=!1,f._cntr.find(".spwidget-lookup-selector-showhide").on("click",function(){f._selectorCntr.is(":visible")?f._selectorCntr.css("display","none"):(f._selectorCntr.css("display","block").position({my:"left top",at:"left bottom",of:f._lookupInputEle}),f._queryInitDone||(f._queryInitDone=!0,j.doSelectorDataInit(f)))}),f._selectorCntr.find("button[name='close']").button({text:!1,icons:{primary:"ui-icon-circle-close"}}).click(function(){f._selectorCntr.css("display","none")}),f._lookupInputEle.on("focus",function(){f._selectorCntr.is(":visible")&&f._selectorCntr.css("display","none")})):f._cntr.find(".spwidget-lookup-selector-showhide,.spwidget-lookup-selector-cntr").remove(),f.inputLabel?f._cntr.find("div.spwidgets-lookup-input label").empty().append(f.inputLabel):f._cntr.find("div.spwidgets-lookup-input label").remove(),f.inputPlaceholder&&f._lookupInputEleCntr.find("input").attr("placeholder",f.inputPlaceholder),f.readOnly===!0&&(f._lookupInputEleCntr.css("display","none"),f._cntr.find("div.spwidget-lookup").addClass("spwidget-lookup-readyonly")),f._selectFields="",a.each(f.selectFields,function(a,b){f._selectFields+=""}),f._templateTokens=String(f.template).match(/(\$\{.*?\})/g),null==f._templateTokens&&(f._templateTokens=[]),a.each(f._templateTokens,function(a,b){f._templateTokens[a]=b.replace(/[\$\{\}]/g,"")});var n=f._autocompleteCache={};return f._cntr.find("div.spwidgets-lookup-input input").autocomplete({minLength:2,appendTo:f._cntr,open:function(){a(this).autocomplete("widget").each(function(){return f.listHeight>0&&a(this).css("height",f.listHeight+"px"),!1})},source:function(b,g){b.term=a.trim(b.term);var h=String(a.trim(b.term)).toUpperCase();if(h in n)return void g(n[h]);n[h]=[];var i=[],j=String(b.term);if(null===j.match(/\D/)&&null!==j.match(/\d/))i.push(""+j+"");else{var k=[b.term];f.exactMatch||(k=String(b.term).split(/ /));for(var l=0,m=f.filterFields.length;m>l;l++){for(var o=[],p=0,q=k.length;q>p;p++)f._ignoreKeywordsRegEx.test(k[p])||o.push(""+k[p]+"");i.push(e({values:o,type:"AND"}))}}var r=e({values:i,type:"OR"});f.filter&&(r=e({values:[r,f.filter],type:"AND"})),c({operation:"GetListItems",listName:f.list,async:!0,CAMLQuery:""+r+""+f.filterOrderBy+"",CAMLRowLimit:f.maxResults,CAMLViewFields:""+f._selectFields+"",completefunc:function(b,c,e){a.each(e,function(a,b){b.value="",b.label=d(f.listTemplate,b),n[h].push(b)}),g(n[h])}})},select:function(a,b){f.showSelectedItems(b.item)}}).on("keyup.SPWidgets",function(b){if(13===b.which){var c=a(b.target).val();c&&String(c).length"+b.msgNoItems+"
"),e.find("div.spwidgets-item").each(function(){f.push(a(this).data("spid"))}),b._lookupInputEleCntr.find("input").focus(),b.storeItemIDs(f),b._ele.change()}),j},j.addItem=function(a,b){if(!b||"string"!=typeof b)return a;var c=a._ele.val();return""===c&&a.padDelimeter===!0&&(c+=";#"),c&&(c+=";#"),c+=b,a._ele.val(c),a.showCurrentInputSelection(),a},j.doSelectorDataInit=function(b){var e={$resultsCntr:b._selectorCntr.find("div.spwidget-lookup-selector-item-cntr"),nextPageToken:"",isLoading:!1,hasMorePages:!0,$lastPage:a(),queryXml:b.filter?""+b.filter+""+b.filterOrderBy+"":""+b.filterOrderBy+""};return j._isLookupbodyEventDone||(j._isLookupbodyEventDone=!0,a("body").on("click",function(b){var c=a(b.target),d=a("div.spwidget-lookup-selector-cntr:visible"),e=null;d.length&&(e=c.closest("div.spwidget-lookup-selector-cntr"),!e.length&&c.is(".spwidget-lookup-selector-showhide")&&(e=c.parent().find("div.spwidget-lookup-selector-cntr")),d.not(e).hide())})),e.getListRows=function(){return a.Deferred(function(g){if(e.isLoading)return void g.resolveWith(a,[e.$lastPage]);e.isLoading=!0;var i=a("
").insertBefore(e.$nextPage);e.$lastPage=i,c({operation:"GetListItems",listName:b.list,async:!0,CAMLQuery:e.queryXml,CAMLRowLimit:b.maxResults,CAMLViewFields:""+b._selectFields+"",CAMLQueryOptions:function(){return""!==e.nextPageToken?"":void 0}(),completefunc:function(c,h,j){var k=f({xDoc:c.responseXML,nodeName:"rs:data",asJQuery:!0}).eq(0),l="";e.nextPageToken=k.attr("ListItemCollectionPositionNext")||"",""===e.nextPageToken&&(e.hasMorePages=!1),a.each(j,function(a,c){b.addToAutocompleteCache(c),c.value="",c.label=d(b.listTemplate,c),l+='
'+c.label+"
"}),i.html(l).find("div.spwidget-lookup-item").each(function(){var b=a(this);b.hover(function(){b.addClass("ui-state-hover")},function(){b.removeClass("ui-state-hover")})}).end().on("click","div.spwidget-lookup-item",function(){var c=a(this).data("spwidgetsindex");b.showSelectedItems(j[c])}),e.isLoading=!1,g.resolveWith(i,[i])}})})},e.$nextPage=a('
Next...
').appendTo(e.$resultsCntr.empty()).click(function(){e.hasMorePages&&(e.$nextPage.css("display","none"),e.getListRows().then(function(a){e.hasMorePages?e.$nextPage.css("display",""):a.children().length||a.append("
No Items Found!
"),e.$resultsCntr.scrollTop(a.position().top)}))}),e.$nextPage.click(),b},i.defaults=j.defaults,i}(S,u,g,j,v,f,w,x),A='
None Selected!
',B=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={searchText:"",maxResults:50,principalType:"All",webURL:"",cacheXML:!1,async:!0,completefunc:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/People.asmx",h.cacheKey=h.webURL+"?"+[h.searchText,h.maxResults,h.principalType].join("|"),h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(a,b){h.completefunc(a,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.searchText+""+h.maxResults+""+h.principalType+"",complete:function(e,f){return"error"===f||d(e)?(h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[e,f])):(c.resolveWith(a,[e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f)))}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g)},f}();return e}(S,b,a,d),C=function(a,b){var c=function(){var c=null,d=function(){return c.apply(this,arguments)};return d.defaults={principalKeys:[],principalType:"All",addToUserInfoList:!0,async:!0},c=function(c){var e=a.extend({},d.defaults,c);e.webURL?"/"!==e.webURL.charAt(e.webURL.length-1)&&(e.webURL+="/"):e.webURL=b(),e.webURL+="/_vti_bin/People.asmx",a.isArray(e.principalKeys)||(e.principalKeys=[e.principalKeys]),e.principalXml="";var f,g,h=//i;for(f=0,g=e.principalKeys.length;g>f;f++)e.principalXml+=h.test(e.principalKeys[f])?e.principalKeys[f]:""+e.principalKeys[f]+"";return a.ajax({type:"POST",cache:!1,async:e.async,url:e.webURL,contentType:"text/xml;charset=utf-8",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://schemas.microsoft.com/sharepoint/soap/ResolvePrincipals")},dataType:"xml",data:''+e.principalXml+""+e.principalType+""+e.addToUserInfoList+""})},d}();return c}(S,a),D=void 0,E=function(a,b,c,d,e,f,g){var h,i={};return i.defaults={allowMultiples:!0,maxSearchResults:50,webURL:null,type:"User",onPickUser:null,onCreate:null,onRemoveUser:null,inputPlaceholder:"Type and Pick",appendTo:null,minLength:3,resolvePrincipals:!0,meKeyword:"[me]",meKeywordLabel:"Current User",filterSuggestions:null},h=function(f,h){var j=Array.prototype.slice.call(arguments,1),k=f;return"string"==typeof h?function(a){return a.is("input")&&a.hasClass("hasPickSPUser")?i.handleAction.apply(a,j):k}(k.eq(0)):k.each(function(){var f=a(this),j=a.extend({},i.defaults,h,{eleUserInput:f.css("display","none").addClass("hasPickSPUser")});j.webURL||(j.webURL=c()),j.maxSearchResults=parseInt(j.maxSearchResults)||50;var k=a(b).find(".pt-pickSPUser").clone(1).insertAfter(f);j.eleSelected=k.find("div.pt-pickSPUser-selected").empty().on("click",".tt-delete-icon",function(){i.removeUser(this)}),j.elePickInput=k.find("div.pt-pickSPUser-input"),j.isUserAlreadySelected=function(a,b){var c="div[data-pickspuserid='"+a+"']";return b&&(c+="[data-pickspusername='"+b.replace(/'/g,"\\'")+"']"),j.eleSelected.find(c).length>0},j.addPeopleToList=function(b,c){var d,e,f,h,k=String(b).split(";#"),l=k.length;for(d=0;l>d;d++)e=k[d],d++,f=k[d],""===e.toLowerCase()&&(f=j.meKeywordLabel),h=i.getUserHtmlElement(j,e,f).appendTo(j.eleSelected),function(b,c){var d=c;""===e.toLowerCase()&&(d=j.meKeyword),j.getSearchResults(d).done(function(d){var e=String(c).toLowerCase();a.each(d,function(a,c){var d=String(c.displayName).toLowerCase();return d===e?(b.data("pickspuser_object",c),!1):void 0})})}(h,f,e);g(j.eleSelected.find("div.pt-pickSPUser-person-cntr")),j.allowMultiples===!1&&j.elePickInput.css("display","none"),i.storeListOfUsers(j.eleSelected,c)},j.getSearchResults=function(b){return a.Deferred(function(c){d({searchText:b,maxResults:j.maxSearchResults,principalType:j.type,async:!0,webURL:j.webURL,completefunc:function(d,e){var f=a(d.responseXML),g=[];String(j.meKeyword).indexOf(b.toLowerCase())>-1&&g.push({displayName:j.meKeywordLabel,accountId:"",accountName:j.meKeywordLabel,accountType:"User",value:j.meKeywordLabel,label:j.meKeywordLabel}),f.find("PrincipalInfo").each(function(){var b=a(this),c={displayName:b.find("DisplayName").text(),accountId:b.find("UserInfoID").text(),accountName:b.find("AccountName").text(),accountType:b.find("PrincipalType").text(),email:b.find("Email").text(),value:b.find("DisplayName").text(),label:""};c.label+=c.displayName,g.push(c)}),j.filterSuggestions&&(g=j.filterSuggestions(g)),c.resolveWith(d,[g,d,e])}})}).promise()},j.allowMultiples===!0&&j.eleSelected.addClass("pt-pickSPUser-selected-multiple");var l={};return j.elePickInput.find("input[name='pickSPUserInputField']").attr("placeholder",j.inputPlaceholder).autocomplete({minLength:j.minLength,appendTo:j.appendTo||j.elePickInput,source:function(a,b){return a.term in l?void b(l[a.term]):(l[a.term]=[],void j.getSearchResults(a.term).then(function(c){l[a.term].push.apply(l[a.term],c),b(l[a.term])}))},select:function(b,c){if(j.allowMultiples===!1)j.eleSelected.empty();else if(j.isUserAlreadySelected(c.item.accountId,c.item.displayName))return void setTimeout(function(){b.target.value=""},50);var d=function(){var d=i.getUserHtmlElement(j,c.item.accountId,c.item.displayName).appendTo(j.eleSelected);d.data("pickspuser_object",c.item),i.storeListOfUsers(k),g(k.find("div.pt-pickSPUser-person-cntr")),setTimeout(function(){b.target.value=""},50),j.allowMultiples===!1&&j.elePickInput.hide(),a.isFunction(j.onPickUser)&&j.onPickUser.call(j.eleUserInput,a.extend({},c.item)),f.trigger(a.Event("spwidget:peoplePickerAdd"),[j.eleUserInput,a.extend({},c.item)])};"-1"===c.item.accountId&&j.resolvePrincipals?e({principalKeys:c.item.accountName}).then(function(b){var e=a(b).find("PrincipalInfo");e.each(function(){var b=a(this);return b.find("Email").text()===c.item.email||b.find("DisplayName").text()===c.item.displayName?(c.item.accountId=e.find("UserInfoID").text(),d(),!1):void 0})}):d()}}),k.data("pickSPUserContainerOpt",j),f.data("pickSPUserContainer",k),f.val()&&j.addPeopleToList(f.val(),!0),a.isFunction(j.onCreate)&&j.onCreate.call(f,f),f.trigger(a.Event("spwidget:peoplePickerCreate"),[j.eleUserInput]),this})},i.getUserHtmlElement=function(c,d,e){var f=a(b).find(".pt-pickSPUser-person").clone(1);return f.attr("data-pickSPUserID",d),f.find("span.pt-person-name").append(e).end().attr("data-pickSPUserNAME",e),f},i.removeUser=function(b){var c=a(b).closest("div.pt-pickSPUser"),d=c.data("pickSPUserContainerOpt"),e=a(b).closest("div.pt-pickSPUser-person"),f=e.data("pickspuser_object"),g=!0;a.isFunction(d.onRemoveUser)&&d.onRemoveUser.call(d.ele,d.ele,e,f),g!==!1&&(e.fadeOut("fast",function(){a(this).remove(),i.storeListOfUsers(c)}),d.allowMultiples===!1&&d.elePickInput.show("fast",function(){d.elePickInput.find("input").focus()}),d.eleUserInput.trigger(a.Event("spwidget:peoplePickerRemove"),[d.eleUserInput,f]))},i.storeListOfUsers=function(b,c){var d=a(b).closest("div.pt-pickSPUser"),e=d.data("pickSPUserContainerOpt"),f="",g={};d.find("div.pt-pickSPUser-selected div.pt-pickSPUser-person").each(function(){var b=a(this),c=b.attr("data-pickSPUserID")+";#"+a(this).attr("data-pickSPUserNAME");g[c]||(g[c]=!0,f&&(f+=";#"),f+=c)}),e.eleUserInput.val(f),c||e.eleUserInput.change()},i.handleAction=function(b,c,d){b=String(b).toLowerCase(),c=String(c).toLowerCase();var e=a(this).data("pickSPUserContainer").data("pickSPUserContainerOpt"),g=this;if("method"===b)switch(c){case"clear":e.eleUserInput.val(""),e.eleSelected.empty(),e.allowMultiples===!1&&(e.eleSelected.css("display","none"),e.elePickInput.show());break;case"destroy":a(this).hasClass("hasPickSPUser")&&a(this).removeClass("hasPickSPUser").next(".pt-pickSPUser").remove().show().trigger("change");break;case"add":e.addPeopleToList(d);break;case"remove":if(d){var h=e.eleSelected.find("div[data-pickspuserid='"+d+"']");h.length||(h=e.eleSelected.find("div[data-pickspusername='"+d.replace(/'/g,"\\'")+"']")),h.length&&i.removeUser(h) +}break;case"getselected":g=f(e.eleUserInput.val())}return g},h.defaults=i.defaults,h}(S,A,a,B,C,w,l),F='',G='
__COLUMN__UI__
',H='',I='
{{tooltip}}
',J=void 0,K=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var q,r={};return r.defaults={list:"",webURL:"",columns:["Title"],textFieldTooltip:"Use a semicolon to delimiter multiple keywords.",peopleFieldTooltip:"Use [me] keyword to represent current user.",definedClass:"spwidget-column-dirty",showFilterButton:!0,showFilterButtonTop:!0,filterButtonLabel:"Filter",onFilterClick:null,onReady:null,onReset:null,ignoreKeywords:/^(of|and|a|an|to|by|the|or|from)$/i,delimeter:";",height:null},q=function(h,j){var k=Array.prototype.slice.call(arguments,1),q=h;if("string"==typeof j){if(!q.eq(0).hasClass("hasSPFilterPanel"))return;return function(a){var b=a.eq(0).find("div.spwidget-filter").data("SPFilterPanelInst"),c=j.toLowerCase(),d=b.$ele;switch(c){case"getfilter":d=r.getFilterValues(b);break;case"setfilter":r.setFilterValues(b,k[1]);break;case"reset":r.doResetFilter(b);break;case"destroy":b.$ele.removeClass("hasSPFilterPanel").empty()}return d}(q)}return q.each(function(){var h=a.extend({},r.defaults,j),k={$ele:a(this),$ui:null,$uiFilterSortCntr:null,$uiFilterColumnCntr:null,$uiSortButtons:null,opt:h};return h.webURL||(h.webURL=f()),k.getListDefinition=function(){return a.Deferred(function(b){g({listName:h.list,cacheXML:!0,async:!0,webURL:h.webURL,completefunc:function(c,d){var e=a(c.responseXML);return"error"===d?void b.rejectWith(e,[c,d]):o(e)?void b.rejectWith(e,[c,d]):void b.resolveWith(e,[c,d])}})}).promise()},k.showSortOrder=function(){k.$uiFilterColumnCntr.hide(),k.$uiFilterSortCntr.show()},k.showFilterColumns=function(){k.$uiFilterSortCntr.hide(),k.$uiFilterColumnCntr.show()},k.buildWidget=function(){return a.Deferred(function(f){k.getListDefinition().then(function(){var g=this,h="",o=a.trim(c);k.$ui=a(a.trim(b)).appendTo(k.$ele.empty().addClass("hasSPFilterPanel")),k.$uiFilterColumnCntr=k.$ui.find("div.spwidget-filter-column-cntr"),k.$uiFilterSortCntr=k.$ui.find("div.spwidget-filter-sort-cntr"),k.$list=g,k.opt.height&&k.$uiFilterColumnCntr.css("height",k.opt.height),a.each(k.opt.columns,function(b,c){var f=g.find("Field[DisplayName='"+c+"']"),j=o,l="",m=null;if(f.length||(f=g.find("Field[Name='"+c+"']")),f.length){switch(m={type:null,otherFilterTypes:"",sp_type:f.attr("Type"),sp_format:f.attr("Format"),Name:f.attr("Name"),DisplayName:f.attr("DisplayName")},f.attr("Type")){case"Choice":case"MultiChoice":f.find("CHOICES CHOICE").each(function(b,c){l+=i(a.trim(d),{DisplayName:f.attr("DisplayName"),Name:f.attr("Name"),value:a(c).text()})}),j=j.replace(/__COLUMN__UI__/,l).replace(/__OTHER_FILTER_TYPES__/,""),j=i(j,{DisplayName:f.attr("DisplayName"),type:"choice",Name:f.attr("Name")});break;case"Attachments":m.type="boolean",m.input_ui='',j=i(j.replace(/__COLUMN__UI__/,m.input_ui).replace(/__OTHER_FILTER_TYPES__/,""),m);break;default:switch(f.attr("Type")){case"Lookup":case"LookupMulti":null===m.type&&(m.type="lookup",m.list=f.attr("List"),"Self"===m.list&&(m.list=g.find("List").attr("Title")));break;case"User":case"UserMulti":null===m.type&&(m.type="people");break;case"Counter":case"Number":case"RatingCount":case"Likes":null===m.type&&(m.type="text",m.otherFilterTypes='');break;case"DateTime":null===m.type&&(m.type="date",m.otherFilterTypes='',m.sp_format="DateOnly"!==f.attr("Format")?"DateTime":"DateOnly");break;default:m.type="text"}l=a.trim(e),j=j.replace(/__COLUMN__UI__/,l).replace(/__OTHER_FILTER_TYPES__/,m.otherFilterTypes),j=i(j,a.extend(m,{DisplayName:f.attr("DisplayName"),Name:f.attr("Name"),tooltip:k.opt.textFieldTooltip}))}h+=j}}),k.$uiFilterColumnCntr.html(h),k.$ele.find("div.spwidget-type-lookup input").each(function(){var b=a(this);l(b,{list:b.closest("div.spwidget-column").data("spwidget_list"),template:'
{{Title}} [x]
',listTemplate:"{{Title}}",allowMultiples:!0,readOnly:!1,filter:"",showSelector:!0}),b.parent().find(".spwidget-tooltip").remove()}),k.$ele.find("div.spwidget-type-people input").each(function(){var b=a(this),c=g.find("Field[Name='"+b.attr("name")+"']"),d="User";"PeopleOnly"!==c.attr("UserSelectionMode")&&(d="All"),m(b,{allowMultiple:!0,type:d}),b.parent().find(".spwidget-tooltip").html(k.opt.peopleFieldTooltip)}),k.$ele.find("div.spwidget-type-date").each(function(){var b=a(this),c=b.find("input");return n(c,{allowMultiples:!0,showTimepicker:"DateTime"===b.data("spwidget_sp_format")?!0:!1}),b.find(".spwidget-tooltip").remove(),b.find("select.spwidget-filter-type").val("Eq").find("option[value='Contains']").remove(),this}),k.$ele.find(".spwidget-type-boolean div.spwidget-filter-type-cntr").css("display","none"),k.opt.showFilterButton||k.opt.showFilterButtonTop?k.$ui.find("div.spwidget-filter-button-cntr").each(function(){var b=a(this),c=a();k.opt.showFilterButtonTop&&(c=c.add(b.clone(!0)).prependTo(k.$ui)),k.opt.showFilterButton?c=c.add(b):b.remove(),c.find("button[name='filter']").button({icons:{primary:"ui-icon-search"},label:k.opt.filterButtonLabel}).on("click",r.onFilterButtonClick),c.find("button[name='reset']").button({icons:{primary:"ui-icon-arrowreturnthick-1-n"},text:!1}).on("click",function(){return r.doResetFilter(k),this})}):k.$ui.find("div.spwidget-filter-button-cntr").remove(),k.$ui.on("change.SPWidgets.SPFilterPanel","select.spwidget-filter-type,select.spwidget-sort-order",r.onFilterTypeChange).on("click.SPWidgets.SPFilterpanel","a.spwidget-column-action",r.onFilterTypeChange),""!==k.opt.definedClass&&k.$ui.on("change.SPWidgets.SPFilterPanel",".spwidget-filter-input",r.onFilterInputChange),k.$ui.data("SPFilterPanelInst",k),a.isFunction(k.opt.onReady)&&k.opt.onReady.call(k.$ele,j),k.$ui.fadeIn().promise().then(function(){a(this).css("display",""),f.resolve()})}).fail(function(){var a=this;k.$ele.html('
Unable to retrieve list information. '+p(a)+"
"),f.reject()})}).promise()},k.opt.ignoreKeywords&&!k.opt.ignoreKeywords instanceof RegExp&&(k.opt.ignoreKeywords=/Inst.opt.ignoreKeywords/i),k.buildWidget(),this})},r.onFilterInputChange=function(){var b=a(this),c=b.closest("div.spwidget-filter-value-input"),d=c.closest("div.spwidget-column"),e=b.val(),f=c.closest("div.spwidget-filter").data("SPFilterPanelInst");return d.is(".spwidget-type-choice")&&(c.find(".spwidget-filter-input:checked").length||(e="")),r.isColumnDirty(d)?d.addClass(f.opt.definedClass):d.removeClass(f.opt.definedClass),this},r.onFilterTypeChange=function(){var b=a(this),c=b.closest("div.spwidget-column"),d=c.find("div.spwidget-filter-type-cntr select.spwidget-match-type"),e=c.find("div.spwidget-filter-value-cntr"),f=e.find(".spwidget-input"),g="",h=b.val(),i=b.closest("div.spwidget-filter").data("SPFilterPanelInst");return b.is("select.spwidget-sort-order")?void(b.val()?(c.addClass("spwidget-has-sort-order"),c.addClass(i.opt.definedClass)):(c.removeClass("spwidget-has-sort-order"),r.isColumnDirty(c)||c.removeClass(i.opt.definedClass))):b.is("a.spwidget-column-action")?(g=b.data("action"),void(("up"===g||"down"===g)&&r.moveColumn(c,"up"===g?!0:!1))):("IsNull"===h||"IsNotNull"===h?(e.addClass("spwidget-disabled"),f.attr("disabled","disabled"),d.attr("disabled","disabled"),c.addClass(i.opt.definedClass)):(e.removeClass("spwidget-disabled"),f.removeAttr("disabled","disabled"),d.removeAttr("disabled"),r.isColumnDirty(c)||c.removeClass(i.opt.definedClass)),this)},r.onFilterButtonClick=function(){var b=a(this).closest("div.spwidget-filter").data("SPFilterPanelInst"),c=null;return a.isFunction(b.opt.onFilterClick)&&(c=r.getFilterValues(b),b.opt.onFilterClick.call(b.$ele,c)),this},r.doResetFilter=function(b){return a.isFunction(b.onReset)&&b.onReset.call(b.$ele,r.getFilterValues(b))===!0?b:(b.$ui.find("div[data-spwidget_column_type='text'] input").val("").end().find("div[data-spwidget_column_type='choice'] input").prop("checked",!1).end().find("div[data-spwidget_column_type='boolean'] .spwidget-filter-value-input select").val(""),n(b.$ui.find(".hasSPDateField"),"reset"),m(b.$ui.find(".hasPickSPUser"),"method","clear"),l(b.$ui.find(".hasLookupSPField"),"method","clear"),""!==b.opt.definedClass&&b.$ui.find("."+b.opt.definedClass).removeClass(b.opt.definedClass),b.$ui.find("select.spwidget-filter-type").each(function(){var b=a(this),c=b.val();("IsNull"===c||"IsNotNull"===c)&&(b.val("Eq"),b.change())}),b.$ui.find("select.spwidget-sort-order").val("").change(),b)},r.getFilterValues=function(b){function c(a){return j({type:a.logicalType,values:a.values,onEachValue:function(b){return"<"+a.matchType+">"+k.escape(b)+""}})}var d={CAMLQuery:"",CAMLOrderBy:"",URLParams:"",filters:{},count:0},e=b.$ui.find("div.spwidget-column"),f=[],g="";return e.each(function(e,i){var k=a(i),l=k.find(".spwidget-input"),m=l.attr("name"),o=new r.ColumnFilter({columnName:m,matchType:k.find("select.spwidget-filter-type").val(),logicalType:k.find("select.spwidget-match-type").val(),sortOrder:k.find("select.spwidget-sort-order").val()}),p=k.data("spwidget_column_type"),q={};if(o.sortOrder&&(o.CAMLOrderBy+='"),"IsNull"===o.matchType||"IsNotNull"===o.matchType)o.CAMLQuery="<"+o.matchType+">",o.count+=1;else switch(p){case"choice":case"multichoice":l.each(function(){var b=a(this),c=b.val();b.is(":checked")&&o.values.push(c)}),o.values.length&&(o.count=o.values.length,o.CAMLQuery=c(o));break;case"lookup":case"people":!function(){var b=[];l.each(function(){var c,d,e=a(this),f=h(e.val());for(c=0,d=f.length;d>c;c++)f[c].id&&(o.values.push(f[c].id+";#"+f[c].title),b.push(f[c].id))}),o.values.length&&(o.count=o.values.length,o.CAMLQuery=j({type:o.logicalType,values:b,onEachValue:function(a){return"<"+o.matchType+">"+a+""}}))}();break;case"date":l.each(function(){var a=n(l,"getDate");return a.dates.length&&(o.values=a.dates,o.count=o.values.length,o.CAMLQuery=j({type:o.logicalType,values:o.values,onEachValue:function(a){return"<"+o.matchType+">"+a+""}})),!1});break;case"text":case"boolean":String(a.trim(l.val())).length&&!function(){var d,e,f,g=l.val().split(b.opt.delimeter);for(d=0,e=g.length;e>d;d++)f=a.trim(g[d]),!b.opt.ignoreKeywords.test(f)&&f&&o.values.push(f);o.CAMLQuery=c(o),o.count=o.values.length}()}(o.count>0||o.CAMLOrderBy)&&(q[m]={},o.CAMLOrderBy&&(g+=o.CAMLOrderBy,q[m].sortOrder=o.sortOrder),o.count>0&&(f.push(o.CAMLQuery),d.count+=o.count,d.filters[m]=o,q[m].matchType=o.matchType,q[m].logicalType=o.logicalType,q[m].values=o.values),o.URLParams=a.param(q,!1),""!==d.URLParams&&(d.URLParams+="&"),d.URLParams+=o.URLParams)}),d.count>1?d.CAMLQuery=j({type:"AND",values:f}):1===d.count&&(d.CAMLQuery=f[0]),g&&(d.CAMLOrderBy+=""+g+""),d},r.setFilterValues=function(b,c){return"object"!=typeof c||a.isEmptyObject(c)?b:(r.doResetFilter(b),a.each(c,function(c,d){var e=b.$ui.find(".spwidget-filter-input[name='"+c+"']"),f=e.closest("div.spwidget-column"),g=f.data("spwidget_column_type"),h=f.find("select[name='"+c+"_type']"),i=f.find("div.spwidget-filter-type-cntr select.spwidget-match-type"),j=f.find("select.spwidget-sort-order"),k=new r.ColumnFilter;if(a.extend(k,d),"boolean"!==g&&(k.matchType&&"boolean"!==g&&h.val(k.matchType),k.logicalType&&i.val(k.logicalType)),"boolean"===g||"IsNull"!==d.matchType&&"IsNotNull"!==d.matchType)switch(g){case"text":case"boolean":e.val(k.values instanceof Array?k.values.join(b.opt.delimeter):k.values);break;case"choice":case"multichoice":a.each(k.values,function(a,b){e.filter("[value='"+b+"']").prop("checked",!0)});break;case"lookup":l(e,"method","add",k.values.join(";#"));break;case"people":m(e,"method","add",k.values.join(";#"));break;case"date":"DateTime"===f.data("spwidget_sp_format")?n(e,"setDate",k.values):n(e,"setDate",k.values,"yy-mm-dd")}else h.change();k.sortOrder&&j.val("asc"===String(k.sortOrder).toLowerCase()?"Asc":"Des"),j.change(),e.change()}),b)},r.ColumnFilter=function(a){var b=function(){},c=new b;return"object"!=typeof a&&(a={}),c.columnName=a.columnName||"",c.matchType=a.matchType||"",c.logicalType=a.logicalType||"",c.sortOrder=a.sortOrder||"",c.values=a.values||[],c.CAMLQuery=a.CAMLQuery||"",c.CAMLOrderBy=a.CAMLOrderBy||"",c.URLParams=a.URLParams||"",c.count=a.count||0,c},r.moveColumn=function(a,b){var c=a.parent().children(),d=c.length,e=c.index(a);b&&0===e||(b||e+1!==d)&&(b?a.insertBefore(a.prev()):a.insertAfter(a.next()))},r.isColumnDirty=function(b){var c=!1,d=b.data("spwidget_column_type"),e=b.find(".spwidget-input");return"choice"===d||"multichoice"===d?e.filter(":checkbox").each(function(){var b=a(this);return b.is(":checked")?(c=!0,!1):void 0}):e.val()&&(c=!0),c||(e=b.find("select.spwidget-sort-order"),e.val()&&(c=!0)),c},q.defaults=r.defaults,q}(S,F,G,H,I,a,c,w,j,v,x,z,E,t,d,h),L='
Upload
Upload Successful! x
Error x
Select...
',M=function(){var a=function(a){var b={12:"2007",14:"2010",15:"2013"},c=12,d=!1;return"undefined"!=typeof SP&&(c=14,SP.ClientSchemaVersions&&SP.ClientSchemaVersions.currentVersion&&(c=parseInt(SP.ClientSchemaVersions.currentVersion),d=!0),d||"undefined"==typeof _spPageContextInfo||(c=parseInt(_spPageContextInfo.webUIVersion),4===c&&(c=14))),a&&(c=b[c]||c),c};return a}(),N=void 0,O=function(a,b,c,d,e,f){var g,h={};return h.isInitDone=!1,h.defaults={listName:"",folderPath:"",uploadDonePage:"",onPageChange:null,onUploadDone:null,uploadUrlOpt:"",overwrite:!1,uploadPage:"",overlayClass:"",overlayBgColor:"white",overlayMessage:"
Working on it
",selectFileMessage:"Click here to select file...",uploadDoneMessage:"Upload Successful!",fileNameErrorMessage:'A file name cannot contain any of the following characters: \\ / : * ? " < > | # { } % ~ &',noFileErrorMessage:"No file selected!",checkInFormHeight:"25em",webURL:null,debug:!1,filenameInputSelector:"input[id$='onetidIOFile']"},g=function(c,g){return h.isInitDone||(h.isInitDone=!0,h.defaults.webURL||(h.defaults.webURL=e())),c.each(function(){var c,e=a.extend({},h.defaults,g);if(e.log=e.debug?h.log:function(){},e.showHideBusy=function(b){return a.Deferred(function(a){b?e.$busyOverlay.fadeOut("fast").promise().then(function(){a.resolve()}):e.$busyOverlay.fadeIn("slow").promise().then(function(){a.resolve()})}).promise()},e.showHideFullForm=function(a){return a?(e.$content.removeClass("spwidget-show-full-form"),e.$iframeCntr.css({overflow:"",height:""})):(e.$content.addClass("spwidget-show-full-form"),e.$iframeCntr.css({overflow:"auto",height:"auto"})),e},e.showHideSuccess=function(a){return a?e.$successCntr.stop().fadeOut().promise(function(){e.$successCntr.css("display","none")}):e.$successCntr.stop().show().promise(function(){e.$successCntr.css("display","block")}),e},e.showError=function(b){var c=a.extend({},{message:"",autoHide:!0},b);return e.$errorCntrMsg.html(c.message),e.$errorCntr.stop().css("display","block"),c.autoHide&&e.$errorCntr.animate({opacity:1},5e3,function(){e.clearError()}),e},e.clearError=function(){return e.$errorCntr.css("display","none"),e},e.resetWidget=function(){return e.ev={state:1,action:"uploading",hideOverlay:!0,pageUrl:"",page:null,isUploadDone:!1,file:{}},e.$iframe.attr("src",e.uploadPage),e},e.getUploadedFileRow=function(){var a={};return d({async:!1,webURL:e.webURL,listName:e.listName,CAMLQuery:"",CAMLViewFields:"",CAMLRowLimit:1,CAMLQueryOptions:"",completefunc:function(b,c,d){d.length&&(a=d[0])}}),a},e.isUploadPage=function(a){var b=!1,c=document.createElement("a"),d=null;return c.href=String(a).toLowerCase(),e.userUploadPage?(d=document.createElement("a"),d.href=String(e.userUploadPage).toLowerCase(),c.pathname===d.pathname&&(b=!0)):b=/upload(ex)?\.aspx$/.test(c.pathname),b},e.listName&&0!==e.listName.indexOf("{")&&(e.listName=h.getListUID(e.listName)),!e.listName)return a(this).html('
Input parameter [listName] not valid!
'),this;if(e.spVersion=f(!0),e.userUploadPage=e.uploadPage,e.uploadPage=String(e.uploadPage),e.uploadPage){if(-1===e.uploadPage.toLowerCase().indexOf("http")){var i="/";0===e.uploadPage.indexOf("/")&&(i=""),e.uploadPage=e.webURL+i+e.uploadPage}}else switch(e.spVersion){case"2013":e.uploadPage=e.webURL+"/_layouts/15/UploadEx.aspx";break;case"2010":e.uploadPage=e.webURL+"/_layouts/UploadEx.aspx";break;default:e.uploadPage=e.webURL+"/_layouts/Upload.aspx"}return e.uploadDonePage=String(e.uploadDonePage),e.uploadDonePage||(e.uploadDonePage=e.webURL+"/_layouts/images/STS_ListItem_43216.gif"),e._iframeLoadId=1,e._uploadUrlParams="?List="+encodeURIComponent(e.listName)+"&RootFolder="+encodeURIComponent(e.folderPath)+"&Source="+encodeURIComponent(e.uploadDonePage)+"&"+(new Date).getTime()+"=1&"+e.uploadUrlOpt,e.uploadPage=e.uploadPage+e._uploadUrlParams,e._lastError="",e._reloadCount=0,e.ev={state:1,action:"uploading",hideOverlay:!0,pageUrl:"",page:null,isUploadDone:!1,file:{}},e.$ele=a(this),c={},e.overlayBgColor&&(c["background-color"]=e.overlayBgColor),e.$cntr=a(a(b).filter("div.SPControlUploadUI").clone()).appendTo(e.$ele.addClass("hasSPControlUploadUI").empty()).data("SPControlUploadOptions",e),e.$buttonCntr=e.$cntr.find("div.buttonPane").click(function(){h.onUpload(this)}),e.$content=e.$cntr.find("div.mainContainer"),e.$iframeCntr=e.$cntr.find("div.iFrameWindow"),e.$iframe=e.$iframeCntr.children("iframe"),e.$busyOverlay=e.$cntr.find("div.loadingOverlay"),e.$busyOverlayMsg=e.$busyOverlay.find("div.loadingOverlayMsg"),e.$successCntr=e.$cntr.find("div.spwidget-success-cntr"),e.$errorCntr=e.$cntr.find("div.spwidget-error-cntr"),e.$errorCntrMsg=e.$errorCntr.find(".spwidget-msg"),e.reInvalidChr=new RegExp('[\\/:*?"<>|#{}%~&]'),e.$successCntr.on("click",".spwidget-close",function(){e.showHideSuccess(!0)}).find(".spwidget-msg").html(e.uploadDoneMessage),e.$errorCntr.on("click",".spwidget-close",function(){e.clearError()}),e.$busyOverlay.addClass(e.overlayClass).css(c),e.$busyOverlayMsg.html(e.overlayMessage),e.showHideBusy(),e.$cntr.find("iframe").css("height",e.checkInFormHeight).load(function(){h.onIframeChange(e.$ele.find(".SPControlUploadUI"))}).attr("src",e.uploadPage).end(),this})},h.onUpload=function(b){var c=a(b).closest(".SPControlUploadUI"),d=c.find("iframe").contents(),e=d.find("input[type='file']").closest("tr").siblings().find("span"),f=c.data("SPControlUploadOptions"),g=f.ev;return f.log("Upload.onUpload("+f._iframeLoadId+"): Start...."),e.css("display","none"),d.find("input[type='file']").val()?f.reInvalidChr.test(d.find("div.SPControlUploadModUIFileSelected").text())?void f.showError({message:f.fileNameErrorMessage}):(g.state=2,g.action="preLoad",f.onPageChange&&f.onPageChange.call(f.$ele,g)===!1?!1:(f.showHideFullForm(!0),void f.showHideBusy().then(function(){return f.log("Upload.onUpload("+f._iframeLoadId+"): Clicking the OK button on upload form."),d.find("input[type='button'][id$='btnOK']").click(),e.is(":visible")?(f.log("Upload.onUpload("+f._iframeLoadId+"): Error message reported! \n"+e.text()),c.find(".loadingOverlay").css("display","none").end(),!1):void 0}))):void f.showError({message:f.noFileErrorMessage})},h.isSPBusyAnimation=function(a){return a.find("#GearPage").length?!0:a.find("#ms-loading-box").length?!0:!1},h.onIframeChange=function(c){var d=a(c).closest(".SPControlUploadUI"),e=d.data("SPControlUploadOptions"),f=0,g=a(d.find("iframe").contents());if(e.debug)try{e.log("Upload.onIframeChange(): ENTERING... Document readyState: "+g[0].readyState+" IFRAME URL: "+g[0].location.href)}catch(i){}return h.isSPBusyAnimation(g)?void e.log("Upload.onIframeChange(): EXITING... Gear page displyed."):2===e.ev.state&&"preLoad"===e.ev.action&&g[0].spcontrolupload_init_done===!0?(e.log("Upload.onIframeChange("+e._iframeLoadId+"): Exiting! ev.action=["+e.ev.action+"] and ev.state=["+e.ev.state+"] - Nothing to do. Action handled by onUpload(). Setting action to postLoad"),void(e.ev.action="postLoad")):(e._iframeLoadId++,f=e._iframeLoadId,e.log("Upload.onIframeChange("+f+"): State=["+e.ev.state+"] Action=["+e.ev.action+"]"),void setTimeout(function(){if(f!==e._iframeLoadId)return void e.log("Upload.onIframeChange("+f+"): not latest invokation! Existing.");var c=e.ev,i=g.find("form").eq(0);if(g=a(d.find("iframe").contents()),e.log("Upload.onIframeChange("+f+"): STARTING... Executing setTimeout(). URL:"+g[0].location.href),g.spcontrolupload_init_done===!0)return void e.log("Upload.onIframeChange("+f+"): EXITING!!! Page was already processed!");if(g.spcontrolupload_init_done=!0,c.pageUrl=g[0].location.href,c.page=g,e.$iframeCntr.scrollTop(0),g.scrollTop(0),e.isUploadPage(c.pageUrl)){if(e.log("Upload.onIframeChange("+f+"): URL is the upload page!"),g.find("body").css({overflow:"hidden"}),i.children(":visible").hide().end().append(a(b).filter("div#SPControlUploadModUI").clone()).find("div.SPControlUploadModUIFileSelected").html(e.selectFileMessage),new RegExp(/error/i).test(a.trim(g.find(".ms-pagetitle").text()))||new RegExp(/error/i).test(a.trim(g.find("title").text()))||new RegExp(/error\.aspx/i).test(a.trim(g.find("form").attr("action"))))return e.log("Upload.onIframeChange("+f+"): page displaying an error... Storing it and reloading upload form."),e._lastError=g.find("[id$='LabelMessage']").text(),e._reloadCount>1?(alert("Error encountered during upload which is causing program to loop. Last upload error was: "+e._lastError),void d.find(".loadingOverlay").fadeOut()):(e._reloadCount+=1,void d.find("iframe").attr("src",e.uploadPage));if(h.isSPBusyAnimation(g)&&!g.find("input[type='file']").length)return void e.log("Upload.onIframeChange("+f+"): SP processing page (GearPage)... Exiting and waiting for next page...");g.find("input[type='file']").closest("table").appendTo(g.find("#SPControlUploadModUI")).removeClass("ms-authoringcontrols");var j=g.find("#SPControlUploadModUI").find("input[type='file']").closest("tr").siblings().css("display","none").end().end().siblings("tr .ms-error").css("display","").end().on("change focus click",function(){var b=a(this),c=b.val(),d="",f="/_layouts/images/urn-content-classes-smartfolder16.gif";if(c){try{d=c.substr(c.lastIndexOf(".")+1)}catch(h){d="GEN"}f="/_layouts/images/IC"+d.toUpperCase()+".GIF",c=c.replace(/\\/g,"/").split("/").pop()||c}else c=e.selectFileMessage;g.find("#SPControlUploadModUI > div").html(c).css("background-image","url('"+f+"')")}).css({cursor:"pointer",height:"100px",position:"absolute",left:"0px",top:"0px",filter:"alpha(opacity=1)",opacity:"0.01",outline:"none","-moz-opacity":"0.01","font-size":"100px","z-index":"5"});i.on("mousemove",function(a){j.css({left:a.pageX-(j.width()-50),top:a.pageY-30}).blur()}),e._lastError&&(e.showError({message:e._lastError}),e._lastError=""),e._reloadCount=0,e.overwrite?g.find("input[type='checkbox'][name$='OverwriteSingle']").prop("checked","checked"):g.find("input[type='checkbox'][name$='OverwriteSingle']").prop("checked",""),c.state=1,c.action="postLoad",c.hideOverlay=!0}else{if(e.log("Upload.onIframeChange("+e._iframeLoadId+"): File uploaded to server! Need ["+e.uploadDonePage+"] to be done."),c.state=3,c.action="postLoad",c.hideOverlay=!0,c.file=e.getUploadedFileRow(),h.isSameUrlPage(c.pageUrl,e.uploadDonePage))e.log("Upload.onIframeChange("+e._iframeLoadId+"): Upload widget process DONE!"),c.isUploadDone=!0,c.hideOverlay=!1,e.showHideBusy(),e.showHideSuccess();else if(e.log("Upload.onIframeChange("+e._iframeLoadId+"): Post Upload Form being displayed! Hooking into form.onsubmit!"),i.length){var k=i.prop("onsubmit"),l=i.find(e.filenameInputSelector).eq(0);l.length&&(i.children(":visible").css("display","none").addClass("ptWasVisible"),l.closest("div[id^='WebPart']").appendTo(i).css("display","").removeClass("ptWasVisible")),i[0].onsubmit=function(){e.log("Upload.onIframeChange("+f+"): iframe form.onsubmit triggered!"),e.showHideBusy();var b=!0;return a.isFunction(e.onPageChange)&&(b=e.onPageChange.call(e.$ele,a.extend({},c,{state:3,action:"preLoad"}))),b===!1?(e.showHideBusy(!0),b):(a.isFunction(k)&&(b=k()),b===!1?(e.showHideBusy(!0),b):(e.showHideFullForm(!0),b))}}a(d.find("iframe")[0].contentWindow).unload(function(){return e.log("Upload.onIframeChange("+e._iframeLoadId+"): iframe.unload() triggered!"),e.showHideBusy(),e.showHideFullForm(!0),a.isFunction(e.onPageChange)?e.onPageChange.call(e.$ele,a.extend({},c,{state:3,action:"preLoad"})):void 0})}e.log("Upload.onIframeChange("+e._iframeLoadId+"): iframe page setup done!"),e.onPageChange&&e.onPageChange.call(e.$ele,c),("postload"!==c.action.toLowerCase()||c.hideOverlay===!0)&&(e.showHideBusy(!0),c.isUploadDone===!1&&3===c.state&&e.showHideFullForm()),c.isUploadDone&&(e.resetWidget(),e.$successCntr.animate({opacity:1},3e3,function(){e.showHideSuccess(!0)}),a.isFunction(e.onUploadDone)&&e.onUploadDone.call(e.$ele,c.file))},500))},h.isSameUrlPage=function(a,b){if(!a||!b)return!1;var c=function(a){var b=document.createElement("a");return b.href=a,unescape(b.pathname)},d=String(c(a)).toLowerCase(),e=String(c(b)).toLowerCase();return d===e},h.getListUID=function(b){if(!b)return"";var d="";return c({listName:b,async:!1,cacheXML:!0,completefunc:function(b){d=a(b.responseXML).find("List").attr("ID")}}),d},h.log=function(){var b,c,d=1,e=0,f=!1,g=!1,h=["#FFFFFF","#F5F5F2"];return"undefined"==typeof console||"undefined"==typeof console.debug?b=function(){var a,b,f="";for(a=0,b=arguments.length;b>a;a++)f+='
['+d+"] "+arguments[a]+"
",d++,e=1===e?0:1;f&&(c.append(f),c.dialog("isOpen")||c.dialog("open"))}:f=!0,function(){if(g||(g=!0,f||(c=a("

SPWidgets Debug Output

").appendTo("body").dialog({title:"Debug output",height:300}))),f){var d,e;for(d=0,e=arguments.length;e>d;d++)console.debug(arguments[d])}else b.apply(this,arguments)}}(),g.defaults=h.defaults,g}(S,L,c,g,a,M),P=function(a,b,c,d){var e=function(){var e=null,f=function(){return e.apply(this,arguments)};return f.defaults={webURL:"",cacheXML:!1,async:!0,completefunc:null,filter:null},e=function(e){var g,h=a.extend({},f.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.webURL+="_vti_bin/SiteData.asmx",h.cacheKey=h.webURL+"?"+[h.filter].join("|"),h.isCached=b.isCached(h.cacheKey),h.cacheXML&&h.isCached?(g=b(h.cacheKey),a.isFunction(h.completefunc)&&g.then(function(b,c,d){h.completefunc.call(a,c,d,b)}),g):(g=a.Deferred(function(c){h.isCached&&b.clear(h.cacheKey),a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL,contentType:"text/xml;charset=utf-8",dataType:"xml",data:'',complete:function(e,f){if("error"===f||d(e))return h.cacheXML&&b.clear(h.cacheKey),void c.rejectWith(a,[null,e,f]);var g=a(e.responseXML).find("_sList"),i=[];h.filter&&!a.isArray(h.filter)&&(h.filter=[h.filter]),g.each(function(){var b=a(this),c={};h.filter&&a.isArray(h.filter)&&-1===a.inArray(b.find("Title").text(),h.filter)&&-1===a.inArray(b.find("InternalName").text(),h.filter)||(b.children().each(function(){c[this.nodeName]=a(this).text()}),i.push(c))}),c.resolveWith(a,[i,e,f]),a.isFunction(h.completefunc)&&h.completefunc(e,f,i)}})}).promise(),h.cacheXML&&b(h.cacheKey,g),g) +},f}();return e}(S,b,a,d),Q=function(a,b,c,d){var e=function(){var e=null,f=null,g=function(){return null===f&&(f=this),e.apply(this,arguments)};return g.defaults={accountName:"",webURL:"",async:!0,cacheXML:!0,completefunc:null},e=function(e){var f,h=a.extend({},g.defaults,e);return h.webURL?"/"!==h.webURL.charAt(h.webURL.length-1)&&(h.webURL+="/"):h.webURL=c(),h.cacheKey=h.webURL+"/"+h.accountName,h.cacheXML===!0&&b.isCached(h.cacheKey)?(f=b.get(h.cacheKey),a.isFunction(h.completefunc)&&f.then(function(a,b,c){h.completefunc(b,c,a)}),f):(f=a.Deferred(function(c){a.ajax({type:"POST",cache:!1,async:h.async,url:h.webURL+"_vti_bin/UserProfileService.asmx",beforeSend:function(a){a.setRequestHeader("SOAPAction","http://microsoft.com/webservices/SharePointPortalServer/UserProfileService/GetUserProfileByName")},contentType:"text/xml;charset=utf-8",dataType:"xml",data:''+h.accountName+"",complete:function(e,f){var g=a(e.responseXML),i={};return"error"===f||d(g)?(h.cacheXML&&b.clear(h.cacheKey),c.rejectWith(a,[{},e,f]),void(a.isFunction(h.completefunc)&&h.completefunc(e,f,{}))):(g.find("PropertyData").each(function(){var b=a(this);i[b.find("Name").text()]=b.find("Value").text()||""}),c.resolveWith(a,[i,e,f]),void(a.isFunction(h.completefunc)&&h.completefunc.call(a,e,f,i)))}})}).promise(),h.cacheXML&&b(h.cacheKey,f),f)},g}();return e}(S,b,a,d),R=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z){a.SPWidgets={defaults:{},version:"2.5.1",escapeXML:j.escape,unEscapeXML:j.unescape,fillTemplate:k,getCamlLogical:l,getSPVersion:m,parseDateString:n,parseLookupFieldValue:o,SPGetDateString:p,makeSameHeight:r,getRuntimeInfo:function(){function b(){return this.SPWidgets=a.SPWidgets.version,this.jQuery=a.fn.jquery||"?",this.jQueryUI="?",this.jQueryUICss="?",this}b.prototype.asString=function(){var a,b=this,c="";for(a in b)b.hasOwnProperty(a)&&(c+="[ "+a+" = "+b[a]+" ] ");return c};var c=new b,d=a('
').appendTo("body"),e="";try{c.jQueryUI=jQuery.ui.version}catch(f){}return e=d.css("background-image"),d.addClass("ui-widget-header"),d.css("background-image")!==e&&(c.jQueryUICss="loaded"),d.remove(),c},SPAPI:{getList:s,getListFormCollection:t,getListItems:u,getSiteListCollection:v,getSiteUrl:w,getUserProfile:x,resolvePrincipals:y,searchPrincipals:z,getNodesFromXml:q}},a.each({SPShowBoard:b,SPDateField:c,SPLookupField:d,pickSPUser:e,SPFilterPanel:f,SPControlUpload:g,SPGetMsgError:h,SPMsgHasError:i},function(b,c){a.fn[b]=function(){var a=Array.prototype.slice.call(arguments);return a.unshift(this),c.apply(c,a)},c.defaults&&(a.SPWidgets.defaults[b]=c.defaults)})}(S,o,t,z,E,K,O,h,d,x,j,v,M,r,w,q,f,k,c,e,g,P,a,Q,C,B),function(a){var b=document,c="appendChild",d="styleSheet",e=b.createElement("style");e.type="text/css",b.getElementsByTagName("head")[0][c](e),e[d]?e[d].cssText=a:e[c](b.createTextNode(a))}('div.spwidget-board{width:100%;position:relative}div.spwidget-board div.spwidget-board-headers,div.spwidget-board div.spwidget-board-headers-cntr,div.spwidget-board div.spwidget-board-states-cntr,div.spwidget-board div.spwidget-board-states{width:100%}div.spwidget-board div.spwidget-board-state{width:49%;float:left;margin:0% .1%;padding:.2%;overflow:auto}div.spwidget-board div.spwidget-board-headers-cntr div.spwidget-board-state{font-weight:700;font-size:1.1em;overflow:hidden;word-wrap:break-word}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-board-header-title{display:inline-block}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-state-item-stat-cntr{display:inline-block;font-size:.8em;float:right}div.spwidget-board div.spwidget-board-headers-cntr .spwidget-item-stat{display:inline-block;min-width:2em;padding:0 .2em;text-align:center}div.spwidget-board div.spwidget-board-states div.spwidget-board-state{margin-bottom:1em;min-height:10em}div.spwidget-board div.spwidget-board-state div.spwidget-board-state-item{padding:.2em;margin:.5em .2em;font-weight:400;cursor:move;overflow:hidden;word-break:break-word}div.spwidget-board div.spwidget-board-state-item div.spwidget-board-item-actions{margin-top:.2em;padding:.2em .5em;overflow:hidden}div.spwidget-board .spwidget-board-placeholder{height:3em}div.spwidget-board-settings{font-size:.8em;margin:.2em}div.spwidget-board-settings div.spwidget-board-column-list-cntr{z-index:5;position:absolute}div.spwidget-board-settings div.spwidget-board-column-list-cntr>div{padding:.2em}div.spwidget-board-settings div.spwidget-board-column-list-cntr>div:first-child,div.spwidget-board-settings div.spwidget-board-column-list-cntr>div:last-child{text-align:right}div.spwidget-board-settings div.spwidget-board-column-list{width:20em;height:17em;overflow:auto;position:relative}div.spwidget-board-settings div.spwidget-board-column-list-cntr .spwidget-board-msg{position:absolute;top:1px;left:1px;padding:.2em}div.spwidget-board-settings div.ui-state-default{position:relative}div.spwidget-board-settings div.spwidget-board-column-list>a{display:block;margin:.2em;padding:.2em}div.spwidget-board-settings div.spwidget-board-column-list>a>span.ui-icon{display:inline-block}div.spwidget-board .spwidget-states-3 div.spwidget-board-state{width:32.4%}div.spwidget-board .spwidget-states-4 div.spwidget-board-state{width:24%}div.spwidget-board .spwidget-states-5 div.spwidget-board-state{width:19.1%}div.spwidget-board .spwidget-states-6 div.spwidget-board-state{width:15.8%}div.spwidget-board .spwidget-states-7 div.spwidget-board-state{width:13.4%}div.spwidget-board .spwidget-states-8 div.spwidget-board-state{width:11.6%}div.spwidget-board .spwidget-states-9 div.spwidget-board-state{width:10.2%}div.spwidget-board .spwidget-states-10 div.spwidget-board-state{width:9.1%}.spwidget-date-cntr{display:inline-block;position:relative}.spwidget-date-cntr div.spwidget-date-input-cntr{position:relative}.spwidget-date-cntr input{width:99%}.spwidget-date-cntr img.ui-datepicker-trigger{display:block;position:absolute;right:2%;top:.3em}.spwidget-date-cntr .spwidgets-item-remove{color:red;font-size:xx-small;vertical-align:super;cursor:pointer}.spwidget-date-cntr div.spwidget-datetime-selector{padding:.5em;position:absolute;width:28em;z-index:1}.spwidget-date-cntr div.spwidget-datetime-selector div.ui-datepicker-inline{width:14em}.spwidget-date-cntr div.spwidget-datetime-selector div.spwidget-date-selector,.spwidget-date-cntr div.spwidget-datetime-selector div.spwidget-time-selector{float:left}.spwidget-date-cntr div.spwidget-selectors:before{content:"";display:table;line-height:0}.spwidget-date-cntr div.spwidget-selectors:after{content:"";display:table;line-height:0;clear:both}.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-hour,.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-min,.spwidget-date-cntr div.spwidget-datetime-selector select.spwidget-ampm{font-size:1.2em}.spwidget-date-cntr div.spwidget-time-selector{margin-left:.2em;width:11em}.spwidget-date-cntr div.spwidget-time-selector-cntr{padding:.2em}.spwidget-date-cntr div.spwidget-time-selector div.ui-widget-header{text-align:center;line-height:2em;margin-bottom:.5em}.spwidget-date-cntr .spwidget-time-hour,.spwidget-date-cntr .spwidget-time-min,.spwidget-date-cntr .spwidget-time-ampm{margin-top:.2em;padding:.2em}.spwidget-date-cntr .spwidget-time-selector-cntr select,.spwidget-date-cntr .spwidget-time-selector-cntr label{overflow:hidden;display:inline-block;font-weight:700}.spwidget-date-cntr .spwidget-time-selector-cntr select{width:4em}.spwidget-date-cntr .spwidget-time-selector-cntr label{width:5em;font-size:.9em}.spwidget-date-cntr .spwidget-inline div.spwidget-datetime-selector{position:relative;width:26em}.spwidget-btn-set{display:none;position:absolute;right:.2em;bottom:.2em}.spwidget-date-multiples-cntr .spwidget-btn-set{display:block}.spwidgets-lookup-cntr{position:relative;display:inline-block;zoom:1;*display:inline}.spwidgets-lookup-cntr .spwidgets-lookup-selected{-moz-appearance:textfield;-webkit-appearance:textfield;background-color:#fff;background-color:-moz-field;border:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset;font:-moz-field;font:-webkit-small-control;margin-top:5px;padding:2px 5px}.spwidgets-lookup-cntr .spwidgets-lookup-selected .spwidgets-item{display:inline-block;margin-left:.5em}.spwidgets-lookup-cntr .spwidgets-item:first-child{margin-left:0}.spwidgets-lookup-cntr .spwidgets-item-remove{color:red;font-size:xx-small;vertical-align:super;cursor:pointer}.spwidgets-lookup-cntr .spwidgets-lookup-input{margin:.2em 0;position:relative}.spwidgets-lookup-cntr .spwidgets-lookup-input input{width:99%}.spwidgets-lookup-cntr ul.ui-autocomplete{overflow:auto;z-index:1}.spwidgets-lookup-cntr div.spwidget-lookup-readyonly .spwidgets-lookup-selected{-moz-appearance:none;-webkit-appearance:none;background-color:transparent;border:none;box-shadow:none;font:inherit}.spwidgets-lookup-cntr div.spwidget-lookup-readyonly .spwidgets-item-remove{display:none}.spwidgets-lookup-cntr .spwidget-lookup-selector-showhide{background-repeat:no-repeat;background-image:url("/_layouts/images/bizdatacontentsource.gif");cursor:pointer;display:block;position:absolute;text-indent:-99999px;z-index:5;height:16px;width:16px;right:5px;top:.3em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-cntr{display:none;position:absolute;left:0;z-index:10;padding:.2em;width:98%;font-size:.8em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-cntr>.ui-state-default{padding:.2em;text-align:right}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr{height:15em;overflow:auto;padding:.2em;font-size:1em}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .ui-state-highlight{padding:.5em;margin:1em .2em;text-align:center;font-size:1.1em;font-weight:700}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .spwidget-lookup-selector-next{cursor:pointer}.spwidgets-lookup-cntr div.spwidget-lookup-selector-item-cntr .spwidget-lookup-item{padding:.2em .5em;margin:.2em;cursor:pointer;font-weight:400}.pt-pickSPUser .pt-pickSPUser-selected .pt-pickSPUser-person{float:left;margin-left:.2em}.pt-pickSPUser .pt-pickSPUser-hint{font-size:.9em}.pt-pickSPUser div.pt-pickSPUser-input input.ui-autocomplete{width:99%}.pt-pickSPUser div.pt-pickSPUser-input ul.ui-autocomplete{z-index:1}.pt-pickSPUser .pt-pickSPUser-person-cntr{margin:.2em 0;padding:.2em;position:relative}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-person-name{padding-right:2em}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions{position:absolute;right:1px;top:1px;padding:.2em;display:none}.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions .pt-pickSPUser-person-action-links,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions .pt-pickSPUser-person-action-links .tt-confirm-delete{float:right}.pt-pickSPUser .pt-pickSPUser-person-cntr.ui-state-hover .pt-pickSPUser-person-actions,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions.tt-confirm,.pt-pickSPUser .pt-pickSPUser-person-cntr .pt-pickSPUser-person-actions a{display:block;float:right}.ui-autocomplete-loading{background:#fff url(\'/_layouts/images/loading.gif\') right center no-repeat}div.spwidget-filter{width:100%;position:relative}div.spwidget-filter .spwidget-date-cntr,div.spwidget-filter .spwidgets-lookup-cntr{display:block}div.spwidget-filter .spwidget-filter-column-cntr{overflow:auto;position:relative}div.spwidget-filter .spwidget-type-text input.spwidget-filter-input,div.spwidget-filter .spwidget-type-people input.ui-autocomplete-input,div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input{width:95%}div.spwidget-filter .spwidgets-lookup-cntr{width:96%}div.spwidget-filter .spwidget-date-cntr div.spwidget-date-input-cntr{width:97%}div.spwidget-filter div.spwidget-column{padding:.5em;margin:.5em;position:relative;border-bottom:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset}div.spwidget-filter div.spwidget-column-actions{position:absolute;right:1%;top:10%}div.spwidget-filter div.spwidget-column-actions a{display:block}div.spwidget-filter div.spwidget-column-sort-actions{display:none}div.spwidget-filter div.spwidget-has-sort-order div.spwidget-column-sort-actions{display:block}div.spwidget-filter div.spwidget-filter-type-cntr,div.spwidget-filter div.spwidget-column-actions a{opacity:.6;filter:alpha(opacity=60)}div.spwidget-filter div.spwidget-filter-type-cntr:hover,div.spwidget-filter div.spwidget-column-actions a:hover{opacity:1}div.spwidget-filter div.spwidget-filter-type-cntr{position:absolute;font-size:.8em;top:.6em;right:8%}div.spwidget-filter div.spwidget-filter-type-cntr select{text-overflow:ellipsis;width:5em}div.spwidget-filter div.spwidget-filter-value-cntr{width:96%}div.spwidget-filter div.spwidget-filter-value-cntr>label{display:block;padding:.2em;font-weight:700}div.spwidget-filter div.spwidget-column-dirty div.spwidget-filter-value-cntr>label{color:red}div.spwidget-filter .spwidget-tooltip{display:block;font-size:.8em;font-style:italic}div.spwidget-filter div.spwidgets-lookup-cntr div.spwidgets-lookup-selected>div.spwidgets-item{display:block;margin-left:0}div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input{max-height:6em;overflow:auto;-moz-appearance:textfield;-webkit-appearance:textfield;background-color:#fff;background-color:-moz-field;border:1px solid darkgray;box-shadow:1px 1px 1px 0 lightgray inset;font:-moz-field;font:-webkit-small-control;padding:2px 5px}div.spwidget-filter div.spwidget-type-choice div.spwidget-filter-value-input label{display:block;padding:.2em}div.spwidget-filter .spwidget-disabled{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter:alpha(opacity=50);opacity:.5}div.spwidget-filter div.spwidget-filter-button-cntr{padding:.5em 4%;margin-top:.5em;text-align:right}.spcontrolupload .mainContainer{position:relative;display:block;height:4em}.spcontrolupload .iFrameWindow,.spcontrolupload .buttonPane{position:absolute;top:0;height:3em}.spcontrolupload .spwidget-success-cntr,.spcontrolupload .loadingOverlay{position:absolute;top:0;height:3em;width:100%}.spcontrolupload .buttonPane{left:0;width:10%;overflow:hidden;cursor:pointer}.spcontrolupload .buttonPane .upload_button{font-weight:700;font-size:1.1em;text-align:center;margin-top:.8em}.spcontrolupload .iFrameWindow{width:90%;left:10%;overflow:hidden}.spcontrolupload .iFrameWindow iframe{overflow:auto;width:100%;height:99%}.spcontrolupload .spwidget-show-full-form .iFrameWindow{overflow:auto;width:100%;margin:0;left:0;right:auto;z-index:5}.spcontrolupload .loadingOverlayMsg{font-size:1em;background-position:left top;background-repeat:no-repeat;background-image:url(\'/_layouts/images/loadingcirclests16.gif\');margin:.5em;padding-left:25px}.spcontrolupload .spwidget-success-cntr,.spcontrolupload .spwidget-error-cntr{display:none}.spcontrolupload div.spwidget-msg-cntr{margin:.5em .5em .5em 3em;font-size:1em;background-position:left top;background-repeat:no-repeat}.spcontrolupload .spwidget-close{color:red;font-size:xx-small;font-weight:700;vertical-align:super;cursor:pointer}.spcontrolupload .spwidget-success-cntr div.spwidget-msg-cntr{background-image:url(\'/_layouts/images/STS_ListItem_43216.gif\');padding-left:30px}.spcontrolupload .spwidget-error-cntr{bottom:-1.5em;left:0;width:100%;position:absolute}.spcontrolupload-dev-mode .iFrameWindow{overflow:auto!important;height:auto!important;z-index:5!important}.spcontrolupload-dev-mode .iFrameWindow iframe{overflow:scroll!important}')})}(); //# sourceMappingURL=jquery.SPWidgets.min.js.map \ No newline at end of file diff --git a/dist/jquery.SPWidgets.min.js.map b/dist/jquery.SPWidgets.min.js.map index 84e1595..873d4e4 100644 --- a/dist/jquery.SPWidgets.min.js.map +++ b/dist/jquery.SPWidgets.min.js.map @@ -1 +1 @@ -{"version":3,"file":"jquery.SPWidgets.min.js","sources":["jquery.SPWidgets.js"],"names":["src_spapi_getSiteUrl","src_sputils_cache","src_jsutils_objectExtend","src_jsutils_dataStore","src_jsutils_Compose","src_sputils_getNodesFromXml","src_models_ListModel","src_sputils_doesMsgHaveError","src_spapi_getList","src_models_ListItemModel","src_spapi_getListItems","src_models_ListColumnModel","src_spapi_getListColumns","src_spapi_getListFormCollection","src_sputils_getMsgError","src_spapi_updateListItems","src_sputils_fillTemplate","src_uiutils_makeSameHeight","src_uiutils_addHoverEffect","text_src_boardWidget_boardhtml","less_src_boardWidget_board","src_boardWidget_board","text_src_dateFieldWidget_dateFieldhtml","src_sputils_getDateString","src_sputils_parseDateString","less_src_dateFieldWidget_dateField","src_dateFieldWidget_dateField","text_src_lookupFieldWidget_lookupFieldhtml","src_sputils_getCamlLogical","src_sputils_parseLookupFieldValue","src_sputils_xmlEscape","less_src_lookupFieldWidget_lookupField","src_lookupFieldWidget_lookupField","text_src_peoplePickerWidget_peoplePickerhtml","src_spapi_searchPrincipals","src_spapi_resolvePrincipals","less_src_peoplePickerWidget_peoplePicker","src_peoplePickerWidget_peoplePicker","text_src_filterPanelWidget_filterPanelhtml","text_src_filterPanelWidget_filterPanelColumnhtml","text_src_filterPanelWidget_filterPanelChoiceFieldhtml","text_src_filterPanelWidget_filterPanelTextFieldhtml","less_src_filterPanelWidget_filterPanel","src_filterPanelWidget_filterPanel","text_src_uploadWidget_uploadhtml","src_sputils_getSPVersion","less_src_uploadWidget_upload","src_uploadWidget_upload","src_spapi_getSiteListCollection","src_spapi_getUserProfile","src_SPWidgets","factory","define","amd","jQuery","jquery","$","getSiteUrl","getFullUrl","pageAddress","charAt","length","indexOf","document","location","protocol","hostname","Number","port","siteUrl","pageUrl","page","isThisPage","errorMessage","href","substr","Error","_spPageContextInfo","webServerRelativeUrl","L_Menu_BaseUrl","ajax","type","cache","async","url","host","data","contentType","dataType","success","xDoc","find","text","cacheData","fnCaller","key","value","get","set","clear","clearAll","isCached","hasOwnProperty","objectExtend","mergeIntoObj","i","response","copyObjs","Array","prototype","slice","call","arguments","total","WeakMap","defineProperty","Object","counter","Date","now","this","name","Math","random","entry","writable","undefined","delete","has","window","dataStore","stash","create","objectKeys","k","keys","push","objectCreate","instData","baseMethods","isDestroyed","init","destroy","onDestroyCallbacks","hasCallbacks","__onDestroy","isArray","forEach","callback","onDestroy","staticMethods","extend","args","Factory","reduce","newProto","obj","thisObjProto","objKey","isInstanceOf","instanceObj","neededKeys","some","protoKey","instance","apply","Compose","getNodesFromXml","options","getNodeAsObj","nodeList","j","opt","nodeName","asJQuery","cleanAttr","nodeModel","nodeModelOptions","convertTypes","nodes","getElementsByTagName","ele","x","y","attrs","attributes","row","replace","getJsNativeFromString","___xmlNode","source","str","toUpperCase","ListModel","listObj","me","defaults","toLowerCase","getListDetailsFromXML","getListDetailsFromJSON","getSource","getListUrl","rootUrl","webURL","WebFullUrl","RootFolder","xmlDoc","listDef","shift","Fields","RegionalSettings","ServerSettings","doesMsgHaveError","xmlMsg","$msg","spErrCode","each","getList","getListDataUsingSoap","reqPromise","getCacheKey","listName","cacheKey","cacheXML","Deferred","dfd","then","rejectWith","Title","ID","resolveWith","fail","promise","itemData","list","ListItemModel","getListItems","getRows","callerFn","viewName","CAMLViewFields","CAMLQuery","CAMLRowLimit","CAMLQueryOptions","operation","completefunc","changeToken","listItemModel","join","isFunction","rows","status","complete","responseXML","ListColumnModel","columnData","getColumnValues","$colXml","colType","Type","colValues","List","ShowField","getListColumns","columns","cols","Hidden","DisplayName","AuthoringInfo","columnName","Name","StaticName","listColumnCollectionMixin","getColumn","col","thisCol","getListFormCollection","getData","xdata","getMsgError","xMsg","error","spErr","count","thisErr","attr","parent","children","not","getUpdateArray","processArrayOfObjects","updArray","thisUpd","updates","updateType","processArrayOfArrays","ofType","valuepairs","updateListItems","batchCmd","_updates","test","beforeSend","xhr","setRequestHeader","always","jqXHR","message","httpData","xhrRequest","statusText","updateOnError","fillTemplate","tmplt","item","tokenVal","template","String","append","html","tokens","match","makeSameHeight","pad","cssProp","h","e","thisEle","css","outerHeight","addHoverEffect","hasClass","addClass","mouseenter","toggleClass","mouseleave","boardTemplate","showBoard","getBoardStates","Board","maxColumns","field","fieldFilter","optionalLabel","allowFieldBlanks","showColPicker","colPickerLabel","colPickerVisible","colPickerCloseLabel","colPickerApplyLabel","colPickerCheckLabel","colPickerTotalLabel","colPickerMaxColMsg","colPickerMinColMsg","onGetListItems","onPreUpdate","onBoardCreate","height","containers","retVal","isMethod","hasBoard","method","board","_getListItems","showItemsOnBoard","refresh","setBoardColumnHeight","setUserDefinedVisibleCol","getBoardColumnList","states","statesMap","tmpltHeader","tmpltState","statesCntr","headersCntr","listItems","initDone","formUrls","isStateRequired","maxColumnVisible","showNumberOfColumns","resolveDeferred","rawResponse","items","getBoardItemDataObject","itemId","id","itemObject","createNewItem","itemDataObj","$uiEle","newItem","thisListRow","itemsForBoard","thisRowState","thisOpt","doBoardInsert","newItems","delItems","chgItems","boardItemCntr","thisRowID","evData","headerTotalEle","dataEle","empty","closest","appendTo","remove","end","removeClass","sortable","disableSelection","getEventObject","itemsModified","trigger","updBoardHeaders","state","uiItemEle","evObj","stateTotals","itemTotal","currentState","itemObj","getListFormUrl","loadFormCollection","xData","$thisForm","colList","isValidColumn","colName","title","showAll","colDef","inArray","isVisible","headerEle","setBoardColumnClass","triggerBoardColumnChangeEvent","colCount","$colCntr","add","parseInt","defObj","setupColumnPicker","$colList","$colFooter","Picker","$totalCntr","setTotalSelected","getSelected","showMessage","msg","fadeOut","setSelected","$columns","$thisCol","filter","selectColumn","colEle","unSelect","$a","$icon","setVisibleColumns","$selected","colNum","selector","triggerEvent","button","label","icons","secondary","on","hide","primary","$sel","$btn","is","show","position","my","at","of","$cntr","min-height","clone","v","ev","ui","updatePromise","resp","target","$actionEle","currentTarget","action","gotoUrl","thisPageUrl","encodeURIComponent","thisState","connectWith","siblings","containment","cursor","tolerance","opacity","placeholder","forcePlaceholderSize","failureMsg","rejectDeferred","listCols","f","_origField","Required","split","colValue","grep","console","log","thisRow","thisId","thisTitle","thisName","getDateString","dateObj","formatType","n","ret","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","parseDateString","dateString","re","dtPieces","numericKeys","minOffset","dtObj","parse","UTC","dateFieldTemplate","dateField","SPDate","isInitDone","evNamespace","allowMultiples","delimeter","remainOpen","datepicker","dateFormat","buttonImage","showOn","buttonImageOnly","dateTemplate","showTimepicker","timeFormat","timeUTC","labelHour","labelMinutes","labelAMPM","labelTime","labelSet","onSelect","arg","inputEle","onPageClick","thisInput","$this","Inst","setDate","date","format","removeDate","reset","$ele","isInline","inlineCntr","$ui","insertAfter","eleOrigVal","val","$input","$inputCntr","$dtCntr","input","dates","change","setDateOpt","dtShowObj","time","setDatepicker","eleVal","dtShow","dt","dt1","dt2","parseDate","formatDate","_timeFmt","$timepicker","formatTime","updateDateTimeWidgets","removeDateOpt","eleDtObj","dt1Regex","RegExp","removeData","$timePicker","off","createDatePicker","wdg","$selectorCntr","$datePicker","$setButton","$hourSelect","$minSelect","$ampmSelect","heightDone","firstShowDone","getTime","hour","minutes","ampm","hour24","timeObj","timeFormated","setDateTime","setHours","setMinutes","execUsersCallback","newDate","tmpVal","showPicker","currentDate","dateText","dtPickerObj","_onSelect","altFormat","altField","numberOfMonths","dtPicker","currentYear","currentMonth","currentDay","stopPropagation","preventDefault","showAnim","settings","setTimeout","$dtItem","$allSelectors","$clickArea","contains","documentElement","getCamlLogical","o","values","onEachValue","tagOpen","tagClose","logical","last","haveFn","newLogical","totalBuilt","toString","parseLookupFieldValue","t","r","a","exports","escape","xmlString","unescape","lookupFieldTemplate","xmlEscape","lookupField","Lookup","_isLookupbodyEventDone","inputLabel","inputPlaceholder","readOnly","exactMatch","uiContainer","selectFields","filterFields","filterOrderBy","listTemplate","listHeight","onItemAdd","onItemRemove","onReady","msgNoItems","maxResults","minLength","hideInput","padDelimeter","showSelector","cmd","cmdOpt","$rmItems","_selectedItemsCntr","removeItem","addItem","_ele","showSelectedItems","doNotStoreIds","itemCntr","itemList","wasUpdated","thisItemUI","_cntr","fadeIn","storeItemIDs","_lookupInputEleCntr","ids","newItemValue","trim","isPadDone","thisID","showCurrentInputSelection","s","_selectFields","arrayOfCurrentItems","addToAutocompleteCache","getItemObjectFromCache","_autocompleteCache","_lookupInputEle","_ignoreKeywordsRegEx","_selectorCntr","_queryInitDone","doSelectorDataInit","click","_templateTokens","thisToken","autocomplete","open","request","term","termCacheName","filterItems","keywords","m","fieldFilters","camlFilter","thisDt","select","u","which","htmlEle","cntr","store","focus","strItems","newVal","$resultsCntr","nextPageToken","isLoading","hasMorePages","$lastPage","queryXml","getListRows","$page","insertBefore","$nextPage","$rsData","eq","rowsHtml","$e","hover","thisRowIndex","scrollTop","top","searchPrincipals","searchText","principalType","resolvePrincipals","principalKeys","addToUserInfoList","principalXml","hasStringTag","peoplePickerTemplate","peoplePicker","People","maxSearchResults","onPickUser","onCreate","onRemoveUser","showSelected","meKeyword","meKeywordLabel","filterSuggestions","handleAction","eleUserInput","eleSelected","removeUser","elePickInput","isUserAlreadySelected","addPeopleToList","peopleString","noEvents","user","curUsers","getUserHtmlElement","$thisUserUI","thisUserName","searchString","getSearchResults","done","personName","displayName","storeListOfUsers","accountId","accountName","accountType","thisUser","email","addToSelectionList","$newPersonUI","Event","principalInfo","$thisPrincipalInfo","$personUI","personObj","doRemove","isDone","thisUserString","next","rmEle","filterPanelTemplate","filterPanelColumnTemplate","filterPanelChoiceFieldTemplate","filterPanelTextFieldTemplate","lookupFieldWidget","peoplePickerWidget","dateFieldWidget","filterPanel","Filter","textFieldTooltip","peopleFieldTooltip","definedClass","showFilterButton","showFilterButtonTop","filterButtonLabel","onFilterClick","onReset","ignoreKeywords","getFilterValues","setFilterValues","doResetFilter","$uiFilterSortCntr","$uiFilterColumnCntr","$uiSortButtons","showSortOrder","showFilterColumns","buildWidget","colsDef","colUI","thisColUI","inputUI","model","otherFilterTypes","sp_type","sp_format","Format","input_ui","tooltip","$field","peopleType","UserSelectionMode","allowMultiple","$column","$btnCntr","prependTo","onFilterButtonClick","onFilterTypeChange","onFilterInputChange","resolve","reject","$col","isColumnDirty","$logicalType","$colValCntr","$colInput","inputVal","eleValue","moveColumn","removeAttr","filters","prop","getColumnCAMLQuery","colFilterObj","logicalType","filterVal","matchType","CAMLOrderBy","URLParams","$cols","colFilters","orderByValues","thisColFilter","ColumnFilter","sortOrder","thisColUrlParam","$checkbox","checkboxVal","lookupIDs","$lookup","lookupVals","thisKeyword","param","isEmptyObject","column","$colUI","$match","$sortOrder","thisFilter","colVal","inst","Column","newCol","moveUp","$allCols","colIndex","index","prev","getSPVersion","returnExternal","versionMap",12,14,15,"version","foundIt","SP","ClientSchemaVersions","currentVersion","webUIVersion","uploadTemplate","upload","Upload","folderPath","uploadDonePage","onPageChange","onUploadDone","uploadUrlOpt","overwrite","uploadPage","overlayClass","overlayBgColor","overlayMessage","selectFileMessage","uploadDoneMessage","fileNameErrorMessage","noFileErrorMessage","checkInFormHeight","debug","filenameInputSelector","overlayCss","showHideBusy","$busyOverlay","showHideFullForm","$content","$iframeCntr","overflow","showHideSuccess","$successCntr","stop","showError","showErrorOptions","autoHide","$errorCntrMsg","$errorCntr","animate","clearError","resetWidget","hideOverlay","isUploadDone","file","$iframe","getUploadedFileRow","lastFile","isUploadPage","answer","parser","createElement","parser2","userUploadPage","pathname","getListUID","spVersion","_iframeLoadId","_uploadUrlParams","_lastError","_reloadCount","$buttonCntr","onUpload","$busyOverlayMsg","reInvalidChr","load","onIframeChange","contents","msgs","isSPBusyAnimation","$doc","readyState","err","spcontrolupload_init_done","form","alert","$fileInput","filePath","fileExt","icon","lastIndexOf","pop","left","outline","-moz-opacity","font-size","z-index","pageX","width","pageY","blur","isSameUrlPage","formOnSubmit","$nameField","onsubmit","allowFormToContinue","contentWindow","unload","u1","u2","normalize","urlString","url1","url2","logit","$output","c","isNative","bgColor","dialog","getSiteListCollection","lists","$siteLists","$thisList","getUserProfile","wsCall","Me","otherAttr","$xmlDoc","profile","$prop","SPWidgets","escapeXML","unEscapeXML","SPGetDateString","getRuntimeInfo","Info","fn","jQueryUI","jQueryUICss","asString","info","$testObj","testInfo","SPAPI","SPShowBoard","SPDateField","SPLookupField","pickSPUser","SPFilterPanel","SPControlUpload","SPGetMsgError","SPMsgHasError","pluginName","pluginContructor","unshift","d","cssText","createTextNode"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jquery.SPWidgets.min.js","sources":["jquery.SPWidgets.js"],"names":["src_spapi_getSiteUrl","src_sputils_cache","src_spapi_getList","src_sputils_doesMsgHaveError","src_spapi_getListFormCollection","src_sputils_getNodesFromXml","src_spapi_getListItems","src_sputils_getMsgError","src_spapi_updateListItems","src_sputils_fillTemplate","src_uiutils_makeSameHeight","src_uiutils_addHoverEffect","text_src_boardWidget_boardhtml","less_src_boardWidget_board","src_boardWidget_board","text_src_dateFieldWidget_dateFieldhtml","src_sputils_getDateString","src_sputils_parseDateString","less_src_dateFieldWidget_dateField","src_dateFieldWidget_dateField","text_src_lookupFieldWidget_lookupFieldhtml","src_sputils_getCamlLogical","src_sputils_parseLookupFieldValue","src_sputils_xmlEscape","less_src_lookupFieldWidget_lookupField","src_lookupFieldWidget_lookupField","text_src_peoplePickerWidget_peoplePickerhtml","src_spapi_searchPrincipals","src_spapi_resolvePrincipals","less_src_peoplePickerWidget_peoplePicker","src_peoplePickerWidget_peoplePicker","text_src_filterPanelWidget_filterPanelhtml","text_src_filterPanelWidget_filterPanelColumnhtml","text_src_filterPanelWidget_filterPanelChoiceFieldhtml","text_src_filterPanelWidget_filterPanelTextFieldhtml","less_src_filterPanelWidget_filterPanel","src_filterPanelWidget_filterPanel","text_src_uploadWidget_uploadhtml","src_sputils_getSPVersion","less_src_uploadWidget_upload","src_uploadWidget_upload","src_spapi_getSiteListCollection","src_spapi_getUserProfile","src_SPWidgets","factory","define","amd","jQuery","jquery","$","getSiteUrl","getFullUrl","pageAddress","charAt","length","indexOf","document","location","protocol","hostname","Number","port","siteUrl","pageUrl","page","isThisPage","errorMessage","href","substr","Error","_spPageContextInfo","webServerRelativeUrl","L_Menu_BaseUrl","ajax","type","cache","async","url","host","data","contentType","dataType","success","xDoc","find","text","cacheData","fnCaller","key","value","get","set","clear","clearAll","isCached","hasOwnProperty","getList","getListData","callerFn","apply","this","arguments","defaults","listName","webURL","cacheXML","completefunc","opt","reqPromise","options","extend","cacheKey","isFunction","then","textStatus","jqXHR","Deferred","dfd","done","resolveWith","fail","rejectWith","promise","doesMsgHaveError","xmlMsg","$msg","spErrCode","response","each","getListFormCollection","getData","xdata","status","complete","getNodesFromXml","getNodeAsObj","nodeList","i","j","nodeName","asJQuery","cleanAttr","nodes","getElementsByTagName","ele","name","x","y","attrs","attributes","row","replace","___xmlNode","push","getListItems","getRows","viewName","CAMLViewFields","CAMLQuery","CAMLRowLimit","CAMLQueryOptions","operation","changeToken","join","rows","responseXML","getMsgError","xMsg","error","spErr","count","thisErr","parent","children","not","getUpdateArray","processArrayOfObjects","updArray","col","thisUpd","updates","counter","updateType","processArrayOfArrays","isArray","ofType","ID","valuepairs","updateListItems","batchCmd","_updates","test","beforeSend","xhr","setRequestHeader","call","always","message","httpData","xhrRequest","statusText","updateOnError","fillTemplate","tmplt","item","tokenVal","template","String","append","html","tokens","match","makeSameHeight","pad","cssProp","h","e","thisEle","css","outerHeight","addHoverEffect","hasClass","addClass","mouseenter","toggleClass","mouseleave","undefined","boardTemplate","showBoard","Board","maxColumns","list","field","fieldFilter","optionalLabel","allowFieldBlanks","showColPicker","colPickerLabel","colPickerVisible","colPickerCloseLabel","colPickerApplyLabel","colPickerCheckLabel","colPickerTotalLabel","colPickerMaxColMsg","colPickerMinColMsg","onGetListItems","onPreUpdate","onBoardCreate","height","containers","args","Array","prototype","slice","retVal","isMethod","hasBoard","method","board","toLowerCase","_getListItems","showItemsOnBoard","refresh","setBoardColumnHeight","setUserDefinedVisibleCol","getBoardColumnList","states","statesMap","tmpltHeader","tmpltState","statesCntr","headersCntr","listItems","initDone","formUrls","isStateRequired","maxColumnVisible","showNumberOfColumns","getBoardStates","xData","resp","f","_origField","attr","title","split","thisChoice","grep","console","log","$rows","thisRow","thisId","thisTitle","thisName","resolveDeferred","rawResponse","items","getBoardItemDataObject","itemId","id","itemObject","createNewItem","itemDataObj","$uiEle","newItem","thisListRow","itemsForBoard","thisRowState","thisOpt","doBoardInsert","newItems","delItems","chgItems","boardItemCntr","thisRowID","evData","headerTotalEle","dataEle","empty","closest","appendTo","remove","end","removeClass","sortable","disableSelection","getEventObject","itemsModified","trigger","updBoardHeaders","state","uiItemEle","evObj","stateTotals","itemTotal","currentState","itemObj","getListFormUrl","loadFormCollection","$thisForm","colList","isValidColumn","colName","showAll","colDef","inArray","isVisible","headerEle","setBoardColumnClass","triggerBoardColumnChangeEvent","colCount","$colCntr","add","parseInt","columns","defObj","setupColumnPicker","$colList","$colFooter","Picker","$totalCntr","setTotalSelected","total","getSelected","showMessage","msg","fadeOut","setSelected","$columns","$thisCol","filter","selectColumn","colEle","unSelect","$a","$icon","setVisibleColumns","$selected","colNum","selector","columnName","triggerEvent","button","label","icons","secondary","on","hide","primary","$sel","$btn","is","show","position","my","at","of","$cntr","min-height","clone","v","ev","ui","updatePromise","target","$actionEle","currentTarget","action","gotoUrl","thisPageUrl","encodeURIComponent","window","thisState","connectWith","siblings","containment","cursor","tolerance","opacity","placeholder","forcePlaceholderSize","failureMsg","getDateString","dateObj","formatType","n","Date","ret","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","parseDateString","dateString","re","dtPieces","numericKeys","minOffset","dtObj","parse","UTC","dateFieldTemplate","dateField","SPDate","isInitDone","evNamespace","allowMultiples","delimeter","remainOpen","datepicker","dateFormat","buttonImage","showOn","buttonImageOnly","dateTemplate","showTimepicker","timeFormat","timeUTC","labelHour","labelMinutes","labelAMPM","labelTime","labelSet","onSelect","arg","inputEle","onPageClick","thisInput","$this","Inst","setDate","date","format","removeDate","reset","destroy","$ele","isInline","inlineCntr","$ui","insertAfter","eleOrigVal","val","$input","$inputCntr","$dtCntr","input","dates","change","setDateOpt","dtShowObj","time","setDatepicker","eleVal","dtShow","dt","dt1","dt2","parseDate","formatDate","_timeFmt","$timepicker","formatTime","updateDateTimeWidgets","removeDateOpt","eleDtObj","dt1Regex","RegExp","removeData","$timePicker","off","createDatePicker","wdg","$selectorCntr","$datePicker","$setButton","$hourSelect","$minSelect","$ampmSelect","heightDone","firstShowDone","getTime","hour","minutes","ampm","hour24","timeObj","timeFormated","setDateTime","setHours","setMinutes","execUsersCallback","newDate","tmpVal","showPicker","currentDate","dateText","dtPickerObj","_onSelect","altFormat","altField","numberOfMonths","dtPicker","currentYear","currentMonth","currentDay","stopPropagation","preventDefault","showAnim","settings","setTimeout","$dtItem","$allSelectors","$clickArea","contains","documentElement","getCamlLogical","o","values","onEachValue","tagOpen","tagClose","logical","last","haveFn","newLogical","totalBuilt","toUpperCase","toString","parseLookupFieldValue","t","r","a","exports","escape","xmlString","unescape","lookupFieldTemplate","xmlEscape","lookupField","Lookup","_isLookupbodyEventDone","inputLabel","inputPlaceholder","readOnly","exactMatch","uiContainer","selectFields","filterFields","filterOrderBy","listTemplate","listHeight","onItemAdd","onItemRemove","onReady","msgNoItems","maxResults","minLength","hideInput","padDelimeter","showSelector","cmd","cmdOpt","$rmItems","_selectedItemsCntr","removeItem","addItem","_ele","showSelectedItems","doNotStoreIds","itemCntr","itemList","wasUpdated","thisItemUI","_cntr","fadeIn","storeItemIDs","_lookupInputEleCntr","ids","newItemValue","trim","isPadDone","thisID","showCurrentInputSelection","s","_selectFields","arrayOfCurrentItems","addToAutocompleteCache","getItemObjectFromCache","_autocompleteCache","_lookupInputEle","_ignoreKeywordsRegEx","_selectorCntr","_queryInitDone","doSelectorDataInit","click","_templateTokens","thisToken","autocomplete","open","source","request","term","termCacheName","filterItems","keywords","m","fieldFilters","camlFilter","thisDt","select","u","which","htmlEle","cntr","store","focus","strItems","newVal","$resultsCntr","nextPageToken","isLoading","hasMorePages","$lastPage","queryXml","getListRows","$page","insertBefore","$nextPage","$rsData","eq","rowsHtml","$e","hover","thisRowIndex","scrollTop","top","searchPrincipals","searchText","principalType","resolvePrincipals","principalKeys","addToUserInfoList","principalXml","hasStringTag","peoplePickerTemplate","peoplePicker","People","maxSearchResults","onPickUser","onCreate","onRemoveUser","meKeyword","meKeywordLabel","filterSuggestions","handleAction","eleUserInput","eleSelected","removeUser","elePickInput","isUserAlreadySelected","addPeopleToList","peopleString","noEvents","user","curUsers","getUserHtmlElement","$thisUserUI","thisUserName","searchString","getSearchResults","personName","displayName","storeListOfUsers","accountId","accountName","accountType","thisUser","email","addToSelectionList","$newPersonUI","Event","xmlDoc","principalInfo","$thisPrincipalInfo","$personUI","personObj","doRemove","isDone","thisUserString","next","rmEle","filterPanelTemplate","filterPanelColumnTemplate","filterPanelChoiceFieldTemplate","filterPanelTextFieldTemplate","lookupFieldWidget","peoplePickerWidget","dateFieldWidget","filterPanel","Filter","textFieldTooltip","peopleFieldTooltip","definedClass","showFilterButton","showFilterButtonTop","filterButtonLabel","onFilterClick","onReset","ignoreKeywords","getFilterValues","setFilterValues","doResetFilter","$uiFilterSortCntr","$uiFilterColumnCntr","$uiSortButtons","getListDefinition","showSortOrder","showFilterColumns","buildWidget","$list","colUI","thisColUI","inputUI","model","otherFilterTypes","sp_type","sp_format","Name","DisplayName","input_ui","tooltip","$field","peopleType","allowMultiple","$column","$btnCntr","prependTo","onFilterButtonClick","onFilterTypeChange","onFilterInputChange","resolve","reject","$col","isColumnDirty","$logicalType","$colValCntr","$colInput","inputVal","eleValue","moveColumn","removeAttr","filters","prop","getColumnCAMLQuery","colFilterObj","logicalType","filterVal","matchType","CAMLOrderBy","URLParams","$cols","colFilters","orderByValues","thisColFilter","ColumnFilter","sortOrder","colType","thisColUrlParam","$checkbox","checkboxVal","lookupIDs","$lookup","lookupVals","thisKeyword","param","isEmptyObject","column","$colUI","$match","$sortOrder","thisFilter","colVal","inst","Column","newCol","moveUp","$allCols","colIndex","index","prev","getSPVersion","returnExternal","versionMap",12,14,15,"version","foundIt","SP","ClientSchemaVersions","currentVersion","webUIVersion","uploadTemplate","upload","Upload","folderPath","uploadDonePage","onPageChange","onUploadDone","uploadUrlOpt","overwrite","uploadPage","overlayClass","overlayBgColor","overlayMessage","selectFileMessage","uploadDoneMessage","fileNameErrorMessage","noFileErrorMessage","checkInFormHeight","debug","filenameInputSelector","overlayCss","showHideBusy","$busyOverlay","showHideFullForm","$content","$iframeCntr","overflow","showHideSuccess","$successCntr","stop","showError","showErrorOptions","autoHide","$errorCntrMsg","$errorCntr","animate","clearError","resetWidget","hideOverlay","isUploadDone","file","$iframe","getUploadedFileRow","lastFile","isUploadPage","answer","parser","createElement","parser2","userUploadPage","pathname","getListUID","spVersion","_iframeLoadId","_uploadUrlParams","_lastError","_reloadCount","$buttonCntr","onUpload","$busyOverlayMsg","reInvalidChr","load","onIframeChange","contents","msgs","isSPBusyAnimation","$doc","readyState","err","spcontrolupload_init_done","form","alert","$fileInput","filePath","fileExt","icon","lastIndexOf","pop","left","outline","-moz-opacity","font-size","z-index","pageX","width","pageY","blur","isSameUrlPage","formOnSubmit","$nameField","onsubmit","allowFormToContinue","contentWindow","unload","u1","u2","normalize","urlString","url1","url2","logit","$output","c","isNative","bgColor","dialog","getSiteListCollection","lists","$siteLists","$thisList","listDef","getUserProfile","wsCall","Me","$xmlDoc","profile","$prop","SPWidgets","escapeXML","unEscapeXML","SPGetDateString","getRuntimeInfo","Info","fn","jQueryUI","jQueryUICss","asString","me","info","$testObj","testInfo","SPAPI","SPShowBoard","SPDateField","SPLookupField","pickSPUser","SPFilterPanel","SPControlUpload","SPGetMsgError","SPMsgHasError","pluginName","pluginContructor","unshift","d","cssText","createTextNode"],"mappings":"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"} \ No newline at end of file