{ "version": 3, "sources": ["common.js"], "sourcesContent": ["\uFEFF/************************************************************************/\r\n/* Debug functions */\r\n/************************************************************************/\r\nassert = function (condition, message) {\r\n if (false == condition){\r\n alert(message);\r\n }\r\n}\r\n\r\n/************************************************************************/\r\n/* Common functions */\r\n/************************************************************************/\r\n\r\nfunction showLoading(container) {\r\n container.html(\r\n \"
\\r\\n
\\r\\n
Loading
\\r\\n
\\r\\n

\\r\\n
\");\r\n}\r\n\r\nCheckTimeStr = function (d) {\r\n return !isNaN(Date.parse(d));\r\n}\r\n\r\nStr2TimeStr = function (datetimestr, onlydate) {\r\n /// \r\n /// \u5C06.Net\u65F6\u95F4\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u53EF\u8BFB\u7684\u65F6\u95F4\u5B57\u7B26\u4E32\u8FD4\u56DE\r\n /// \r\n /// \r\n /// \u5F85\u8F6C\u6362\u7684\u8868\u793A\u65F6\u95F4\u7684\u5B57\u7B26\u4E32\uFF0C\u6709\u4E24\u79CD\u60C5\u51B5\uFF1A\r\n /// \"/Date(1372778537000)/\"\uFF0C\u53BB\u6389\u524D6\u4E2A\u5B57\u7B26\u8FDB\u884CparseInt\u5C31\u884C\r\n /// \"2016-3-27 19:18:55\"\uFF0C\r\n /// \r\n /// \r\n /// \u8F6C\u6362\u540E\u7684\u65F6\u95F4\u7684\u7C7B\u578B\uFF0C\u56FD\u5916\u7684(\u975E0)\uFF0C\u8FD4\u56DE\u503C\u7C7B\u4F3C \"26/06/2013 00:00:00\"\r\n /// \u56FD\u5185\u7684(0)\uFF0C\u8FD4\u56DE\u503C\u7C7B\u4F3C\"2013\u5E746\u67082\u65E5 23:22:23\"\r\n /// \r\n /// \r\n /// \u8F6C\u6362\u540E\u7684\u65F6\u95F4\u7684\u7C7B\u578B\u957F\u5EA6\r\n /// \u53EA\u6709\u65E5\u671F(true)\uFF0C\u8FD4\u56DE\u503C\u7C7B\u4F3C \"26/06/2013\" \"2013\u5E746\u67082\u65E5\"\r\n /// \u6709\u65E5\u671F\u548C\u65F6\u95F4(false)\uFF0C\u8FD4\u56DE\u503C\u7C7B\u4F3C \"26/06/2013 00:00:00\" \"2013\u5E746\u67082\u65E5 23:22:23\"\r\n /// \r\n /// \r\n var dateTime;\r\n if(datetimestr.substr(0, 6) === \"/Date(\")\r\n dateTime = new Date(parseInt(datetimestr.substr(6)));\r\n else if (CheckTimeStr(datetimestr)) {\r\n dateTime = new Date(datetimestr);\r\n } else {\r\n assert(false, \"\u65F6\u95F4\u683C\u5F0F\u6709\u8BEF\");\r\n return datetimestr;\r\n }\r\n var year = dateTime.getFullYear();\r\n var month = dateTime.getMonth() + 1; //getMonth()\u8FD4\u56DE\u7684\u503C\u4E3A0~11\r\n var day = dateTime.getDate();\r\n var hour = dateTime.getHours();\r\n if (hour < 10) {\r\n hour = '0' + hour;\r\n }\r\n var min = dateTime.getMinutes();\r\n if (min < 10) {\r\n min = '0' + min;\r\n }\r\n if (onlydate) {\r\n return year + '-' + month + '-' + day;\r\n }\r\n else {\r\n return year + '-' + month + '-' + day + ' ' + hour + ':' + min;\r\n }\r\n}\r\n\r\nString.prototype.hashCode = function () {\r\n var hash = 0, i, chr, len;\r\n if (this.length == 0) return hash;\r\n for (i = 0, len = this.length; i < len; i++) {\r\n chr = this.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n};\r\n\r\n// ReSharper disable once NativeTypePrototypeExtending\r\nString.prototype.endsWith = function (suffix) {\r\n return this.indexOf(suffix, this.length - suffix.length) !== -1;\r\n};\r\n\r\nfunction InitDisplayDate() {\r\n $('.display-date').text(function(i, t) {\r\n const date = new Date(t);\r\n return new Date(date.getTime() - (date.getTimezoneOffset() * 60000 ))\r\n .toISOString()\r\n .split(\"T\")[0];\r\n });\r\n}\r\n\r\n// MsgBox\r\n(function () {\r\n function showMsgBox(header, content, fullScreen) {\r\n\t\t if (!content) return;\r\n const box = $('#MsgBox');\r\n const headerElement = box.children('.header');\r\n const contentElement = box.children('.content');\r\n if (fullScreen) {\r\n box.addClass('fullscreen');\r\n contentElement.addClass('scrolling');\r\n } else {\r\n box.removeClass('fullscreen');\r\n contentElement.removeClass('scrolling');\r\n }\r\n\t\t headerElement.text('');\r\n\t\t contentElement.html('');\r\n headerElement.text(header || ZCText.Message);\r\n contentElement.html(content);\r\n box.modal({closable: false}).modal('show');\r\n }\r\n\r\n function showFullscreenMsgBox(header, content) {\r\n showMsgBox(header, content, true);\r\n }\r\n\r\n ZCEvent.MsgBox = showMsgBox;\r\n ZCEvent.ShowFullscreenMsgBox = showFullscreenMsgBox;\r\n})();\r\n\r\n// go back\r\n(function () {\r\n // To enable support for HTML5-History-API polyfill in your library\r\n var location = window.history.location || window.location;\r\n\r\n // hang on popstate event triggered by pressing back/forward in browser\r\n $(window).on('popstate', function (e) {\r\n var event = e.originalEvent;\r\n var state = event.state;\r\n if (state == null) {\r\n return;\r\n }\r\n var src = state.src;\r\n ZCEvent.LoadMain(src);\r\n console.log(\"LoadMain with \" + src);\r\n });\r\n})();\r\n\r\n// init links\r\n(function () {\r\n var _InitLinkInSide = function (container) {\r\n // looking for all the links and hang on the event, all references in the container\r\n $(container).on('click', '*[data-src]', function () {\r\n //TODO If data-src links to the current page, don't do anything.\r\n var src = $(this).data(\"src\");\r\n if (!src) return false;\r\n\r\n history.pushState({ \"src\": src }, null, src);\r\n\r\n ZCEvent.LoadMain(src);\r\n\r\n return false;\r\n });\r\n\r\n }\r\n ZCEvent.InitLinkInSide = _InitLinkInSide;\r\n}());\r\n\r\n\r\n//dynamic message\r\n(function() {\r\n\r\n function setMessage(messageElement, type, header, content) {\r\n let messageClass = null;\r\n let iconClass = 'info';\r\n if (type === 'error') {\r\n messageClass = 'error';\r\n iconClass = 'red exclamation circle';\r\n }\r\n else if (type === 'warning') {\r\n messageClass = 'warning';\r\n iconClass = 'yellow exclamation triangle';\r\n }\r\n else if (type === 'loading') {\r\n iconClass = 'notched circle loading';\r\n } else if(type === 'positive'){\r\n messageClass = 'positive';\r\n iconClass = 'green check circle';\r\n } else if(type === 'negative'){\r\n messageClass = 'negative';\r\n iconClass = 'red minus circle';\r\n } else if (type === 'info') {\r\n messageClass = 'info';\r\n iconClass = 'comment';\r\n }\r\n\r\n $(messageElement).removeClass('error warning loading positive negative info');\r\n if (messageClass) {\r\n $(messageElement).addClass(messageClass);\r\n }\r\n\r\n const html =\r\n`\r\n
\r\n
${header}
\r\n

${content}

\r\n
`;\r\n $(messageElement).html(html);\r\n $(messageElement).removeClass('hidden');\r\n }\r\n\r\n function clearAndHideMessage(messageElement) {\r\n $(messageElement).html('');\r\n $(messageElement).addClass('hidden');\r\n }\r\n\r\n ZCEvent.SetMessage = setMessage;\r\n ZCEvent.ClearAndHideMessage = clearAndHideMessage;\r\n}());\r\n\r\n(function () {\r\n function showCountDown(second, formatFunc, container) {\r\n const msg = $(`
${formatFunc(second)}
`);\r\n container.append(msg);\r\n const countId = setInterval(() => {\r\n second--;\r\n if (second < 0) {\r\n clearInterval(countId);\r\n msg.remove();\r\n }\r\n msg.text(`${formatFunc(second)}`);\r\n }, 1000);\r\n }\r\n ZCEvent.ShowCountDown = showCountDown;\r\n}());"], "mappings": "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", "names": ["condition", "message", "container", "d", "datetimestr", "onlydate", "dateTime", "year", "month", "day", "hour", "min", "hash", "i", "chr", "len", "suffix", "date", "showMsgBox", "header", "content", "fullScreen", "box", "headerElement", "contentElement", "showFullscreenMsgBox", "location", "e", "event", "state", "src", "_InitLinkInSide", "setMessage", "messageElement", "type", "messageClass", "iconClass", "html", "clearAndHideMessage", "showCountDown", "second", "formatFunc", "msg", "countId"] }