This commit is contained in:
lchen committed 2024-03-26 15:56:31 +08:00
1 parent 634e8b71ab
commit 0855ae42cd
547 files changed
+94818 -60463

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
var $assetalertfilter = function (id) {
this.containerId = id;
this.title = GetTextByKey("P_XXX", 'Asset Alert Filter Templates');
this.title = GetTextByKey("P_WO_ASSETALERTFILTERTEMPLATES", 'Asset Alert Filter Templates');
this.onOK = null;
this.onDialogClosed = null;
this.includechild = true;
+15 -12
View File
@@ -18,8 +18,11 @@
var __proto = $assetselector.prototype;
function initMachinesGrid(parent) {
var grid = new GridView(parent);
grid.lang = {
var gv = GridView;
if (typeof GridView1 !== 'undefined')//兼容FIC的旧的GridView
gv = GridView1
var grid = new gv(parent);
grid.langs = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
@@ -224,12 +227,12 @@
var filterdiv = $('<div style="margin: 4px 0 0 10px; float: left; line-height: 25px"></div>').appendTo(content);
$('<label style="margin-left:5px;margin-right:5px;"></label>').text(GetTextByKey("P_JS_ASSETGROUP", 'Asset Group')).appendTo(filterdiv);
this.selgroup = $('<select style="width:120px;height:22px;"></select>').change(onSearch.bind(this)).appendTo(filterdiv);
getAssetGroups(this.selgroup);
$('<label style="margin-left:5px;margin-right:5px;"></label>').text(GetTextByKey("P_XXXXXX", 'Jobsite')).appendTo(filterdiv);
getAssetGroups(this.selgroup, this.companyId || "");
$('<label style="margin-left:5px;margin-right:5px;"></label>').text(GetTextByKey("P_SELECTASSETS_JOBSITE", 'Jobsite')).appendTo(filterdiv);
this.seljs = $('<select style="width:120px;height:22px;"></select>').change(onSearch.bind(this)).appendTo(filterdiv);
$('<label style="margin-left:5px;margin-right:5px;"></label>').text(GetTextByKey("P_XXXXXX", 'Jobsite Code')).appendTo(filterdiv);
$('<label style="margin-left:5px;margin-right:5px;"></label>').text(GetTextByKey("P_SELECTASSETS_JOBSITECODE", 'Jobsite Code')).appendTo(filterdiv);
this.seljscode = $('<select style="width:120px;height:22px;"></select>').change(onSearch.bind(this)).appendTo(filterdiv);
getJobSites(this.seljs, this.seljscode);
getJobSites(this.seljs, this.seljscode, this.companyId || "");
}
$('<div style="clear: both"></div>').appendTo(content);
@@ -241,7 +244,7 @@
$('<input type="button" value="' + GetTextByKey("P_SELECTASSETS_OK", "OK") + '" />').click(onOKClick.bind(this)).appendTo(dialogFunction);
$('<div class="clear"></div>').appendTo(dialogFunction);
$('<div class="maskbg" style="display: none"><div class="loading_icon c-spin"></div></div>').appendTo(dialog);
$('<div class="maskbg" style="display: none"><div class="loading c-spin"></div></div>').appendTo(dialog);
// init
initMachinesGrid.call(this, this.machineList);
@@ -357,7 +360,7 @@
if (exceptShareAsset && it.ShareStatus == 2)
continue;
if (excepts == null || !hasMachine(it.Id, excepts)) {
items.push({ Values: it });
items.push(it);
}
}
gridAssets.setData(items);
@@ -379,8 +382,8 @@
this.dialog.hideDialog();
}
function getAssetGroups(ctrl) {
devicerequest('GetMachineGroups', '' + String.fromCharCode(170) + '', function (data) {
function getAssetGroups(ctrl, companyId) {
devicerequest('GetMachineGroups', companyId + String.fromCharCode(170) + '', function (data) {
if (typeof data === 'string') {
return;
}
@@ -394,8 +397,8 @@
});
}
function getJobSites(ctrl, ctrl1) {
jobsiterequest('GetJobSiteDataSource', '', function (data) {
function getJobSites(ctrl, ctrl1, companyId) {
jobsiterequest('GetJobSiteDataSource', companyId, function (data) {
if (typeof data === 'string') {
return;
}
+18 -22
View File
@@ -6,13 +6,18 @@ if (typeof ($assetsummary) != "function") {
var infowindowScrollTop = 0;
var assetInfoCache = [];
var assetExtCache = [];
$assetsummary = function (p, cid, assetid, alerttips, type, assets) {//type 0.left;1.bottom
function clearAssetsummaryCache() {
assetInfoCache = [];
assetExtCache = [];
}
$assetsummary = function (p, cid, assetid, viewalerttypes, alerttips, type, assets) {//type 0.left;1.bottom
if (typeof p === "string")
p = $("#" + p);
if (!p)
p = document;
this.companyid = cid || "";
this.assetid = assetid;
this.viewalerttypes = viewalerttypes;
this.alerttips = alerttips;
this.type = type;
this.assets = assets;
@@ -378,16 +383,17 @@ if (typeof ($assetsummary) != "function") {
div_summary.append(br);
if (asset.Description && asset.Description !== "") {
asset.Description = replaceHtmlText(asset.Description);
b = $('<b>' + GetTextByKey("P_MV_DESCRIPTION_COLON", "Description:") + ' </b>');
div_summary.append(b);
label = $('<label></label>').html(asset.Description);
//label = $('<label></label>').html(replaceHtmlText(asset.Description));
label = $('<label></label>').text(asset.Description);
div_summary.append(label).append(br).append(br);
}
if (_this.alerttips && _this.alerttips !== "") {
var atips = replaceHtmlText(_this.alerttips)
label = $('<label></label>').html(atips);
//var atips = replaceHtmlText(_this.alerttips)
//label = $('<label></label>').html(atips);
label = $('<label></label>').text(_this.alerttips);
div_summary.append(label).append(br);
}
if (canViewAlertsManagement) {
@@ -481,24 +487,20 @@ if (typeof ($assetsummary) != "function") {
if (j === "AlertLocalTime")
r[j] = { DisplayValue: r["AlertLocalTimeStr"], Value: r[j] };
}
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
_this.grid_alertsdt.setData(rows);
if (_this.grid_alertsdt)
_this.grid_alertsdt.setData(rows);
}
function InitAlertsGridData() {
_this.grid_alertsdt = new GridView('#divalertgrid_' + _this.ctrlindex);
_this.grid_alertsdt.lang = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
};
if ($('#divalertgrid_' + _this.ctrlindex).length < 1) return;
_this.grid_alertsdt = createGridView('#divalertgrid_' + _this.ctrlindex);
var list_columns = [
{ name: 'AlertLocalDateStr', caption: GetTextByKey("P_MV_DATE", "Date"), valueIndex: 'AlertLocalDateStr', css: { 'width': 70, 'text-align': 'left' } },
{ name: 'AlertLocalTimeStr', caption: GetTextByKey("P_MV_TIME", "Time"), valueIndex: 'AlertLocalTimeStr', css: { 'width': 75, 'text-align': 'left' } },
{ name: 'Level', caption: GetTextByKey("P_MV_LEVEL", "Level"), valueIndex: 'Level', css: { 'width': 60, 'text-align': 'left' } },
{ name: 'AlertType', caption: GetTextByKey("P_AM_ALERTTYPE", "Alert Type"), valueIndex: 'AlertType', css: { 'width': 60, 'text-align': 'left' } },
{ name: 'Description', caption: GetTextByKey("P_MV_DESCRIPTION", "Description"), valueIndex: 'Description', css: { 'width': 200, 'text-align': 'left' } }
];
var columns = [];
@@ -518,12 +520,6 @@ if (typeof ($assetsummary) != "function") {
_this.grid_alertsdt.canMultiSelect = false;
_this.grid_alertsdt.columns = columns;
_this.grid_alertsdt.init();
_this.grid_alertsdt.selectedrowchanged = function (rowindex) {
var rowdata = _this.grid_alertsdt.source[rowindex];
if (rowdata) {
}
}
}
function devicerequest(method, param, callback, error) {
@@ -583,7 +579,7 @@ if (typeof ($assetsummary) != "function") {
return;
}
_this.showLoading();
devicerequest('GetAssetExtInfo', _this.companyid + String.fromCharCode(170) + _this.assetid, function (data) {
devicerequest('GetAssetExtInfo', _this.companyid + String.fromCharCode(170) + _this.assetid + String.fromCharCode(170) + (_this.viewalerttypes || ""), function (data) {
_this.hideLoading();
if (typeof data === 'string') {
return;
+1 -1
View File
@@ -1 +1 @@
:root{--hover-bg-color: lightyellow;--header-border-color: #edebe9;--header-bg-color: #fafafa;--header-color: #000;--cell-color: #333;--cell-border-color: #f0f0f0;--dark-border-color: #666;--split-border-color: #b3b3b3;--dragger-bg-color: #fff;--row-bg-color: #fff;--row-hover-bg-color: #fafafa;--row-selected-bg-color: #e6f2fb;--text-disabled-color: gray;--total-split-color: #e0e0e0;--total-border-color: #ccc;--total-bg-color: #aaa;--cell-link-color: #0000ff;--loading-bg-color: hsla(0, 0%, 100%, .4);--loading-fore-color: rgba(0, 0, 0, .2);--font-size: .8125rem;--font-family: "Franklin Gothic Book", "San Francisco", "Segoe UI", "Open Sans", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei UI", sans-serif;--line-height: 40px;--cell-line-height: 1.8em;--text-indent: 2px;--header-line-height: 36px;--total-line-height: 1.8em;--loading-transition: visibility 0s linear .12s, opacity .12s ease;--loading-size: 80px;--loading-border-radius: 20px;--arrow-size: 4px;--filter-top: 20%;--filter-width: 10px;--filtered-width: 14px;--filtered-right: 12px;--filtered-arrow-size: 12px;--split-width: 8px;--dragger-size: 20px;--dragger-opacity: 0.4;--dragger-cursor-size: 4px;--dragger-cursor-opacity: 0.6;--header-padding: 4px 12px 4px 8px;--header-filtered-padding-right: 28px;--spacing-s: 4px;--spacing-cell: 5px 4px 5px 8px;--spacing-header: 27px;--cell-button-padding: 6px 10px;--cell-button-color: #0078d4;--cell-button-border-bottom: 1px solid lightgray;--group-padding-left: 6px;--group-line-height: 22px;--group-icon-size: 24px;--group-icon-hover-color: #ccc;--ml-icon-size: 14px;--ml-icon-right: 4px;--ml-icon-margin-top: -8px}.data-grid-fixed{position:absolute;top:0;border-bottom:none}.data-grid-fixed .data-grid-body{overflow:hidden}.data-grid{position:relative;box-sizing:border-box}.data-grid:focus{outline:none}.data-grid,.data-grid input[type=text]{font-size:var(--font-size);font-family:var(--font-family)}.data-grid .data-grid-size-holder{position:absolute;white-space:nowrap;font-weight:bold;visibility:hidden}.data-grid .data-grid-hover-holder{box-sizing:border-box;position:absolute;min-height:var(--line-height);line-height:var(--cell-line-height);padding:var(--spacing-cell);background-color:var(--hover-bg-color);border:none;white-space:pre;display:flex;align-items:center}.data-grid .data-grid-table-header,.data-grid .data-grid-table-total,.data-grid .data-grid-table-total-row{width:100%;min-width:100%;margin:0;border:none;border-collapse:collapse;border-spacing:0;table-layout:fixed;position:relative}.data-grid .data-grid-table-header{table-layout:auto}.data-grid .data-grid-table-header th div{line-height:var(--header-line-height);min-height:var(--line-height)}.data-grid .data-grid-table-header th,.data-grid .data-grid-table-total th{padding:0;margin:0;word-wrap:break-word;white-space:normal}.data-grid .data-grid-table-total{width:auto;min-width:100%;float:left}.data-grid .data-grid-table-total th{font-weight:bold}.data-grid .data-grid-table-total-row>tr{line-height:var(--total-line-height)}.data-grid,.data-grid .data-grid-header{overflow:hidden}.data-grid .data-grid-header{border-bottom:1px solid var(--header-border-color);background-color:var(--header-bg-color);color:var(--header-color);-moz-user-select:none;user-select:none;-webkit-user-select:none;height:var(--header-line-height);white-space:nowrap}.data-grid .data-grid-header .data-column-header{font-weight:bold;position:relative;padding:0}.data-grid .data-grid-header .data-column-header-text{padding:var(--header-padding);box-sizing:border-box}.data-grid .data-grid-header .data-column-sub-header-text{height:100%;float:left;padding:var(--spacing-s);box-sizing:border-box;text-align:center}.data-grid .data-grid-header .arrow{width:0;height:0;top:50%;margin-top:calc(0px - var(--arrow-size)/2);right:calc(var(--arrow-size)/2);position:absolute}.data-grid .data-grid-header .arrow.asc{border-bottom:var(--arrow-size) solid var(--dark-border-color)}.data-grid .data-grid-header .arrow.desc{border-top:var(--arrow-size) solid var(--dark-border-color)}.data-grid .data-grid-header .arrow.asc,.data-grid .data-grid-header .arrow.desc{border-left:var(--arrow-size) solid rgba(0,0,0,0);border-right:var(--arrow-size) solid rgba(0,0,0,0)}.data-grid .data-grid-header .data-column-header-filter{position:absolute;top:var(--filter-top);right:0;height:100%;width:var(--filter-width)}.data-grid .data-grid-header .data-column-header-filter.filtered .no-filter,.data-grid .data-grid-header .data-column-header-filter.no-filter .filtered{display:none}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-filter{top:0;right:var(--filtered-right);width:var(--filtered-width)}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-filter .arrow{width:var(--filtered-arrow-size);height:100%;margin-top:0;top:0;border:none}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-text{padding-right:var(--header-filtered-padding-right)}Line truncated
:root{--hover-bg-color: lightyellow;--header-border-color: #edebe9;--header-bg-color: #fafafa;--header-color: #000;--cell-color: #333;--cell-border-color: #f0f0f0;--dark-border-color: #666;--split-border-color: #b3b3b3;--dragger-bg-color: #fff;--row-bg-color: #fff;--row-hover-bg-color: #fafafa;--row-selected-bg-color: #e6f2fb;--text-disabled-color: gray;--total-split-color: #e0e0e0;--total-border-color: #ccc;--total-bg-color: #aaa;--cell-link-color: #0000ff;--loading-bg-color: hsla(0, 0%, 100%, .4);--loading-fore-color: rgba(0, 0, 0, .2);--font-size: .8125rem;--font-family: "Franklin Gothic Book", "San Francisco", "Segoe UI", "Open Sans", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei UI", sans-serif;--line-height: 40px;--cell-line-height: 1.8em;--text-indent: 2px;--header-line-height: 36px;--total-line-height: 1.8em;--loading-transition: visibility 0s linear .12s, opacity .12s ease;--loading-size: 80px;--loading-border-radius: 20px;--arrow-size: 4px;--filter-top: 20%;--filter-width: 10px;--filtered-width: 14px;--filtered-right: 12px;--filtered-arrow-size: 12px;--split-width: 8px;--dragger-size: 20px;--dragger-opacity: 0.4;--dragger-cursor-size: 4px;--dragger-cursor-opacity: 0.6;--header-padding: 4px 12px 4px 8px;--header-filtered-padding-right: 28px;--spacing-s: 4px;--spacing-cell: 5px 4px 5px 8px;--spacing-header: 27px;--cell-button-padding: 6px 10px;--cell-button-color: #0078d4;--cell-button-border-bottom: 1px solid lightgray;--group-padding-left: 6px;--group-line-height: 22px;--group-icon-size: 24px;--group-icon-hover-color: #ccc;--ml-icon-size: 14px;--ml-icon-right: 4px;--ml-icon-margin-top: -8px}.data-grid-fixed{position:absolute;top:0;border-bottom:none}.data-grid-fixed .data-grid-body{overflow:hidden}.data-grid{position:relative;box-sizing:border-box}.data-grid:focus{outline:none}.data-grid,.data-grid input[type=text]{font-size:var(--font-size);font-family:var(--font-family)}.data-grid .data-grid-size-holder{position:absolute;white-space:nowrap;font-weight:bold;visibility:hidden}.data-grid .data-grid-hover-holder{box-sizing:border-box;position:absolute;min-height:var(--line-height);line-height:var(--cell-line-height);padding:var(--spacing-cell);background-color:var(--hover-bg-color);border:none;white-space:pre;display:flex;align-items:center}.data-grid .data-grid-table-header,.data-grid .data-grid-table-total,.data-grid .data-grid-table-total-row{width:100%;min-width:100%;margin:0;border:none;border-collapse:collapse;border-spacing:0;table-layout:fixed;position:relative}.data-grid .data-grid-table-header{table-layout:auto}.data-grid .data-grid-table-header th div{line-height:var(--header-line-height);min-height:var(--line-height)}.data-grid .data-grid-table-header th,.data-grid .data-grid-table-total th{padding:0;margin:0;word-wrap:break-word;white-space:normal}.data-grid .data-grid-table-total{width:auto;min-width:100%;float:left}.data-grid .data-grid-table-total th{font-weight:bold}.data-grid .data-grid-table-total-row>tr{line-height:var(--total-line-height)}.data-grid,.data-grid .data-grid-header{overflow:hidden}.data-grid .data-grid-header{background-color:var(--header-bg-color);color:var(--header-color);-moz-user-select:none;user-select:none;-webkit-user-select:none;height:var(--header-line-height);white-space:nowrap}.data-grid .data-grid-header .data-column-header{font-weight:bold;position:relative;padding:0}.data-grid .data-grid-header .data-column-header-text{padding:var(--header-padding);box-sizing:border-box}.data-grid .data-grid-header .data-column-sub-header-text{height:100%;float:left;padding:var(--spacing-s);box-sizing:border-box;text-align:center}.data-grid .data-grid-header .arrow{width:0;height:0;top:50%;margin-top:calc(0px - var(--arrow-size)/2);right:calc(var(--arrow-size)/2);position:absolute}.data-grid .data-grid-header .arrow.asc{border-bottom:var(--arrow-size) solid var(--dark-border-color)}.data-grid .data-grid-header .arrow.desc{border-top:var(--arrow-size) solid var(--dark-border-color)}.data-grid .data-grid-header .arrow.asc,.data-grid .data-grid-header .arrow.desc{border-left:var(--arrow-size) solid rgba(0,0,0,0);border-right:var(--arrow-size) solid rgba(0,0,0,0)}.data-grid .data-grid-header .data-column-header-filter{position:absolute;top:var(--filter-top);right:0;height:100%;width:var(--filter-width)}.data-grid .data-grid-header .data-column-header-filter.filtered .no-filter,.data-grid .data-grid-header .data-column-header-filter.no-filter .filtered{display:none}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-filter{top:0;right:var(--filtered-right);width:var(--filtered-width)}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-filter .arrow{width:var(--filtered-arrow-size);height:100%;margin-top:0;top:0;border:none}.data-grid .data-grid-header .data-column-header-has-filter .data-column-header-text{padding-right:var(--header-filtered-padding-right)}.data-grid .data-grid-header .data-column-header-spLine truncated
+1 -2
View File
@@ -1,2 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("$")):"function"==typeof define&&define.amd?define(["$"],t):"object"==typeof exports?exports["g5-gridview"]=t(require("$")):e["g5-gridview"]=t(e.$)}(this,function(e){return function(e){function t(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,t),s.l=!0,s.exports}var i={};return t.m=e,t.c=i,t.i=function(e){return e},t.d=function(e,i,r){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=24)}({11:function(e,t){e.exports={userAgent:navigator.userAgent.toLowerCase(),isMobile:function(){return/mobile/.test(this.userAgent)},isChrome:function(){return/chrom(e|ium)/.test(this.userAgent)}}},2:function(e,t){e.exports={math:{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}},ui:{getClientX:function(e){if(null==e)return null;null!=e.originalEvent&&(e=e.originalEvent);var t=e.touches&&e.touches[0]&&e.touches[0].clientX;return void 0===t?e.clientX:t},getOffsetLeft:function(e){for(var t=0;e;)t+=e.offsetLeft,e=e.offsetParent;return t}},func:{debounce:function(e){for(var t=arguments.length,i=Array(t>3?t-3:0),r=3;r<t;r++)i[r-3]=arguments[r];var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;clearTimeout(e.tiid),e.tiid=setTimeout(function(){return e.apply(n,i)},s)},throttle:function(e){for(var t=arguments.length,i=Array(t>3?t-3:0),r=3;r<t;r++)i[r-3]=arguments[r];var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;clearTimeout(e.tiid);var l=new Date;void 0===e.tdate||l-e.tdate>s?(e.apply(n,i),e.tdate=l):e.tiid=setTimeout(function(){return e.apply(n,i)},s)}}}},24:function(e,t,i){function r(e){this.columns=[],this._source=[],this.source=this._source,this.lang={all:"( All )",ok:"OK",reset:"Reset"},this.virtualCount=U,this.rowHeight=27,this.filterRowHeight=26,this.total=null,this.height=null,this.virtual=!1,this.startIndex=0,this.sortIndex=-1,this.sortDirection=1,this.selectedColumnIndex=-1,this.selectedIndexes=[],this.canMultiSelect=!1,this.allowHtml=!1,this.oddStyle=!1,this.$parent=e,this.$el=null,this.$refs={},this.$elems={},this.$window=window,this.willselect=null,this.selectedrowchanged=null,this.celldblclick=null,this.cellclick=null,this.rowdblclick=null,this.columnchanged=null}function s(e){return Array.prototype.slice.call(e.parentNode.children).indexOf(e)}function n(e,t){(t||!this._innerwidth&&!this._isdragging&&this._istouchdown)&&(delete this._istouchdown,this.sortable&&"INPUT"!==e.target.tagName&&"data-column-header-filter"!==e.target.className&&!e.target.classList.contains("arrow")&&"use"!==e.target.tagName.toLowerCase()&&_.call(e.data,this))}function l(e,t){if(null==e)return"";var i=e[t];return void 0===i&&(i=e),i}function o(e,t){var i=l(e,t);return Array.isArray(i)?i.join(","):i}function a(e,t){for(var i={},r=0;r<this.length;r+=1){var s=this[r],n=s.Values||s,l=null==e?n:n[e],a=o(l,t);null==i[a]&&(i[a]=l)}return null==Object.values&&(Object.values=function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(e[i]);return t}),Object.values(i)}function d(e){return null==e?String(null):String(e).toLowerCase()}function h(e,t){return function(i){if(null!=i){var r=L(i.target);r.data("item").__checked=r.prop("checked")}for(var s=e.find(".data-filter-items-item input"),n=0;n<s.length;n+=1)if(!L(s[n]).prop("checked"))return void t.prop("checked",!1);t.prop("checked",!0)}}function c(e,t,i){for(var r=h(e,i),s=0;s<t.length;s+=1){var n=t[s],o=L('<div class="data-filter-items-item"></div>'),a=L("<label></label>"),d=L('<input type="checkbox"></input>').data("item",n),c=void 0;if(this.filterCustom||"function"!=typeof this.filter)c=l(n,"DisplayValue");else{var f={};f[this.key]=n,c=this.filter(f)}d.data("text",c).prop("checked",n.__checked).on("change",r),a.append(d),a.append(L('<layer class="check-box-inner"><svg><use xlink:href="#gridview-check"></use></svg></layer>'));var u=L("<span></span>").text(c);a.append(u),o.append(a),e.append(o)}}function f(e,t,i,r){t.children(".data-filter-items-sizeholder").remove(),t.children(".data-filter-items-contentholder").remove();var s=e.filterRowHeight,n=i.length*s;this.__filterHeight=n;var l=L('<div class="data-filter-items-sizeholder"></div>').css("height",n);t.append(l);var a=L('<div class="data-filter-items-contentholder"></div>').css("top",s);t.data("items",i);for(var d=0;d<i.length;d+=1){var h=i[d];h.__checked=null==this.filterValues||this.filterValues.indexOf(o(h,"Value"))>=0}var f=void 0;f=i.length>12?i.slice(0,12):i,c.call(this,a,f,r),t.append(a)}function u(e,t){var i=e.filterRowHeight;if((t-=t%(2*i)+i)<0)t=0;else{var r=this.__filterHeight-12*i;rLine truncated
//# sourceMappingURL=gridview.js.map?ab92a4cdb00c256beafb
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("$")):"function"==typeof define&&define.amd?define(["$"],t):"object"==typeof exports?exports["g5-gridview"]=t(require("$")):e["g5-gridview"]=t(e.$)}(this,function(e){return function(e){function t(r){if(i[r])return i[r].exports;var n=i[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var i={};return t.m=e,t.c=i,t.i=function(e){return e},t.d=function(e,i,r){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=24)}({11:function(e,t){e.exports={userAgent:navigator.userAgent.toLowerCase(),isMobile:function(){return/mobile/.test(this.userAgent)},isChrome:function(){return/chrom(e|ium)/.test(this.userAgent)}}},2:function(e,t){e.exports={math:{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}},ui:{getClientX:function(e){if(null==e)return null;null!=e.originalEvent&&(e=e.originalEvent);var t=e.touches&&e.touches[0]&&e.touches[0].clientX;return void 0===t?e.clientX:t},getOffsetLeft:function(e){for(var t=0;e;)t+=e.offsetLeft,e=e.offsetParent;return t}},func:{debounce:function(e){for(var t=arguments.length,i=Array(t>3?t-3:0),r=3;r<t;r++)i[r-3]=arguments[r];var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;clearTimeout(e.tiid),e.tiid=setTimeout(function(){return e.apply(s,i)},n)},throttle:function(e){for(var t=arguments.length,i=Array(t>3?t-3:0),r=3;r<t;r++)i[r-3]=arguments[r];var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;clearTimeout(e.tiid);var l=new Date;void 0===e.tdate||l-e.tdate>n?(e.apply(s,i),e.tdate=l):e.tiid=setTimeout(function(){return e.apply(s,i)},n)}}}},24:function(e,t,i){function r(e){this.columns=[],this._source=[],this.source=this._source,this.lang={all:"( All )",ok:"OK",reset:"Reset",sort:"Sort",addLevel:"Add Level",deleteLevel:"Delete Level",copyLevel:"Copy Level",column:"Column",order:"Order",asc:"Asc",desc:"Desc",cancel:"Cancel",duplicatePrompt:"{column} is being sorted more than once. Delete the duplicate sort criteria and try again.",requirePrompt:"All sort criteria must have a column specified. Check the selected sort criteria and try again."},this.virtualCount=Y,this.rowHeight=27,this.filterRowHeight=26,this.total=null,this.height=null,this.virtual=!1,this.startIndex=0,this.sortIndex=-1,this.sortDirection=1,this.sortArray=null,this.selectedColumnIndex=-1,this.selectedIndexes=[],this.canMultiSelect=!1,this.allowHtml=!1,this.oddStyle=!1,this.$parent=e,this.$el=null,this.$refs={},this.$elems={},this.$window=window,this.willselect=null,this.selectedrowchanged=null,this.celldblclick=null,this.cellclick=null,this.rowdblclick=null,this.columnchanged=null}function n(e){return Array.prototype.slice.call(e.parentNode.children).indexOf(e)}function s(e,t){(t||!this._innerwidth&&!this._isdragging&&this._istouchdown)&&(delete this._istouchdown,this.sortable&&"INPUT"!==e.target.tagName&&"data-column-header-filter"!==e.target.className&&!e.target.classList.contains("arrow")&&"use"!==e.target.tagName.toLowerCase()&&$.call(e.data,this))}function l(e,t){if(null==e)return"";var i=e[t];return void 0===i&&(i=e),i}function o(e,t){var i=l(e,t);return Array.isArray(i)?i.join(","):i}function a(e,t){for(var i={},r=0;r<this.length;r+=1){var n=this[r],s=n.Values||n,l=null==e?s:s[e],a=o(l,t);null==i[a]&&(i[a]=l)}return null==Object.values&&(Object.values=function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(e[i]);return t}),Object.values(i)}function d(e){return null==e?String(null):String(e).toLowerCase()}function h(e,t){return function(i){if(null!=i){var r=j(i.target);r.data("item").__checked=r.prop("checked")}for(var n=e.find(".data-filter-items-item input"),s=0;s<n.length;s+=1)if(!j(n[s]).prop("checked"))return void t.prop("checked",!1);t.prop("checked",!0)}}function c(e,t,i){for(var r=h(e,i),n=0;n<t.length;n+=1){var s=t[n],o=j('<div class="data-filter-items-item"></div>'),a=j("<label></label>"),d=j('<input type="checkbox"></input>').data("item",s),c=void 0;if(this.filterCustom||"function"!=typeof this.filter)c=l(s,"DisplayValue");else{var u={};u[this.key]=s,c=this.filter(u)}d.data("text",c).prop("checked",s.__checked).on("change",r),a.append(d),a.append(j('<layer class="check-box-inner"><svg><use xlink:href="#gridview-check"></use></svg></layer>'));var f=j("<span></span>").text(c);a.append(f),o.append(a),e.append(o)}}function u(e,t,i,r){t.children(".data-filter-items-sizeholder").remove(),t.children(".data-filter-items-contentholder").remove();var n=e.filterRowHeight,s=i.length*n;this.__filterHeight=s;var l=j('<div class="data-filter-items-sizeholder"></div>').css("height",s);t.append(Line truncated
+1 -1
View File
@@ -1 +1 @@
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6***","webpack:///webpack/bootstrap e3bd17c0d0c15192fc59?223a***","webpack:///js/gridview.js","webpack:///./src/components/browser.js","webpack:///./src/components/shim_math.js?f16c*","webpack:///./src/components/datagrid/gridview.js","webpack:///external \"$\"?57aa"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_4__","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","11","userAgent","navigator","toLowerCase","isMobile","test","isChrome","2","math","trunc","val","Math","floor","ceil","ui","getClientX","e","originalEvent","cx","touches","clientX","undefined","getOffsetLeft","el","left","offsetLeft","offsetParent","func","debounce","method","args","delay","context","window","clearTimeout","tiid","setTimeout","apply","throttle","current","Date","tdate","24","GridView","columns","_source","source","lang","all","ok","reset","virtualCount","VIRTUAL_COUNT","rowHeight","filterRowHeight","total","height","virtual","startIndex","sortIndex","sortDirection","selectedColumnIndex","selectedIndexes","canMultiSelect","allowHtml","oddStyle","$parent","$el","$refs","$elems","$window","willselect","selectedrowchanged","celldblclick","cellclick","rowdblclick","columnchanged","indexOfColumn","target","Array","slice","parentNode","children","indexOf","headerClick","force","_innerwidth","_isdragging","_istouchdown","sortable","tagName","className","classList","contains","sortColumn","data","getDefault","obj","prop","v","getSpecialDefault","def","isArray","join","distinct","key","ckey","dict","length","item","Values","values","k","push","str","String","onFilterChecked","holder","cball","$","__checked","cbs","find","doFillFilterItem","array","onchecked","itemdiv","wrapper","checkbox","displayValue","filterCustom","filter","on","append","label","text","fillFilterItem","grid","items","remove","__filterHeight","sizeHolder","css","itemsHolder","filterValues","filterOnScroll","top","bottomTop","__filterTop","__filterStartIndex","__itemHolder","empty","__checkboxAll","style","filterClick","parent","document","body","closePanel","e1","removeClass","off","divpanel","stopPropagation","th","currentTarget","offset","width","itemHolder","onFillItems","hasSearch","onFillSearch","search","searchHolder","searchbox","allowSearch","searchiconClick","e2","focus","searchicon","addEventListener","REFRESH_INTERVAL","scrollTop","passive","itemdivall","checkboxall","filterSource","innerSource","sort","a","b","citems","Value","DisplayValue","column","boxes","checked","filterFunctions","functionBar","buttonReset","onFilterReset","refreshGrid","afterFilter","addClass","buttonOk","onFilterOK","filters","map","dragStart","orderable","isfixed","_cx","_index","dragmove","isdragging","MINI_DRAG_OFFSET","_offset","columnDragging","dragend","columnDragstop","bindDragmove","bind","resizeStart","preventDefault","_width","baseWidth","fixedColumns","visible","_baseWidth","resizemove","MINI_COLUMN_WIDTH","widthChanging","resizeend","autoResize","widthChanged","bindResizemove","changeColumnWidth","index","isFixed","oldWidth","w","element","header","maxWidth","minWidth","header_fixed","$el_fixed","rows","gridbodyContent","gridbodyContainer","offsetWidth","gridbodyContent_fixed","gridbodyContainer_fixed","gridtotalbody","gridtotalbody_fixed","resize","columnchanging","COLUMN_CHANGED_TYPE","RESIZE","col","dragger","show","draggerCursor","idx","count","_orderIndex","hide","targetIndex","headers","totals","tmp","insertAfter","j","insertBefore","hd","REORDER","keyid","MAX_COLUMN_BIT","_overflows","auto","reload","fixedHeaders","fixedHd","comparer","sortFilter","ta","tb","refresh","SORT","checkAllColumn","check","itemEnabled","enabled","onchanged","checkall","__internal_changed","checkRow","scrollToTop","flag","ROW_HEIGHT","REDUN_NUM","_containerHeight","_bodyRowCount","_scrollTop","gridonscroll","resetScroll","getColumnIndex","istotal","max","rowOnClick","colindex","selectedIndex","selected","ctrlKey","splice","shiftKey","start","end","isEditable","__selected","changes","__changed","fixedRows","colIndex","allowFullrowClick","buttons","TouchEvent","rowOnDblClick","columnIndex","parents","adjustRows","gridcontent","cols","cnt","jGridContent","childrencount","onrowdblclick","onrowclick","row","cell","isurl","type","COLUMN_TYPE","checkit","box","checkinner","lastRow","last","hasClass","gridbodyMouseMove","nowKeyid","display","oldkeyid","overflow","targetContent","scrollWidth","innerText","offsetTop","holderWidth","_bodyClientWidth","maxleft","_scrollLeft","offsetHeight","cssText","tableHeaderMouseEnter","gridbody","gridbody_fixed","createHeader","prefix","table","sortclick","attr","isShrink","_needAutoResize","caption","headerWidth","align","click","draLine truncated
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6***","webpack:///webpack/bootstrap 78de07fbc1d66f6fef52?5145***","webpack:///js/gridview.js","webpack:///./src/components/browser.js","webpack:///./src/components/shim_math.js?f16c*","webpack:///./src/components/datagrid/gridview.js","webpack:///external \"$\"?57aa"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_4__","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","11","userAgent","navigator","toLowerCase","isMobile","test","isChrome","2","math","trunc","val","Math","floor","ceil","ui","getClientX","e","originalEvent","cx","touches","clientX","undefined","getOffsetLeft","el","left","offsetLeft","offsetParent","func","debounce","method","args","delay","context","window","clearTimeout","tiid","setTimeout","apply","throttle","current","Date","tdate","24","GridView","columns","_source","source","lang","all","ok","reset","sort","addLevel","deleteLevel","copyLevel","column","order","asc","desc","cancel","duplicatePrompt","requirePrompt","virtualCount","VIRTUAL_COUNT","rowHeight","filterRowHeight","total","height","virtual","startIndex","sortIndex","sortDirection","sortArray","selectedColumnIndex","selectedIndexes","canMultiSelect","allowHtml","oddStyle","$parent","$el","$refs","$elems","$window","willselect","selectedrowchanged","celldblclick","cellclick","rowdblclick","columnchanged","indexOfColumn","target","Array","slice","parentNode","children","indexOf","headerClick","force","_innerwidth","_isdragging","_istouchdown","sortable","tagName","className","classList","contains","sortColumn","data","getDefault","obj","prop","v","getSpecialDefault","def","isArray","join","distinct","key","ckey","dict","length","item","Values","values","k","push","str","String","onFilterChecked","holder","cball","$","__checked","cbs","find","doFillFilterItem","array","onchecked","itemdiv","wrapper","checkbox","displayValue","filterCustom","filter","on","append","label","text","fillFilterItem","grid","items","remove","__filterHeight","sizeHolder","css","itemsHolder","filterValues","filterOnScroll","top","bottomTop","__filterTop","__filterStartIndex","__itemHolder","empty","__checkboxAll","style","filterClick","parent","document","body","closePanel","e1","removeClass","off","divpanel","stopPropagation","th","currentTarget","offset","width","itemHolder","onFillItems","hasSearch","onFillSearch","search","searchHolder","searchbox","allowSearch","searchiconClick","e2","focus","searchicon","addEventListener","REFRESH_INTERVAL","scrollTop","passive","itemdivall","checkboxall","filterSource","innerSource","a","b","citems","Value","DisplayValue","boxes","checked","filterFunctions","functionBar","buttonReset","onFilterReset","refreshGrid","afterFilter","addClass","buttonOk","onFilterOK","filters","map","dragStart","orderable","isfixed","_cx","_index","dragmove","isdragging","MINI_DRAG_OFFSET","_offset","columnDragging","dragend","columnDragstop","bindDragmove","bind","resizeStart","preventDefault","_width","baseWidth","fixedColumns","visible","_baseWidth","resizemove","MINI_COLUMN_WIDTH","widthChanging","resizeend","autoResize","widthChanged","bindResizemove","changeColumnWidth","index","isFixed","oldWidth","w","element","header","maxWidth","minWidth","header_fixed","$el_fixed","rows","gridbodyContent","gridbodyContainer","offsetWidth","gridbodyContent_fixed","gridbodyContainer_fixed","gridtotalbody","gridtotalbody_fixed","resize","columnchanging","COLUMN_CHANGED_TYPE","RESIZE","col","dragger","show","draggerCursor","idx","count","_orderIndex","hide","targetIndex","headers","totals","tmp","insertAfter","j","insertBefore","hd","REORDER","keyid","MAX_COLUMN_BIT","_overflows","getComparer","direction","sortFilter","auto","reload","fixedHeaders","fixedHd","refresh","SORT","checkAllColumn","check","itemEnabled","enabled","onchanged","checkall","__internal_changed","checkRow","scrollToTop","flag","ROW_HEIGHT","REDUN_NUM","_containerHeight","_bodyRowCount","_scrollTop","gridonscroll","resetScroll","getColumnIndex","istotal","max","rowOnClick","colindex","selectedIndex","selected","ctrlKey","splice","shiftKey","start","end","isEditable","__selected","changes","__changed","fixedRows","colIndex","allowFullrowClick","buttons","TouchEvent","rowOnDblClick","columnIndex","parents","adjustRows","gridcontent","cols","cnt","jGridContent","childrencount","onrowdblclick","onrowclick","row","cell","isurl","type","COLUMN_TYPE","checkit","box","checkinner","lastRow","last","hasClass","gridbodyMouseMove","nowKeyid","display","oldkeyid","overflow","targetContent","scrollWidth","innerText","offsetTop","holderWidth","_bodyClientWidth","maxleft","_scrollLeft","offsetHeight","cssText","tableHeaderMouseEnter","gridbody","gridbody_fixed","creatLine truncated
-278
View File
@@ -1,278 +0,0 @@
if (typeof ($editableselect) != "function") {
$(document).mousedown(function (e) {
var drop = $('#dropdowndiv');
if (drop.length > 0) {
var editselctrl = drop.parent();
var t = $(e.target);
if (!t.is(editselctrl)
&& !t.parent().is(editselctrl)
&& !t.parent().parent().is(editselctrl)
&& !t.parent().parent().parent().is(editselctrl))
$('#dropdowndiv').remove();
}
});
$(window).resize(function (e) {
$('#dropdowndiv').remove();
});
$editableselect = function (parent, maxlength, maxwidth) {
this.datasource = undefined;
this.valuepath = undefined;
this.displaypath = undefined;
this.changedhandler = undefined;
this.isEnabled = true;
this.maxshowncount = 2000;
this.maxlength = maxlength > 0 ? maxlength : 50;
var basectrl = undefined;
var inputctrl = undefined;
var iconctrl = undefined;
var _this = this;
this.val = function (value) {
if (arguments.length === 0)
return inputctrl.data("val");
else {
inputctrl.data("val", value);
if (this.datasource) {
for (var i = 0, j = 0; i < this.datasource.length; i++) {
var obj = this.datasource[i];
var v = "";
if (this.valuepath)
v += obj[this.valuepath];
else
v += obj;
if (v.toLowerCase() == ("" + value).toLowerCase()) {
var text = "";
if (this.displaypath)
text = obj[this.displaypath];
else
text += obj;
inputctrl.val(text);
inputctrl.data("obj", obj);
return;
}
}
inputctrl.val("");
inputctrl.data("obj", null);
}
}
}
this.text = function (text) {
if (arguments.length === 0)
return inputctrl.val();
else {
inputctrl.val(text);
if (this.datasource) {
for (var i = 0, j = 0; i < this.datasource.length; i++) {
var obj = this.datasource[i];
var t = "";
if (this.displaypath)
t += obj[this.displaypath];
else
t += obj;
if (t.toLowerCase() == ("" + text).toLowerCase()) {
var value = "";
if (this.valuepath)
value = obj[this.valuepath];
else
value += obj;
inputctrl.data("val", value);
inputctrl.data("obj", obj);
return;
}
}
inputctrl.data("val", "");
inputctrl.data("obj", null);
}
}
}
this.selecteditem = function () {
return inputctrl.data("obj");
}
this.selectedindex = function () {
return _this.datasource.indexOf(inputctrl.data("obj"));
}
this.change = function (func) {
this.changedhandler = func;
}
this.tabIndex = function (tabindex) {
inputctrl.attr("tabIndex", tabindex);
}
this.setEnable = function (enable) {
this.isEnabled = enable;
inputctrl.attr("disabled", !enable);
}
this.reload = function () {
setTimeout(function () {
inputctrl.css("width", parent.width() - 22);
});
}
basectrl = $('<div class="editseldiv"></div>');
inputctrl = $('<input class="editselinput" autocomplete="off" style="padding-top:0;padding-bottom:0;" />').attr("maxlength", this.maxlength)
.css("width", parent.width() - 22)
.css("border", "none").css("height", 20)
.bind('input propertychange', function () { changeSearchvalue(this); });
inputctrl.keydown(onkeydown);
iconctrl = $('<div class="dropdownicon"></div>')
.css("line-height", "normal").click(iconClick);
basectrl.append(inputctrl).append(iconctrl);
parent.append(basectrl);
function onkeydown(e) {
if (e.keyCode == 13 || e.keyCode == 38 || e.keyCode == 40) {//Enter Up Down键
var drop = $('#dropdowndiv');
if (e.keyCode == 13) {
if (drop.length > 0) {
drop.find("li.itemselected").click();
}
}
else {//Up
var selectedIndex = -1;
var lis = drop.find("li");
lis.each(function () {
var li = $(this);
if (li.hasClass("itemselected")) {
selectedIndex = $(this).attr("index");
li.removeClass("itemselected");
}
});
if (e.keyCode == 38)
selectedIndex--;
else if (e.keyCode == 40)
selectedIndex++;
if (selectedIndex < 0)
selectedIndex = lis.length - 1;
if (selectedIndex > lis.length - 1)
selectedIndex = 0;
var next = drop.find("li[index=" + selectedIndex + "]");
if (next.length > 0) {
$(next[0]).addClass("itemselected");
var offsetTop = next[0].offsetTop;
if (offsetTop >= drop.height() - drop.scrollTop() - 20) {
drop.scrollTop(offsetTop - drop.height() + 20);
}
}
}
}
}
function iconClick(e) {
if (_this.isEnabled) {
var drop = $('#dropdowndiv');
if (drop.length > 0) {
$('#dropdowndiv').remove();
}
else {
createDropdown(_this, undefined);
inputctrl.select();
inputctrl.focus();
}
}
}
//搜索
function changeSearchvalue(obj) {
var inp = $(obj);
var text = $.trim(inp.val());
var matched = false;
for (var i = 0, j = 0; i < _this.datasource.length; i++) {
var obj = _this.datasource[i];
var t = "";
if (_this.displaypath)
t += obj[_this.displaypath];
else
t += obj;
if (t.toLowerCase() == ("" + text).toLowerCase()) {
var value = "";
if (_this.valuepath)
value = obj[_this.valuepath];
else
value += obj;
inp.data("val", value);
inputctrl.data("obj", obj);
matched = true;
break;
}
}
if (!matched) {
inp.data("val", "");
inputctrl.data("obj", null);
}
if (_this.changedhandler)
_this.changedhandler();
createDropdown(_this, text);
}
function createDropdown(selctrl, searchtext) {
$("#dropdowndiv").remove();//移除已创建的下拉框
var dropdiv = $('<div id="dropdowndiv" class="editseldorp"></div>');
dropdiv.css("min-width", basectrl.width());
if (maxwidth != undefined)
dropdiv.css("max-width", maxwidth);
var ul = $('<ul style="padding:0px;list-style:none;margin:0px;"></ul>');
if (!selctrl.datasource) return;
if (basectrl.css("position") !== "relative") {
dropdiv.css('top', basectrl.position().top + 22);
dropdiv.css('left', basectrl.position().left);
}
var index = 0;
for (var i = 0, j = 0; i < selctrl.datasource.length && j < selctrl.maxshowncount; i++) {
var obj = selctrl.datasource[i];
var text = "";
if (selctrl.displaypath)
text = obj[selctrl.displaypath];
else
text += obj;
var value = "";
if (selctrl.valuepath)
value = obj[selctrl.valuepath];
else
value += obj;
if (!searchtext || text.toLowerCase().indexOf(searchtext.toLowerCase()) >= 0) {
var item = $('<li class="editselitem"></li>').data("obj", obj).data("val", value).text(text).attr("index", index++)
.click(function () { itemClick(this) });
ul.append(item);
j++;
}
}
ul.appendTo(dropdiv);
basectrl.append(dropdiv);
}
//drop选中
function itemClick(item) {
item = $(item);
inputctrl.val(item.text());
var oldValue = inputctrl.data("val");
var newValue = item.data("val");
inputctrl.data("val", newValue);
inputctrl.data("obj", item.data("obj"));
if (_this.changedhandler && newValue != oldValue)
_this.changedhandler();
$('#dropdowndiv').remove();
}
}
}
-212
View File
@@ -1,212 +0,0 @@
var ALL_TEXT = "(All)";
var paramindex = -1;
function editmultiselect(param) {
var divcontrol = $('<div class="div_filter"></div>');
var seldiv = $('<div class="left dropdown"></div>');
var span = $('<span class="text_span"></span>');
var spanimg = $('<span class="fa dropdown_button">&#xf078;</span>');
var divpanel = $('<div class="div_panel" style="display: none;z-index:10;margin-top:20px;margin-left:-1px;"></div>');
divpanel.data("self", divpanel);
if (param.width && param.width > 0)
divpanel.css('width', param.width);
$(document).mousedown(function (e) {
var t = $(e.target);
$('.div_panel').each(function () {
if (!t.is(divpanel)
&& !t.parent().is(divpanel)
&& !t.parent().parent().is(divpanel)
&& !t.parent().parent().parent().is(divpanel)) {
var v = divpanel.is(":visible");
divpanel.hide();
if (v && param.oncompleted)
param.oncompleted();
}
});
});
divpanel.completed = function () {
if (param.oncompleted)
param.oncompleted();
}
var inputctrl;
//if (param.allowsearch === true) {
var inputdiv = $('<div style="margin:3px;"></div>');
divpanel.append(inputdiv);
inputctrl = $('<input maxlength="100" style="padding-top:0;padding-bottom:0;width:96%;" />');
inputctrl.bind('input propertychange', function () { changeSearchvalue(this); });
inputdiv.append(inputctrl);
//}
var ul = $('<ul></ul>');
divpanel.append(ul);
ul.mousedown(false);
seldiv.append(span).append(spanimg).append(divpanel);
divcontrol.append(seldiv);
var ctrlclick = function () {
$('.div_panel').each(function (e) {
var t = $(this);
var v = t.is(":visible");
if (!t.is(divpanel)) {
t.css('display', 'none');
if (v)
t.data("self").completed();
}
});
var display = divpanel.css('display');
if (display == 'none') {
divpanel.css({ 'display': 'block' });
} else {
divpanel.css('display', 'none');
}
return false;
}
span.mousedown(ctrlclick);
spanimg.mousedown(ctrlclick);
var itemclick = function (isall, checked) {
var chks = ul.find('input');
if (isall) {
chks.prop('checked', checked);
if (checked) {
span.attr('title', ALL_TEXT).text(ALL_TEXT);
}
else {
span.attr('title', "").text("");
}
param.selectedvalue = [];
param.selecteditems = [];
return;
}
else {
if (chkall)
chkall.prop('checked', false);//(ALL)取消选中
}
var texts = [];
var paramvalues = [];
var paramitems = [];
for (var i = 0; i < chks.length; i++) {
var c = $(chks[i]);
if (c.prop('checked')) {
var text = c.next('label').text();
if (!text) text = c.data("value");
texts.push(text);
paramvalues.push(c.data("value"));
paramitems.push(c);
}
}
texts = texts.join(', ');
span.attr('title', texts).text(texts);
param.selectedvalue = paramvalues;
param.selecteditems = paramitems;
};
divcontrol.setValues = function (values) {
var chks = ul.find('input');
for (var i = 0; i < chks.length; i++) {
var chk = $(chks[i]);
if (values.indexOf(chk.data("value")) >= 0)
chk.prop('checked', true);
else
chk.prop('checked', false);
}
var texts = [];
var paramvalues = [];
var paramitems = [];
for (var i = 0; i < chks.length; i++) {
var c = $(chks[i]);
if (c.prop('checked')) {
var text = c.next('label').text();
if (!text) text = c.data("value");
texts.push(text);
paramvalues.push(c.data("value"));
paramitems.push(c);
}
}
texts = texts.join(', ');
span.attr('title', texts).text(texts);
param.selectedvalue = paramvalues;
param.selecteditems = paramitems;
}
var chkall = undefined;
var showItems = function (searchtext) {
ul.empty();
if (param.allowall !== false) {
var liall = $('<li></li>');
chkall = $('<input type="checkbox" style="width:16px;"/>');
chkall.change(function () {//全选
itemclick(true, $(this).prop('checked'));
});
liall.append(chkall);
liall.append($('<label for="chkall"></label>').text(ALL_TEXT));
ul.append(liall);
}
if (param && param.items) {
var texts = [];
for (var s = 0; s < param.items.length; s++) {
var item = param.items[s];
var value = item[param.valuepath || "Key"];
var txt = item[param.textpath || "Value"];
var li = $('<li></li>').data("item", item);
var chk = $('<input type="checkbox" style="width:16px;"/>').data("value", value).attr("id", "chkp" + ++paramindex);
if (item.sublevel > 0)
chk.css("margin-left", "" + (20 * item.sublevel) + "px");
chk.change(function () {
itemclick(false, $(this).prop('checked'));
});
li.append(chk);
var lbl = $('<label for=' + ("chkp" + paramindex) + '></label>').text(txt)
li.append(lbl);
ul.append(li);
}
texts = texts.join(', ');
span.attr('title', texts).text(texts);
divcontrol.setValues(param.selectedvalue);
}
}
var filterItems = function (searchtext) {
if (!searchtext)
searchtext = "";
searchtext = $.trim(searchtext);
ul.find("li").each(function () {
var li = $(this);
var item = li.data("item");
if (item) {
var txt = item[param.textpath || "Value"];
if (searchtext != "" && txt.toLowerCase().indexOf(searchtext.toLowerCase()) < 0)
li.hide();
else
li.show();
}
})
}
//搜索
function changeSearchvalue(obj) {
var inp = $(obj);
var text = inp.val();
filterItems(text);
}
divcontrol.reset = function () {
if (inputctrl)
inputctrl.val("");
showItems();
itemclick(true, false);
}
showItems();
return divcontrol;
}
+99 -64
View File
@@ -251,13 +251,29 @@ function getFavoriteNavInfoByID(id, text, icon) {
$(icon).addClass("iconworkorder");
}
else if (id === "nav_workorderhis") {
title = GetTextByKey("P_XXX", title);
title = GetTextByKey("P_WORKORDERHISTORY", title);
$(icon).addClass("iconhistory");
}
else if (id === "nav_maintenanceschedule") {
title = GetTextByKey("P_PM_MAINTENANCESCHEDULES", title);
$(icon).addClass("iconmaintenanceschedule");
}
else if (id === "nav_customerrecord") {
title = GetTextByKey("P_CUSTOMERRECORD", title);
}
else if (id === "nav_customersatisfactionsurveys") {
title = GetTextByKey("P_CUSTOMERSATISFACTIONSURVEYS", title);
$(icon).addClass("icontemplate");
}
else if (id === "nav_surveymanagementresult") {
title = GetTextByKey("P_WOS_SURVEYMANAGEMENTRESULT", title);
}
else if (id === "nav_wosurveytemplate") {
title = GetTextByKey("P_WOS_TEMPLATES", title);
}
else if (id === "nav_wosurveytemplatereport") {
title = GetTextByKey("P_WOS_TEMPLATES_REPORT", title);
}
else if (id === "nav_record") {
title = GetTextByKey("P_MAINTENANCERECORDLEGACY", title);
$(icon).addClass("iconrecord");
@@ -298,6 +314,14 @@ function getFavoriteNavInfoByID(id, text, icon) {
title = GetTextByKey("P_MANAGEMODELS", title);
$(icon).addClass("iconmanagmodels");
}
else if (id === "nav_assethistory") {
title = GetTextByKey("P_MA_ASSETHISTORY", title);
$(icon).addClass("iconhistory");
}
else if (id === "nav_shareasset") {
title = GetTextByKey("P_SHAREASSETS", title);
$(icon).addClass("iconshare");
}
else if (id === "nav_jobsiterequirements") {
title = GetTextByKey("P_JS_JOBSITEREQUIREMENTS", title);
}
@@ -310,6 +334,27 @@ function getFavoriteNavInfoByID(id, text, icon) {
else if (id === "nav_scheduler") {
title = GetTextByKey("P_JS_SCHEDULER", title);
}
else if (id === "100") {//Map View
title = GetTextByKey("P_MAPVIEW", title);
}
else if (id === "250") {//FilterQ
title = GetTextByKey("P_MODULE_FILTERQ", title);
}
else if (id === "500") {//FilterQ
title = "M3";
}
else if (id === "550") {//Over/Under Trucking Alerts
title = GetTextByKey("P_MODULE_OVERUNDERTRUCKINGALERTS", title);
}
else if (id === "650") {//Inspection
title = GetTextByKey("P_MODULE_INSPECTION", title);
}
else if (id === "700") {//Team Intelligence
title = GetTextByKey("P_MODULE_TEAMINTELLIGENCE", title);
}
else if (id === "600") {//OTR Config
title = GetTextByKey("P_MODULE_OTRCONFIG", title);
}
return title;
}
@@ -396,19 +441,19 @@ function onOpenSite(m) {
function setAppMoudule(mouduleid, name, type) {
if (!name) {
if (mouduleid === 100)
name = "Map View";
name = GetTextByKey("P_MAPVIEW", "Map View");
else if (mouduleid === 150)
name = "Jobsites";
name = GetTextByKey("P_MODULE_JOBSITES", "Jobsites");
else if (mouduleid === 250)
name = "FilterQ";
name = GetTextByKey("P_MODULE_FILTERQ", "FilterQ");
else if (mouduleid === 500)
name = "M3";
else if (mouduleid === 550)
name = "Over/Under Trucking Alerts";
name = GetTextByKey("P_MODULE_OVERUNDERTRUCKINGALERTS", "Over/Under Trucking Alerts");
else if (mouduleid === 650)
name = "Inspection";
name = GetTextByKey("P_MODULE_INSPECTION", "Inspection");
else if (mouduleid === 700)
name = "Team Intelligence";
name = GetTextByKey("P_MODULE_TEAMINTELLIGENCE", "Team Intelligence");
}
return setNavigate(mouduleid + '', name, type);
@@ -439,8 +484,11 @@ function showFavConfirm(msg, title, fok, fcancel) {
var grid_favoritedt;
function InitFavoriteGrid() {
grid_favoritedt = new GridView('#favoritelist');
grid_favoritedt.lang = {
var gv = GridView;
if (typeof GridView1 !== 'undefined')//兼容FIC的旧的GridView
gv = GridView1
grid_favoritedt = new gv('#favoritelist');
grid_favoritedt.langs = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
@@ -465,62 +513,52 @@ function InitFavoriteGrid() {
if (list_columns[hd].type) {
col.type = list_columns[hd].type;
}
if (col.name === "Delete") {
col.isurl = true;
col.text = "\uf00d";
col.sortable = false;
col.resizable = false;
col.type = gv.ColumnTypes.Icon;
col.text = 'times';
col.iconType = 'fa-light';
col.events = {
onclick: function () {
OnDeleteFavorite(this);
}
};
col.classFilter = function (e) {
return "icon-col";
};
col.attrs = { 'title': GetTextByKey("P_FAV_DELETE", 'Delete') };
}
else if (col.name === "Up") {
col.isurl = true;
col.text = "\uf062";
col.sortable = false;
col.resizable = false;
col.type = gv.ColumnTypes.Icon;
col.text = 'arrow-up';
col.iconType = 'fa-light';
col.events = {
onclick: function () {
onSortFavorite(true, this);
}
};
col.classFilter = function (e) {
return "icon-col";
};
col.attrs = { 'title': GetTextByKey("P_FAV_UP", 'Up') };
col.attrs = { 'title': GetTextByKey("P_FAV_UP", 'Delete') };
}
else if (col.name === "Down") {
col.isurl = true;
col.text = "\uf063";
col.sortable = false;
col.resizable = false;
col.type = gv.ColumnTypes.Icon;
col.text = 'arrow-down';
col.iconType = 'fa-light';
col.events = {
onclick: function () {
onSortFavorite(false, this);
}
};
col.classFilter = function (e) {
return "icon-col";
};
col.attrs = { 'title': GetTextByKey("P_FAV_DOWN", 'Down') };
col.attrs = { 'title': GetTextByKey("P_FAV_DOWN", 'Delete') };
}
columns.push(col);
}
grid_favoritedt.canMultiSelect = false;
grid_favoritedt.columns = columns;
grid_favoritedt.init();
grid_favoritedt.selectedrowchanged = function (rowindex) {
var rowdata = grid_favoritedt.source[rowindex];
if (rowdata) {
}
};
grid_favoritedt.rowdblclick = function (rowindex) {
var rowdata = grid_favoritedt.source[rowindex];
if (rowdata) {
}
};
}
var favgridinited = false;
@@ -535,8 +573,8 @@ function showFavoritesGridList(data) {
var rows = [];
for (var i = 0; i < data.length; i++) {
var r = data[i];
var fr = { Values: r };
rows.push(fr);
r.Name = getFavoriteNavInfoByID(r.ID, r.Name);
rows.push(r);
}
grid_favoritedt.setData(rows);
@@ -552,7 +590,7 @@ function openFavoriteDialog() {
'width': 540,
'top': (document.documentElement.clientHeight - $('#dialog_favorite').height()) / 4,
'left': (document.documentElement.clientWidth - $('#dialog_favorite').width()) / 2
}).showDialogfixed();
}).showDialogfixed(false);//false兼容Inspection中的showDialogfixed
$("#btnfavsave").focus();
if (userfavorates)
@@ -574,8 +612,9 @@ function onSortFavorite(isasc, fav) {
var index;
var currentfavs = [];
for (var i = 0; i < grid_favoritedt.source.length; i++) {
var userfav = grid_favoritedt.source[i].Values;
var tempsource = grid_favoritedt.source;
for (var i = 0; i < tempsource.length; i++) {
var userfav = tempsource[i];
if (fav.ID === userfav.ID)
index = i;
else
@@ -601,8 +640,9 @@ function onSaveFavoriteSort() {
if (!grid_favoritedt)
return;
var data = [];
for (var i = 0; i < grid_favoritedt.source.length; i++) {
data.push(grid_favoritedt.source[i].Values);
var tempsource = grid_favoritedt.source;
for (var i = 0; i < tempsource.length; i++) {
data.push(tempsource[i]);
}
saveFavorites(data, true);
@@ -614,7 +654,9 @@ function onSaveFavoriteSort() {
function onInitTitleSites() {
if (appmoudulesdata) {
var menudiv = $("#divfavmenu");
var syssetli = $("#lisyssetting");
var syssetli = $("#lisyssetting").on('click', function () {
window.location.href = $(this).data('url');
});
var liversion = $("#liVersion");
menudiv.parent().find(".dynamicmenu").remove();
@@ -726,13 +768,11 @@ function createSettingSite(m, syssetli, sub) {
}
icon = createMouduleIcon(sm, 1);
var li = $('<li class="dynamicmenu"></li>').click(function () {
var li = $('<li class="dynamicmenu flex"></li>').click(function () {
onOpenSite(sm);
});
var fav_a = $('<a style="padding-left:0;"></a>');
li.append(fav_a);
fav_a.append($('<div></div>').append(icon));
fav_a.append($('<span></span>').text(name));
li.append($('<div></div>').append(icon));
li.append($('<span></span>').text(name));
syssetli.before(li);
}
@@ -741,8 +781,11 @@ function createSettingSite(m, syssetli, sub) {
var dashboarddata;
var grid_dbdt;
function InitDBGridData() {
grid_dbdt = new GridView('#dashboardslist');
grid_dbdt.lang = {
var gv = GridView;
if (typeof GridView1 !== 'undefined')//兼容FIC的旧的GridView
gv = GridView1
grid_dbdt = new gv('#dashboardslist');
grid_dbdt.langs = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
@@ -786,13 +829,7 @@ function InitDBGridData() {
grid_dbdt.canMultiSelect = false;
grid_dbdt.columns = columns;
grid_dbdt.init();
grid_dbdt.rowdblclick = openDashboard;
grid_dbdt.selectedrowchanged = function (rowindex) {
var rowdata = grid_dbdt.source[rowindex];
if (rowdata) {
}
}
grid_dbdt.onCellDblClicked = openDashboard;
}
function showChartNotes(iid, notes) {
@@ -855,9 +892,7 @@ function showDashboards(data) {
if (j === "IsChart")
r[j] = { DisplayValue: r["IsChart"] ? "Chart" : "Dashboard", Value: r[j] };
}
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
grid_dbdt.setData(rows);
@@ -897,7 +932,7 @@ function openDashboard() {
return;
}
var dah = grid_dbdt.source[index].Values;
var dah = grid_dbdt.source[index];
if (dah.IsChart.Value) {
setRecentOpenedDashboard(dah.ID);
$('#dialog_dashboards').hideDialog();
+151 -85
View File
@@ -1,6 +1,6 @@
var $layoutcolumnselector = function (grid) {
this.title = GetTextByKey("P_GRID_XXXXXX", 'Layout');
this.title = GetTextByKey("P_GL_LAYOUT", 'Layout');
this.dialogId = 'dialog_layouts';
$("#" + this.dialogId).remove();
this.grid = grid;
@@ -16,24 +16,27 @@ var $layoutcolumnselector = function (grid) {
function initColumnsGrid(parent) {
var divheader = $("<div style='font-size:14px;background-color:#fafafa;'></div>").appendTo(parent);
var tbheader = $("<table style='width:100%;'></table>").appendTo(divheader);
var tbheader = $("<table style='width:100%;border-collapse: collapse;'></table>").appendTo(divheader);
var trheader = $("<tr></tr>").appendTo(tbheader);
trheader.append();
var td = $("<td style='width:30px'></td>");
trheader.append(td);
$("<input type='checkbox' />").appendTo(td).on('click', function (e) {
tbdata.find("input[type='checkbox']:enabled").prop("checked", $(e.target).prop("checked"));
tbdata.find(".chkselected:enabled").prop("checked", $(e.target).prop("checked")).trigger('change');
});
trheader.append($("<td style='width:220px'></td>").text(GetTextByKey("P_GRID_COLUMN", "Column")));
trheader.append($("<td style='width:220px'></td>").text(GetTextByKey("P_GRID_CAPTION", "Caption")));
trheader.append($("<td></td>").text(GetTextByKey("P_XXXXXX", "Width")));
trheader.append($("<td style='width:90px'></td>").text(GetTextByKey("P_GL_WIDTH", "Width")));
trheader.append($("<td style='font-family:FontAwesome; padding-left: 5px; width: 33px; cursor: default'></td>").text('\uf2dc').attr('title', GetTextByKey("P_GRID_FREEZECOLUMNS", "Freeze Columns")));
trheader.append($("<td style='font-family:FontAwesome; padding-left: 5px; width: 33px; cursor: default'></td>").text('\uf362').attr('title', GetTextByKey("P_GRID_WRAPTEXT", "Wrap Text")));
trheader.append($("<td style='font-family:FontAwesome; padding-left: 5px; cursor: default'></td>").text('\uf7a4').attr('title', GetTextByKey("P_GRID_MAXLINES", "Maximum Rows Displayed for Wrapped Text")));
var divdata = $("<div style=' height: 400px; overflow: auto;line-height:30px;'></div>").appendTo(parent);
tbdata = $("<table style='width:100%;'></table>").appendTo(divdata);
tbdata = $("<table style='width:100%;border-collapse: collapse;'></table>").appendTo(divdata);
}
function createDialog() {
var dialog = $('<div class="dialog" style="display: none; width: 605px; height: 610px;min-width: 560px;line-height:30px;">').attr('id', this.dialogId);
var dialog = $('<div class="dialog" style="display: none; width: 720px; height: 610px;min-width: 560px;line-height:30px;">').attr('id', this.dialogId);
var title = $('<div class="dialog-title"></div>').appendTo(dialog);
title.append($('<span class="title"></span>').text(this.title));
@@ -45,22 +48,22 @@ var $layoutcolumnselector = function (grid) {
txtSearch && txtSearch.val("");
showdata.call(_this, false);
}).appendTo(layoutOptionDiv);
$("<label for='rdoCurrentLayout'></label>").text(GetTextByKey("P_XXXXXX", "Show Current Layout")).appendTo(layoutOptionDiv);
$("<label for='rdoCurrentLayout'></label>").text(GetTextByKey("P_GL_SHOWCURRENTLAYOUT", "Show Current Layout")).appendTo(layoutOptionDiv);
var rdoDefaultLayout = $("<input type='radio' id='rdoDefaultLayout' name='layoutoption' style='margin-left:60px;' />").on('click', function () {
txtSearch && txtSearch.val("");
showdata.call(_this, true);
}).appendTo(layoutOptionDiv);
$("<label for='rdoDefaultLayout'></label>").text(GetTextByKey("P_XXXXXX", "Show Default Layout")).appendTo(layoutOptionDiv);
$("<label for='rdoDefaultLayout'></label>").text(GetTextByKey("P_GL_SHOWDEFAULTLAYOUT", "Show Default Layout")).appendTo(layoutOptionDiv);
var chkDisplayedOnly = $("<input type='checkbox' id='chkDisplayedOnly' name='layoutoption' style='margin-left:60px;' />").on('click', function () {
searchColumns(txtSearch.val().trim());
}).appendTo(layoutOptionDiv);
$("<label for='chkDisplayedOnly'></label>").text(GetTextByKey("P_XXXXXX", "Displayed Only")).appendTo(layoutOptionDiv);
$("<label for='chkDisplayedOnly'></label>").text(GetTextByKey("P_GL_DISPLAYEDONLY", "Displayed Only")).appendTo(layoutOptionDiv);
$('<div style="margin-left:20px;"></div>').text(GetTextByKey("P_XXXXXX", "To move columns, drag and drop on column name.")).appendTo(dialog);
$('<div style="margin-left:20px;"></div>').text(GetTextByKey("P_GL_TOMOVECOLUMNSDRAGANDDROPONCOLUMNNAME", "To move columns, drag and drop on column name.")).appendTo(dialog);
var searchDiv = $('<div style="margin-left:10px;margin-right:10px;"></div>').appendTo(dialog);
var txtSearch = $("<input type='text' style='margin-left: 7px;width:95%;' />").appendTo(searchDiv);
txtSearch.attr("placeholder", GetTextByKey("P_XXXXXX", "Search Columns"));
txtSearch.attr("placeholder", GetTextByKey("P_GL_SEARCHCOLUMNS", "Search Columns"));
txtSearch.on('input propertychange', function () {
searchColumns($(this).val().trim());
});
@@ -68,7 +71,7 @@ var $layoutcolumnselector = function (grid) {
searchColumns($(this).val().trim());
});
var columnListDiv = $('<div style="width: 580px; height: 440px; margin: 5px 10px 4px 10px;overflow:auto;"></div>').appendTo(dialog);
var columnListDiv = $('<div style="width: 700px; height: 440px; margin: 5px 10px 4px 10px;overflow:auto;"></div>').appendTo(dialog);
var dialogFunction = $('<div class="dialog-func"></div>').appendTo(dialog);
$('<input type="button" value="' + GetTextByKey("P_GRID_CANCEL", "Cancel") + '" class="dialog-close" />').appendTo(dialogFunction);
@@ -135,21 +138,29 @@ var $layoutcolumnselector = function (grid) {
var dc = this.grid.allcolumns[j];
dc = $.extend(true, {}, dc);
dc.OriginalCaption = dc.caption;
dc.OriginalCaption = typeof (dc.caption) === "function" ? dc.name : dc.caption;
dc.UserCaption = "";
dc.Width = dc.width;
dc.Selected = dc.visible !== false;
dc.IsFixed = false;
dc.Wrap = false;
dc.MaxLines = 0;
tmpColumns.push(dc);
}
}
else if (this.grid.columns && this.grid.columns.length > 0) {
var fixedindex = this.grid.columns.findLastIndex((c) => c.isfixed === true);
for (var i = 0; i < this.grid.columns.length; i++) {
var cc = $.extend(true, {}, this.grid.columns[i]);
cc.OriginalCaption = typeof (cc.caption) === "function" ? cc.name : cc.OriginalCaption;
//if (!cc.alwaysshow) {
cc.Width = cc.width;
cc.Selected = cc.visible !== false;
cc.IsFixed = i == fixedindex;
cc.Wrap = cc.contentWrap;
cc.MaxLines = cc.maxLines;
tmpColumns.push(cc);
//}
}
@@ -158,20 +169,15 @@ var $layoutcolumnselector = function (grid) {
var dc = this.grid.allcolumns[j];
//if (dc.alwaysshow) continue;
var selected = false;
for (var i = 0; i < tmpColumns.length; i++) {
var tc = tmpColumns[i];
if (tc.name == dc.name) {
selected = true;
break;
}
}
if (!selected) {
var isnew = tmpColumns.find(function (tc) { return tc.name == dc.name }) == null;
if (isnew) {
dc = $.extend(true, {}, dc);
dc.OriginalCaption = dc.caption;
dc.OriginalCaption = typeof (dc.caption) === "function" ? dc.name : dc.caption;
dc.UserCaption = "";
dc.Width = dc.width;
dc.Selected = false;
dc.Wrap = false;
dc.MaxLines = 0;
tmpColumns.push(dc);
}
}
@@ -185,31 +191,69 @@ var $layoutcolumnselector = function (grid) {
var tr = $("<tr></tr>").appendTo(tbdata).data("rowInfo", rowInfo);
var td = $("<td style='width:30px'></td>").appendTo(tr);
rowInfo.chkSelected = $("<input type='checkbox' />").appendTo(td);
rowInfo.chkSelected = $("<input type='checkbox' class='chkselected' />").appendTo(td);
rowInfo.chkSelected.prop("checked", c.Selected);
if (c.alwaysshow)
rowInfo.chkSelected.prop("checked", true).prop("disabled", true);
//rowInfo.chkSelected.on('change', tr, function (e) {
// var selptr = e.data;
// var checked = $(e.target).prop("checked");
// var isfixed = selptr.data("rowInfo").chkIsFixed.prop("checked");
// if (!checked && isfixed) {
// selptr.data("rowInfo").chkIsFixed.prop("checked", false).trigger('change');
// }
//});
td = $("<td style='width:220px'></td>").appendTo(tr);
rowInfo.txtOriginalCaption = $("<span></span>").appendTo(td);
rowInfo.txtOriginalCaption.text(c.alwaysshow ? c.text : c.OriginalCaption);
if (c.name === "Selected")
rowInfo.txtOriginalCaption.text('\uf0c8');
var iconname = "";
if (c.alwaysshow)
rowInfo.txtOriginalCaption.addClass('icon-col').css('cursor', 'default');
iconname = c.text;
else
rowInfo.txtOriginalCaption.text(c.OriginalCaption);
if (c.name === "Selected")
iconname = 'square';
if (c.alwaysshow) {
rowInfo.txtOriginalCaption.addClass('cell-icon').css('cursor', 'default');
var icon = libui.createIcon('fa-light', iconname);
rowInfo.txtOriginalCaption.append(icon);
}
td = $("<td style='width:220px'></td>").appendTo(tr);
rowInfo.txtCaption = $("<input type='text' style='width:210px' maxlength='200' />").appendTo(td);
rowInfo.txtCaption = $("<input type='text' style='width:210px;background-color:transparent;' maxlength='200' />").appendTo(td);
rowInfo.txtCaption.val(c.UserCaption);
if (c.alwaysshow)
rowInfo.txtCaption.prop("disabled", true);
td = $("<td></td>").appendTo(tr);
rowInfo.txtWidth = $("<input type='text' style='width:70px' maxlength='6' />").appendTo(td);
rowInfo.txtWidth.val(c.Width || c.width);
td = $("<td style='width:90px'></td>").appendTo(tr);
rowInfo.txtWidth = $("<input type='text' style='width:70px;background-color:transparent;' maxlength='6' />").appendTo(td);
rowInfo.txtWidth.val(c.Width);
if (c.alwaysshow)
rowInfo.txtWidth.prop("disabled", true);
td = $("<td></td>").appendTo(tr);
rowInfo.chkIsFixed = $("<input type='checkbox' class='chkfixed' />").appendTo(td);
rowInfo.chkIsFixed.prop("checked", c.IsFixed);
rowInfo.chkIsFixed.on('change', tr, function (e) {
var target = $(e.target);
var checked = target.prop("checked");
if (checked) {
tbdata.find('.chkfixed:checked').each(function () {
if (!$(this).is(target))
$(this).prop('checked', false);
});
}
});
td = $('<td></td>').appendTo(tr);
rowInfo.chkWrap = $('<input type="checkbox" />').appendTo(td);
rowInfo.chkWrap.prop('checked', c.Wrap);
td = $("<td style='width:40px'></td>").appendTo(tr);
rowInfo.txtMaxLines = $("<input type='text' style='width:20px;background-color:transparent;' maxlength='2' />").appendTo(td);
rowInfo.txtMaxLines.val(c.MaxLines > 0 ? String(c.MaxLines) : '');
if (c.name !== "Selected")
bindDrag(tr);
}
@@ -234,6 +278,7 @@ var $layoutcolumnselector = function (grid) {
var t = $(this);
if (t.is(draggingrow))
return;
var t = $(this);
var after = e.originalEvent.clientY > t.offset().top + t.height() / 2;
if (after) {
@@ -251,6 +296,16 @@ var $layoutcolumnselector = function (grid) {
for (var i = 0; i < trs.length; i++) {
var tr = $(trs[i]);
var rowInfo = tr.data("rowInfo");
var width = $.trim(rowInfo.txtWidth.val());
if (isNaN(width) || width <= 0) {
showAlert(GetTextByKey('P_GRID_INVALIDWIDTH', 'Column width is invalid.'), GetTextByKey('P_GL_LAYOUT', 'Layout'));
return;
}
var maxLines = $.trim(rowInfo.txtMaxLines.val());
if (maxLines != '' && (isNaN(maxLines) || maxLines <= 0)) {
showAlert(GetTextByKey('P_GRID_INVALIDMAXLINES', 'Column max lines is invalid.'), GetTextByKey('P_GL_LAYOUT', 'Layout'));
return;
}
var col = rowInfo.ColumnData;
if (rowInfo) {
var sort = 0;
@@ -260,8 +315,11 @@ var $layoutcolumnselector = function (grid) {
'Visible': rowInfo.chkSelected.prop("checked"),
'ColumnKey': col.name,
'Caption': $.trim(rowInfo.txtCaption.val()),
'Width': $.trim(rowInfo.txtWidth.val()),
'Sort': sort
'Width': width,
'IsFixed': rowInfo.chkIsFixed.prop("checked"),
'Sort': sort,
'Wrap': rowInfo.chkWrap.prop('checked'),
'MaxLines': maxLines
}
if (isNaN(colinfo.Width) || eval(colinfo.Width) <= 0)
colinfo.Width = col.width;
@@ -270,7 +328,7 @@ var $layoutcolumnselector = function (grid) {
}
if (colinfos.length == 0) {
showAlert(GetTextByKey("P_GRID_PLEASESELECTATLEASTONECOLUMN", "Please select at least one column."), GetTextByKey("P_GRID_XXXXXX", 'Layout'));
showAlert(GetTextByKey("P_GRID_PLEASESELECTATLEASTONECOLUMN", "Please select at least one column."), GetTextByKey("P_GL_LAYOUT", 'Layout'));
return;
}
@@ -279,7 +337,7 @@ var $layoutcolumnselector = function (grid) {
})();
var $layoutsavedialog = function (grid, layoutid, type) {
this.title = GetTextByKey("P_GRID_XXXXXX", 'Save Layout');
this.title = GetTextByKey("P_GL_SAVELAYOUT", 'Save Layout');
this.type = type;
this.dialogId = 'dialog_savelayout';
$("#" + this.dialogId).remove();
@@ -321,15 +379,15 @@ var $layoutsavedialog = function (grid, layoutid, type) {
};
function createSaveLayoutDialog() {
var dialog = $('<div class="dialog" style="display: none; width: 440px; height: 220px;min-width:440px;line-height:30px;">').attr('id', this.dialogId);
var dialog = $('<div class="dialog" style="display: none; width: 440px; min-width:440px;line-height:30px;">').attr('id', this.dialogId);
var title = $('<div class="dialog-title"></div>').appendTo(dialog);
title.append($('<span class="title"></span>').text(this.title));
title.append('<em class="dialog-close"></em>');
var layoutNameDiv = $('<div style="margin-left:10px;margin-right:10px;margin-top:10px;"></div>').appendTo(dialog);
layoutNameDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_XXXXXX", "Layout Name:")));
txtLayoutName = $("<input type='text' style='width:320px;margin-left:5px;' maxlength='200' />").appendTo(layoutNameDiv);
layoutNameDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_GL_LAYOUTNAME_COLON", "Layout Name:")));
txtLayoutName = $("<input type='text' style='width:285px;margin-left:5px;' maxlength='200' />").appendTo(layoutNameDiv);
if (currentLayout && this.type == 1) {//type == 1 在列表上直接保存
if (!currentLayout.IsPublic || IsAdmin)
txtLayoutName.val(currentLayout.LayoutName || "");
@@ -337,16 +395,16 @@ var $layoutsavedialog = function (grid, layoutid, type) {
var layoutAttrDiv = $('<div style="margin-left:10px;margin-right:10px;"></div>').appendTo(dialog);
chkMyDefault = $("<input type='checkbox' id='chkMyDefault' style='margin-left: 83px;' />").appendTo(layoutAttrDiv);
$("<label for='chkMyDefault'></label>").text(GetTextByKey("P_XXXXXX", "Save as my Default")).appendTo(layoutAttrDiv);
$("<label for='chkMyDefault'></label>").text(GetTextByKey("P_GL_SAVEASMYDEFAULT", "Save as my Default")).appendTo(layoutAttrDiv);
if (IsAdmin) {
layoutAttrDiv = $('<div style="margin-left:10px;margin-right:10px;"></div>').appendTo(dialog);
chkPublic = $("<input type='checkbox' id='chkPublic' style='margin-left: 83px;' />").appendTo(layoutAttrDiv);
$("<label for='chkPublic'></label>").text(GetTextByKey("P_XXXXXX", "Make Public")).appendTo(layoutAttrDiv);
$("<label for='chkPublic'></label>").text(GetTextByKey("P_GL_MAKEPUBLIC", "Make Public")).appendTo(layoutAttrDiv);
layoutAttrDiv = $('<div style="margin-left:10px;margin-right:10px;"></div>').appendTo(dialog);
chkCompanyDefault = $("<input type='checkbox' id='chkCompanyDefault' style='margin-left: 83px;' />").appendTo(layoutAttrDiv);
$("<label for='chkCompanyDefault'></label>").text(GetTextByKey("P_XXXXXX", "Save as Company Default")).appendTo(layoutAttrDiv);
$("<label for='chkCompanyDefault'></label>").text(GetTextByKey("P_GL_SAVEASCOMPANYDEFAULT", "Save as Company Default")).appendTo(layoutAttrDiv);
chkMyDefault.on('click', function (e) {
if (chkMyDefault.prop("checked")) {
@@ -385,7 +443,7 @@ var $layoutsavedialog = function (grid, layoutid, type) {
var dialogFunction = $('<div class="dialog-func"></div>').appendTo(dialog);
$('<input type="button" value="' + GetTextByKey("P_GRID_CANCEL", "Cancel") + '" class="dialog-close" />').appendTo(dialogFunction);
$('<input type="button" value="' + GetTextByKey("P_GRID_XXXXXX", "Save Layout") + '" />').on('click', onSaveLayoutClick.bind(this)).appendTo(dialogFunction);
$('<input type="button" value="' + GetTextByKey("P_GL_SAVELAYOUT", "Save Layout") + '" />').on('click', onSaveLayoutClick.bind(this)).appendTo(dialogFunction);
$('<div class="clear"></div>').appendTo(dialogFunction);
$('<div class="maskbg" style="display: none"></div>').appendTo(dialog);
@@ -402,7 +460,7 @@ var $layoutsavedialog = function (grid, layoutid, type) {
IsPublic: chkPublic == null ? false : chkPublic.prop("checked"),
};
if (!layoutinfo.LayoutName || layoutinfo.LayoutName.trim() == '') {
showAlert(GetTextByKey("P_GRID_XXXXXX", "Layout name is required."), GetTextByKey("P_GRID_XXXXXX", 'Layout'));
showAlert(GetTextByKey("P_GL_LAYOUTNAMEISREQUIRED", "Layout name is required."), GetTextByKey("P_GL_LAYOUT", 'Layout'));
return;
}
if (layoutinfo.IsPublic)
@@ -444,7 +502,7 @@ var $layoutsavedialog = function (grid, layoutid, type) {
}
if (priLayouts.length > 0) {
text += GetTextByKey("P_XXXXXX", "My Saved Layouts");
text += GetTextByKey("P_GL_MYSAVEDLAYOUTS", "My Saved Layouts");
for (var i = 0; i < priLayouts.length; i++) {
var item = priLayouts[i];
text += "<br/>&nbsp;&nbsp;&nbsp;&nbsp;" + item.LayoutName + (item.IsDefault ? " *" : "");
@@ -455,7 +513,7 @@ var $layoutsavedialog = function (grid, layoutid, type) {
if (pubLayouts.length > 0) {
if (text != "")
text += "<br/>";
text += GetTextByKey("P_XXXXXX", "Company Layouts");
text += GetTextByKey("P_GL_COMPANYLAYOUTS", "Company Layouts");
for (var i = 0; i < pubLayouts.length; i++) {
var item = pubLayouts[i];
text += "<br/>&nbsp;&nbsp;&nbsp;&nbsp;" + item.LayoutName + (item.IsDefault ? " *" : "");
@@ -474,7 +532,7 @@ var $layoutsavedialog = function (grid, layoutid, type) {
var $managelayoutdialog = function (layoutid) {
this.title = GetTextByKey("P_GRID_XXXXXX", 'Manage Layout');
this.title = GetTextByKey("P_GL_MANAGELAYOUT", 'Manage Layout');
this.dialogId = 'dialog_managelayout';
$("#" + this.dialogId).remove();
this.layoutid = layoutid;
@@ -520,12 +578,12 @@ var $managelayoutdialog = function (layoutid) {
var content = $('<div style="height: 360px;overflow:auto;">').appendTo(dialog);
var labelDiv = $('<div style="margin-left:10px;margin-right:10px;margin-top:10px;"></div>').appendTo(content);
labelDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_XXXXXX", "My Saved Layouts")));
labelDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_GL_MYSAVEDLAYOUTS", "My Saved Layouts")));
myLayoutsDiv = $('<div style="margin-left:10px;margin-right:10px;margin-top:10px;"></div>').appendTo(content);
if (IsAdmin) {
labelDiv = $('<div style="margin-left:10px;margin-right:10px;margin-top:10px;"></div>').appendTo(content);
labelDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_XXXXXX", "Company Layouts")));
labelDiv.append($('<span style="margin-left:10px;"></span>').text(GetTextByKey("P_GL_COMPANYLAYOUTS", "Company Layouts")));
companyLayoutsDiv = $('<div style="margin-left:10px;margin-right:10px;margin-top:10px;"></div>').appendTo(content);
}
@@ -589,8 +647,8 @@ var $managelayoutdialog = function (layoutid) {
}
function deleteLayout(id, div) {
var msg = GetTextByKey("P_GRID_XXXXXX", 'Are you sure you want to delete this layout?');
var title = GetTextByKey("P_GRID_XXXXXX", 'Layout');
var msg = GetTextByKey("P_GL_AREYOUSUREYOUWANTTODELETETHISLAYOUT", 'Are you sure you want to delete this layout?');
var title = GetTextByKey("P_GL_LAYOUT", 'Layout');
showLayoutConfirm(_this.dialog, msg, title, function (e) {
div.remove();
_network.commonpagequery(9, id, function (data) { }, function (e) { });
@@ -618,17 +676,17 @@ function CreateLayoutMenus(sender, layoutid, grid) {
var ulmenus = $('<ul class="lefttitlemenu_ul" style="line-height:32px;max-height:480px;max-width:400px; overflow: hidden auto;"></ul>');
funmenu.append(ulmenus);
var li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GRID_XXXXXX", 'Update Layout'));
var li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GL_UPDATELAYOUT", 'Update Layout'));
ulmenus.append(li);
li.on('click', function () {
ShowSelectLayoutColumnsDialog(layoutid, grid);
});
li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GRID_XXXXXX", 'Save Layout'));
li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GL_SAVELAYOUT", 'Save Layout'));
ulmenus.append(li);
li.on('click', function () {
ShowSaveLayoutDialog(null, null, layoutid, grid, 1);
});
li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GRID_XXXXXX", 'Manage Layout'));
li = $('<li style="line-height:32px;"></li>').text(GetTextByKey("P_GL_MANAGELAYOUT", 'Manage Layout'));
ulmenus.append(li);
li.on('click', function () {
ShowManageLayoutDialog(layoutid);
@@ -768,17 +826,12 @@ function getGridLayout(layoutid, grid, next) {
function showGridLayout(grid, columninfos, next) {
var allColumns = $.extend(true, [], grid.allcolumns);
for (var i = 0; i < allColumns.length; i++) {
allColumns[i].OriginalCaption = allColumns[i].caption;
if (allColumns[i].alwaysshow && columninfos && columninfos.length > 0) {//new alwaysshow column
var exists = false;
for (var j = 0; j < columninfos.length; j++) {
if (allColumns[i].name == columninfos[j].ColumnKey) {
exists = true;
break;
}
}
if (!exists)
columninfos.push({ ColumnKey: allColumns[i].name, Caption: allColumns[i].caption, Width: allColumns[i].width });
var c = allColumns[i];
c.OriginalCaption = c.caption;
if (c.alwaysshow && columninfos && columninfos.length > 0) {//new alwaysshow column
var isnew = columninfos.find(function (ci) { return ci.ColumnKey == c.name }) == null;
if (isnew)
columninfos.push({ ColumnKey: c.name, Caption: c.caption, Width: c.width, Wrap: c.contentWrap, MaxLines: c.maxLines });
}
}
@@ -786,9 +839,12 @@ function showGridLayout(grid, columninfos, next) {
var tmpColumns = allColumns;
if (columninfos && columninfos.length > 0) {
tmpColumns = [];
var fixedindex = columninfos.findLastIndex((c) => c.IsFixed === true);
for (var i = 0; i < columninfos.length; i++) {
var tmpcol = readColumnWidthSort(allColumns, columninfos[i]);
if (tmpcol) {
if (i <= fixedindex)
tmpcol.isfixed = true;
if (tmpcol.Sort != undefined && tmpcol.Sort != 0) {
if (grid.$refs && grid.$refs.grid) {//datagrid:vue
grid.$refs.grid.sortKey = tmpcol.name;
@@ -799,8 +855,10 @@ function showGridLayout(grid, columninfos, next) {
grid.sortDirection = tmpcol.Sort;
}
}
if (tmpcol.name == "Selected")
if (tmpcol.name == "Selected") {
tmpcol.isfixed = true;
tmpColumns.splice(0, 0, tmpcol);
}
else
tmpColumns.push(tmpcol);
}
@@ -819,18 +877,21 @@ function showGridLayout(grid, columninfos, next) {
}
}
function readColumnWidthSort(columns, colinfo) {
function readColumnWidthSort(columns, colinfo, fixedindex) {
for (var i = 0; i < columns.length; i++) {
if (columns[i].name == colinfo.ColumnKey) {
var c = columns[i];
if (c.name == colinfo.ColumnKey) {
if (colinfo.Caption && colinfo.Caption.trim() != "") {
columns[i].caption = colinfo.Caption;
columns[i].UserCaption = colinfo.Caption;
c.caption = colinfo.Caption;
c.UserCaption = colinfo.Caption;
}
columns[i].width = parseInt(colinfo.Width);
columns[i].Sort = colinfo.Sort;
if (columns[i].visible !== false || !columns[i].alwaysshow)
columns[i].visible = colinfo.Visible == undefined ? true : colinfo.Visible;
return columns[i];
c.width = parseInt(colinfo.Width);
c.Sort = colinfo.Sort;
if (c.visible !== false || !c.alwaysshow)
c.visible = colinfo.Visible == undefined ? true : colinfo.Visible;
c.contentWrap = colinfo.Wrap;
c.maxLines = colinfo.MaxLines;
return c;
}
}
return undefined;
@@ -845,12 +906,12 @@ function saveGridLayout(dialog, layoutid, grid, layoutinfo, colinfos, next, over
layoutinfo.Layout = JSON.stringify(colinfos)
_network.commonpagequery(8, htmlencode(JSON.stringify([JSON.stringify(layoutinfo), overwrite ? 1 : 0])), function (e) {
if (e == -1) {
showAlert(GetTextByKey("P_GRID_XXXXXX", "Layout {0} is in use by the Organization and cannot be used. Please select another name.").replace('{0}', layoutinfo.LayoutName)
, GetTextByKey("P_GRID_XXXXXX", 'Layout'));
showAlert(GetTextByKey("P_GL_LAYOUTNAMEINUSE", "Layout {0} is in use by the Organization and cannot be used. Please select another name.").replace('{0}', layoutinfo.LayoutName)
, GetTextByKey("P_GL_LAYOUT", 'Layout'));
}
else if (e == -2) {
showLayoutConfirm(dialog, GetTextByKey('P_GRID_XXXXXX', 'Layout {0} already exists, Do you want to overwrite it?').replace('{0}', layoutinfo.LayoutName)
, GetTextByKey('P_GRID_XXXXXX', 'Layout'), function () {
showLayoutConfirm(dialog, GetTextByKey('P_GL_LAYOUTNAMEEXISTS', 'Layout {0} already exists, Do you want to overwrite it?').replace('{0}', layoutinfo.LayoutName)
, GetTextByKey('P_GL_LAYOUT', 'Layout'), function () {
saveGridLayout(dialog, layoutid, grid, layoutinfo, colinfos, next, true);
});
}
@@ -868,7 +929,9 @@ function saveGridLayout(dialog, layoutid, grid, layoutinfo, colinfos, next, over
function getLayoutOnGrid(grid) {
colinfos = [];
var fixedindex = grid.columns.findLastIndex((c) => c.isfixed === true);
for (var i = 0; i < grid.columns.length; i++) {
var c = grid.columns[i];
var sort = 0;
var sortKey = "";
var sortDirection = 0;
@@ -880,16 +943,19 @@ function getLayoutOnGrid(grid) {
sortKey = grid.sortKey;
sortDirection = grid.sortDirection;
}
if (sortKey && (sortKey == grid.columns[i].name || sortKey == grid.columns[i].key))
if (sortKey && (sortKey == c.name || sortKey == c.key))
sort = sortDirection;
if (isNaN(sort))
sort = 0;
var columnwidth = {
'Visible': grid.columns[i].visible !== false,
'ColumnKey': grid.columns[i].name,
'Caption': grid.columns[i].UserCaption,
'Width': grid.columns[i].width,
'Sort': sort
'Visible': c.visible !== false,
'ColumnKey': c.name,
'Caption': c.UserCaption,
'Width': c.width,
'IsFixed': i == fixedindex,
'Sort': sort,
'Wrap': c.contentWrap,
'MaxLines': c.maxLines
}
colinfos.push(columnwidth);
}
+2 -2
View File
@@ -195,8 +195,8 @@ if (typeof ($jobsitesummary) != "function") {
b = $('<b>' + GetTextByKey("P_MV_NOTES_COLON", "Notes:") + ' </b>');
div_summary.append(b);
var notes = (js.Notes && js.Notes !== "") ? replaceHtmlText(js.Notes) : "";
var label = $('<label></label>').html(notes);
//var notes = (js.Notes && js.Notes !== "") ? replaceHtmlText(js.Notes) : "";
var label = $('<label></label>').text(js.Notes || "");
div_summary.append(label).append(br);
}
}
File diff suppressed because it is too large. Load diff
+20
View File
@@ -0,0 +1,20 @@
var AMR = (function() {
var AMR={toWAV:(function(amr){var decoded=this._decode(amr);if(!decoded){return null}var raw=new Uint8Array(decoded.buffer,decoded.byteOffset,decoded.byteLength);var out=new Uint8Array(raw.length+this.WAV_HEADER_SIZE);var offset=0;var write_int16=(function(value){var a=new Uint8Array(2);(new Int16Array(a.buffer))[0]=value;out.set(a,offset);offset+=2});var write_int32=(function(value){var a=new Uint8Array(4);(new Int32Array(a.buffer))[0]=value;out.set(a,offset);offset+=4});var write_string=(function(value){var d=(new TextEncoder("utf-8")).encode(value);out.set(d,offset);offset+=d.length});write_string("RIFF");write_int32(4+8+16+8+raw.length);write_string("WAVEfmt ");write_int32(16);var bits_per_sample=16;var sample_rate=8e3;var channels=1;var bytes_per_frame=bits_per_sample/8*channels;var bytes_per_sec=bytes_per_frame*sample_rate;write_int16(1);write_int16(1);write_int32(sample_rate);write_int32(bytes_per_sec);write_int16(bytes_per_frame);write_int16(bits_per_sample);write_string("data");write_int32(raw.length);out.set(raw,offset);return out}),decode:(function(amr){var raw=this._decode(amr);if(!raw){return null}var out=new Float32Array(raw.length);for(var i=0;i<out.length;i++){out[i]=raw[i]/32768}return out}),_decode:(function(amr){if(String.fromCharCode.apply(null,amr.subarray(0,this.AMR_HEADER.length))!==this.AMR_HEADER){return null}var decoder=this.Decoder_Interface_init();if(!decoder){return null}var out=new Int16Array(Math.floor(amr.length/6*this.PCM_BUFFER_COUNT));var buf=Module._malloc(this.AMR_BUFFER_COUNT);var decodeInBuffer=new Uint8Array(Module.HEAPU8.buffer,buf,this.AMR_BUFFER_COUNT);buf=Module._malloc(this.PCM_BUFFER_COUNT*2);var decodeOutBuffer=new Int16Array(Module.HEAPU8.buffer,buf,this.PCM_BUFFER_COUNT);var inOffset=6;var outOffset=0;while(inOffset+1<amr.length&&outOffset+1<out.length){var size=this.SIZES[amr[inOffset]>>3&15];if(inOffset+size+1>amr.length){break}decodeInBuffer.set(amr.subarray(inOffset,inOffset+size+1));this.Decoder_Interface_Decode(decoder,decodeInBuffer.byteOffset,decodeOutBuffer.byteOffset,0);if(outOffset+this.PCM_BUFFER_COUNT>out.length){var newOut=new Int16Array(out.length*2);newOut.set(out.subarray(0,outOffset));out=newOut}out.set(decodeOutBuffer,outOffset);outOffset+=this.PCM_BUFFER_COUNT;inOffset+=size+1}Module._free(decodeInBuffer.byteOffset);Module._free(decodeOutBuffer.byteOffset);this.Decoder_Interface_exit(decoder);return out.subarray(0,outOffset)}),encode:(function(pcm,pcmSampleRate,mode){if(pcmSampleRate<8e3){console.error("pcmSampleRate should not be less than 8000.");return null}if(typeof mode==="undefined"){mode=this.Mode.MR795}var encoder=this.Encoder_Interface_init();if(!encoder){return null}var buf=Module._malloc(this.PCM_BUFFER_COUNT*2);var encodeInBuffer=new Int16Array(Module.HEAPU8.buffer,buf,this.PCM_BUFFER_COUNT);buf=Module._malloc(this.AMR_BUFFER_COUNT);var encodeOutBuffer=new Uint8Array(Module.HEAPU8.buffer,buf,this.AMR_BUFFER_COUNT);var ratio=pcmSampleRate/8e3;var inLength=Math.floor(pcm.length/ratio);var inData=new Int16Array(inLength);for(var i=0;i<inLength;i++){inData[i]=pcm[Math.floor(i*ratio)]*(32768-1)}var blockSize=this.SIZES[mode]+1;var out=new Uint8Array(Math.ceil(inLength/this.PCM_BUFFER_COUNT*blockSize)+this.AMR_HEADER.length);out.set((new TextEncoder("utf-8")).encode(this.AMR_HEADER));var inOffset=0;var outOffset=this.AMR_HEADER.length;while(inOffset+this.PCM_BUFFER_COUNT<inData.length&&outOffset+blockSize<out.length){encodeInBuffer.set(inData.subarray(inOffset,inOffset+this.PCM_BUFFER_COUNT));var n=this.Encoder_Interface_Encode(encoder,mode,encodeInBuffer.byteOffset,encodeOutBuffer.byteOffset,0);if(n!=blockSize){console.error([n,blockSize]);break}out.set(encodeOutBuffer.subarray(0,n),outOffset);inOffset+=this.PCM_BUFFER_COUNT;outOffset+=n}Module._free(encodeInBuffer.byteOffset);Module._free(encodeOutBuffer.byteOffset);this.Encoder_Interface_exit(encoder);return out.subarray(0,outOffset)}),Decoder_Interface_init:(function(){console.warn("Decoder_Interface_init not initialized.");return 0}),Decoder_Interface_exit:(function(state){console.warn("Decoder_Interface_exit not initialized.")}),Decoder_Interface_Decode:(function(state,inBuffer,outBuffer,bfi){console.warn("Decoder_Interface_Decode not initialized.")}),Encoder_Interface_init:(function(dtx){console.warn("Encoder_Interface_init not initialized.");return 0}),Encoder_Interface_exit:(function(state){console.warn("Encoder_Interface_exit not initialized.")}),Encoder_Interface_Encode:(function(state,mode,speech,out,forceSpeech){console.warn("Encoder_Interface_Encode not initialized.")}),Mode:{MR475:0,MR515:1,MR59:2,MR67:3,MR74:4,MR795:5,MR102:6,MR122:7,MRDTX:8},SIZES:[12,13,15,17,19,20,26,31,5,6,5,5,0,0,0,0],AMR_BUFFER_COUNT:32,PCM_BUFFER_COUNT:160,AMR_HEADER:"#!AMR\n",WAV_HEADER_SIZE:44};var Module={canvas:{},print:(function(text){console.log(text)}),_main:(function(){AMR.Decoder_Interface_init=Module._Decoder_Interface_init;AMR.Decoder_Interface_exit=Module._Decoder_Interface_exit;AMLine truncated
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=0;var n=0;var o=0;var p=0;var q=global.NaN,r=global.Infinity;var s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0;var B=0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=global.Math.floor;var M=global.Math.abs;var N=global.Math.sqrt;var O=global.Math.pow;var P=global.Math.cos;var Q=global.Math.sin;var R=global.Math.tan;var S=global.Math.acos;var T=global.Math.asin;var U=global.Math.atan;var V=global.Math.atan2;var W=global.Math.exp;var X=global.Math.log;var Y=global.Math.ceil;var Z=global.Math.imul;var _=global.Math.min;var $=global.Math.clz32;var aa=env.abort;var ba=env.assert;var ca=env._sysconf;var da=env._pthread_self;var ea=env._abort;var fa=env.___setErrNo;var ga=env._sbrk;var ha=env._time;var ia=env._emscripten_set_main_loop_timing;var ja=env._emscripten_memcpy_big;var ka=env._emscripten_set_main_loop;var la=0.0;
// EMSCRIPTEN_START_FUNCS
function ma(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function na(){return i|0}function oa(a){a=a|0;i=a}function pa(a,b){a=a|0;b=b|0;i=a;j=b}function qa(a,b){a=a|0;b=b|0;if(!m){m=a;n=b}}function ra(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function sa(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ta(a){a=a|0;B=a}function ua(){return B|0}function va(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;Db(a,31756)|0;i=b;return c[a>>2]|0}function wa(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Eb(d);i=b;return}function xa(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;Ea(a,(e|0)==0?(d[b>>0]|0)>>>3&15:15,b+1|0,c,2)|0;return}function ya(a){a=a|0;var b=0;b=Je(8)|0;Hb(b,b+4|0,a)|0;return b|0}function za(a){a=a|0;Ib(a,a+4|0);Ke(a);return}function Aa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;h=i;i=i+16|0;j=h;c[j>>2]=e;f=(Jb(c[b>>2]|0,c[b+4>>2]|0,e,f,g,j,3)|0)<<16>>16;a[g>>0]=d[g>>0]|0|4;i=h;return f|0}function Ba(a){a=a|0;if(!a)a=-1;else{b[a>>1]=4096;a=0}return a|0}function Ca(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[h>>2]|0;q=g<<16>>16>0;if(q){i=0;j=0;do{l=b[e+(i<<1)>>1]|0;l=Z(l,l)|0;if((l|0)!=1073741824){k=(l<<1)+j|0;if((l^j|0)>0&(k^j|0)<0){c[h>>2]=1;j=(j>>>31)+2147483647|0}else j=k}else{c[h>>2]=1;j=2147483647}i=i+1|0}while((i&65535)<<16>>16!=g<<16>>16);if((j|0)==2147483647){c[h>>2]=m;l=0;k=0;do{j=b[e+(l<<1)>>1]>>2;j=Z(j,j)|0;if((j|0)!=1073741824){i=(j<<1)+k|0;if((j^k|0)>0&(i^k|0)<0){c[h>>2]=1;k=(k>>>31)+2147483647|0}else k=i}else{c[h>>2]=1;k=2147483647}l=l+1|0}while((l&65535)<<16>>16!=g<<16>>16)}else p=8}else{j=0;p=8}if((p|0)==8)k=j>>4;if(!k){b[a>>1]=0;return}o=((pe(k)|0)&65535)+65535|0;j=o<<16>>16;if((o&65535)<<16>>16>0){i=k<<j;if((i>>j|0)==(k|0))k=i;else k=k>>31^2147483647}else{j=0-j<<16;if((j|0)<2031616)k=k>>(j>>16);else k=0}n=Ce(k,h)|0;i=c[h>>2]|0;if(q){j=0;k=0;do{m=b[d+(j<<1)>>1]|0;m=Z(m,m)|0;if((m|0)!=1073741824){l=(m<<1)+k|0;if((m^k|0)>0&(l^k|0)<0){c[h>>2]=1;k=(k>>>31)+2147483647|0}else k=l}else{c[h>>2]=1;k=2147483647}j=j+1|0}while((j&65535)<<16>>16!=g<<16>>16);if((k|0)==2147483647){c[h>>2]=i;m=0;k=0;do{l=b[d+(m<<1)>>1]>>2;l=Z(l,l)|0;if((l|0)!=1073741824){j=(l<<1)+k|0;if((l^k|0)>0&(j^k|0)<0){c[h>>2]=1;k=(k>>>31)+2147483647|0}else k=j}else{c[h>>2]=1;k=2147483647}m=m+1|0}while((m&65535)<<16>>16!=g<<16>>16)}else p=29}else{k=0;p=29}if((p|0)==29)k=k>>4;if(!k)l=0;else{j=(pe(k)|0)<<16>>16;i=o-j|0;l=i&65535;k=(Td(n,Ce(k<<j,h)|0)|0)<<16>>16;j=k<<7;i=i<<16>>16;if(l<<16>>16>0)i=l<<16>>16<31?j>>i:0;else{p=0-i<<16>>16;i=j<<p;i=(i>>p|0)==(j|0)?i:k>>24^2147483647}l=(Z(((ce(i,h)|0)<<9)+32768>>16,32767-(f&65535)<<16>>16)|0)>>>15<<16>>16}i=b[a>>1]|0;if(q){k=f<<16>>16;j=0;while(1){f=((Z(i<<16>>16,k)|0)>>>15&65535)+l|0;i=f&65535;b[e>>1]=(Z(b[e>>1]|0,f<<16>>16)|0)>>>12;j=j+1<<16>>16;if(j<<16>>16>=g<<16>>16)break;else e=e+2|0}}b[a>>1]=i;return}function Da(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f>>2]|0;g=e<<16>>16>0;if(g){j=0;h=0;do{l=b[d+(j<<1)>>1]|0;l=Z(l,l)|0;if((l|0)!=1073741824){k=(l<<1)+h|0;if((l^h|0)>0&(k^h|0)<0){c[f>>2]=1;h=(h>>>31)+2147483647|0}else h=k}else{c[f>>2]=1;h=2147483647}j=j+1|0}while((j&65535)<<16>>16!=e<<16>>16);if((h|0)==2147483647){c[f>>2]=i;l=0;i=0;do{k=b[d+(l<<1)>>1]>>2;k=Z(k,k)|0;if((k|0)!=1073741824){j=(k<<1)+i|0;if((k^i|0)>0&(j^i|0)<0){c[f>>2]=1;i=(i>>>31)+2147483647|0}else i=j}else{c[f>>2]=1;i=2147483647}l=l+1|0}while((l&65535)<<16>>16!=e<<16>>16)}else o=8}else{h=0;o=8}if((o|0)==8)i=h>>4;if(!i)return;n=((pe(i)|0)&65535)+65535|0;k=n<<16>>16;if((n&65535)<<16>>16>0){j=i<<k;if((j>>k|0)==(i|0))i=j;else i=i>>31^2147483647}else{k=0-k<<16;if((k|0)<2031616)i=i>>(k>>16);else i=0}m=Ce(i,f)|0;i=c[f>>2]|0;if(g){j=0;h=0;do{l=b[a+(j<<1)>>1]|0;l=Z(l,l)|0;if((l|0)!=1073741824){k=(l<<1)+h|0;if((l^h|0)>0&(k^h|0)<0){c[f>>2]=1;h=(h>>>31)+2147483647|0}else h=k}else{c[f>>2]=1;h=2147483647}j=j+1|0}while((j&65535)<<16>>16!=e<<16>>16);if((h|0)==2147483647){c[f>>2]=i;i=0;j=0;do{l=b[a+(i<<1)>>1]>>2;l=Z(l,l)|0;if((l|0)!=1073741824){k=(l<<1)+j|0;if((l^j|0)>0&(k^j|0)<0){c[f>>2]=1;j=(j>>>31)+2147483647|0}else j=k}else{c[f>>2]=1;j=2147483647}i=i+1|0}while((i&65535)<<16>>16!=e<<16>>16)}else o=28}else{h=0;o=28}if((o|0)==28)j=h>>4;if(!j)g=0;else{l=pe(j)|0;k=l<<16>>16;if(l<<16>>16>0){i=j<<k;if((i>>k|0)==(j|0))j=i;else j=j>>31^2147483647}else{k=0-k<<16;if((k|0)<2031616)j=j>>(k>>16);else j=0}i=n-(l&65535)|0;k=i&65535;h=(Td(m,Ce(j,f)|0)|0)<<16>>16;g=h<<7;i=i<<16>>16;if(k<<16>>16>0)g=k<<16>>16<31?g>>i:0;else{n=0-i<<16>>16;a=g<<n;g=(a>>n|0)==(g|0)?a:h>>24^2147483647}g=ce(g,f)|0;if((g|0)>4194303)g=2147483647;else g=(g|0)<-4194304?-2147483648:g<<9;g=Ce(g,f)|0}h=(e&65535)+65535&65535;if(h<<16>>16<=-1)return;l=g<<16>>16;k=e+-1<<16>>16<<16>>16;while(1){i=d+(k<<1)|0;g=Z(b[i>>1]|0,l)|0;do if((g|0)!=1073741824){j=g<<1;if((j|0)<=268435455)if((j|0)<-268435456){b[i>>1]=-32768;break}else{b[i>>1]=g>>>12;Line truncated
function rc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=c[h+96>>2]|0;if(d>>>0<8){m=(c[h+100>>2]|0)+(d<<2)|0;l=c[m>>2]|0;a[g>>0]=b[f+(b[l>>1]<<1)>>1]<<4|d|b[f+(b[l+2>>1]<<1)>>1]<<5|b[f+(b[l+4>>1]<<1)>>1]<<6|b[f+(b[l+6>>1]<<1)>>1]<<7;l=i+(d<<1)|0;h=b[l>>1]|0;if((h+-7|0)>4){i=4;k=4;d=1;while(1){n=b[f+(b[(c[m>>2]|0)+(i<<1)>>1]<<1)>>1]|0;h=g+(d<<16>>16)|0;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+((k|1)<<16>>16<<1)>>1]<<1)>>1]<<1|n&65535;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+((k|2)<<16>>16<<1)>>1]<<1)>>1]<<2|n;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+((k|3)<<16>>16<<1)>>1]<<1)>>1]<<3|n;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+(k+4<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<4|n;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+(k+5<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<5|n;a[h>>0]=n;n=e[f+(b[(c[m>>2]|0)+(k+6<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<6|n;a[h>>0]=n;j=k+8<<16>>16;d=d+1<<16>>16;a[h>>0]=e[f+(b[(c[m>>2]|0)+(k+7<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<7|n;i=j<<16>>16;h=b[l>>1]|0;if((i|0)>=(h+-7|0))break;else k=j}}else{j=4;d=1}l=h+4&7;if(!l)return;i=g+(d<<16>>16)|0;a[i>>0]=0;h=0;k=0;d=0;while(1){k=(e[f+(b[(c[m>>2]|0)+(j<<16>>16<<1)>>1]<<1)>>1]&255)<<h|k&255;a[i>>0]=k;d=d+1<<16>>16;h=d<<16>>16;if((h|0)>=(l|0))break;else j=j+1<<16>>16}return}if((d|0)==15){a[g>>0]=15;return}a[g>>0]=b[f>>1]<<4|d|b[f+2>>1]<<5|b[f+4>>1]<<6|b[f+6>>1]<<7;h=i+(d<<1)|0;d=b[h>>1]|0;i=((d&65535)<<16)+262144>>16;m=i&-8;k=(m+524281|0)>>>3&65535;if(k<<16>>16>0){i=((i&-8)+524281|0)>>>3;l=((i<<3)+524280&524280)+12|0;j=1;d=f+8|0;while(1){a[g+(j<<16>>16)>>0]=e[d+2>>1]<<1|e[d>>1]|e[d+4>>1]<<2|e[d+6>>1]<<3|e[d+8>>1]<<4|e[d+10>>1]<<5|e[d+12>>1]<<6|e[d+14>>1]<<7;if(k<<16>>16>1){k=k+-1<<16>>16;j=j+1<<16>>16;d=d+16|0}else break}d=b[h>>1]|0;j=(i<<16)+65536>>16}else{l=4;j=1}d=(0-m|4)+(d&65535)<<16;k=d>>16;if(!k)return;j=g+j|0;a[j>>0]=0;if((d|0)>0){d=0;i=0;h=0}else return;do{i=i&255|b[f+(l+d<<1)>>1]<<d;a[j>>0]=i;h=h+1<<16>>16;d=h<<16>>16}while((d|0)<(k|0));return}function sc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[h+100>>2]|0;n=c[h+96>>2]|0;a[g>>0]=d&15;n=n+(d<<1)|0;i=b[n>>1]|0;if(d>>>0>=8){l=((i&65535)<<16)+-458752|0;if((l|0)>0){m=1;k=f;while(1){f=k+16|0;h=m+1<<16>>16;a[g+(m<<16>>16)>>0]=e[k+14>>1]|e[k+12>>1]<<1|((e[k+2>>1]<<6|e[k>>1]<<7|e[k+4>>1]<<5|e[k+6>>1]<<4)&240|e[k+8>>1]<<3|e[k+10>>1]<<2)&252;l=l+-524288&-65536;if((l|0)<=0)break;else{m=h;k=f}}i=b[n>>1]|0}else h=1;m=i&7;i=g+(h<<16>>16)|0;a[i>>0]=0;if(!m)return;else{j=0;k=0;l=0;h=f}while(1){k=k&255|b[h>>1]<<7-j;a[i>>0]=k;l=l+1<<16>>16;j=l<<16>>16;if((j|0)>=(m|0))break;else h=h+2|0}return}k=i<<16>>16;if(i<<16>>16>7){i=o+(d<<2)|0;h=0;m=0;j=1;while(1){p=e[f+(b[(c[i>>2]|0)+(h<<1)>>1]<<1)>>1]<<7;k=g+(j<<16>>16)|0;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|1)<<16>>16<<1)>>1]<<1)>>1]<<6|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|2)<<16>>16<<1)>>1]<<1)>>1]<<5|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|3)<<16>>16<<1)>>1]<<1)>>1]<<4|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|4)<<16>>16<<1)>>1]<<1)>>1]<<3|p&240;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|5)<<16>>16<<1)>>1]<<1)>>1]<<2|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|6)<<16>>16<<1)>>1]<<1)>>1]<<1|p;a[k>>0]=p;l=m+8<<16>>16;j=j+1<<16>>16;a[k>>0]=p&254|e[f+(b[(c[i>>2]|0)+((m|7)<<16>>16<<1)>>1]<<1)>>1];h=l<<16>>16;k=b[n>>1]|0;if((h|0)>=(k+-7|0))break;else m=l}}else{l=0;j=1}n=k&7;m=g+(j<<16>>16)|0;a[m>>0]=0;if(!n)return;j=o+(d<<2)|0;i=0;h=0;k=0;while(1){h=(e[f+(b[(c[j>>2]|0)+(l<<16>>16<<1)>>1]<<1)>>1]&255)<<7-i|h&255;a[m>>0]=h;k=k+1<<16>>16;i=k<<16>>16;if((i|0)>=(n|0))break;else l=l+1<<16>>16}return}function tc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[h+100>>2]|0;n=c[h+96>>2]|0;a[g>>0]=d<<3;n=n+(d<<1)|0;i=b[n>>1]|0;if(d>>>0>=8){l=((i&65535)<<16)+-458752|0;if((l|0)>0){m=1;k=f;while(1){f=k+16|0;h=m+1<<16>>16;a[g+(m<<16>>16)>>0]=e[k+14>>1]|e[k+12>>1]<<1|((e[k+2>>1]<<6|e[k>>1]<<7|e[k+4>>1]<<5|e[k+6>>1]<<4)&240|e[k+8>>1]<<3|e[k+10>>1]<<2)&252;l=l+-524288&-65536;if((l|0)<=0)break;else{m=h;k=f}}i=b[n>>1]|0}else h=1;m=i&7;i=g+(h<<16>>16)|0;a[i>>0]=0;if(!m)return;else{j=0;k=0;l=0;h=f}while(1){k=k&255|b[h>>1]<<7-j;a[i>>0]=k;l=l+1<<16>>16;j=l<<16>>16;if((j|0)>=(m|0))break;else h=h+2|0}return}k=i<<16>>16;if(i<<16>>16>7){i=o+(d<<2)|0;h=0;m=0;j=1;while(1){p=e[f+(b[(c[i>>2]|0)+(h<<1)>>1]<<1)>>1]<<7;k=g+(j<<16>>16)|0;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|1)<<16>>16<<1)>>1]<<1)>>1]<<6|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|2)<<16>>16<<1)>>1]<<1)>>1]<<5|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|3)<<16>>16<<1)>>1]<<1)>>1]<<4|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|4)<<16>>16<<1)>>1]<<1)>>1]<<3|p&240;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|5)<<16>>16<<1)>>1]<<1)>>1]<<2|p;a[k>>0]=p;p=e[f+(b[(c[i>>2]|0)+((m|6)<<16>>16<<1)>>1]<<1)>>1]<<1|p;a[k>>0]=p;l=m+8<<16>>16;j=j+1<<16>>16;a[k>>0]=p&254|e[f+(b[(c[i>>2]|0)+((m|7)<<16>>16<<1)>>1]<<1)>>1];h=l<<16>>16;k=b[n>>1]|0;if((h|0)>=(k+-7|0))break;else m=l}}else{l=0;j=1}n=k&7;m=g+(j<<16>>16)|0;a[m>>0]=0;if(!n)return;j=o+(d<<2)|0;i=0;h=0;k=0;while(1){h=(e[f+(b[(c[j>>2]|0)+(l<<16>>16<<1)>>1]<<1)>>1]&255)<<7-i|h&255;a[m>>0]=h;k=k+1<<16>>16;i=k<<16>>16;if((i|0)>=(n|0))break;else l=l+1<<16>>16}retLine truncated
function te(a,c,d,f,g,h,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+144|0;t=C+120|0;y=C+100|0;A=C+80|0;B=C+60|0;z=C+40|0;q=C+20|0;r=C;ne(d,t,10,j);fe(t,y,j);if((c|0)==8){b[h>>1]=0;l=2147483647;s=0;while(1){n=s*10|0;d=0;m=0;do{x=(e[7980+(m+n<<1)>>1]|0)+(e[8140+(m<<1)>>1]|0)|0;b[r+(m<<1)>>1]=x;x=(e[t+(m<<1)>>1]|0)-(x&65535)|0;b[q+(m<<1)>>1]=x;x=x<<16;d=(Z(x>>15,x>>16)|0)+d|0;m=m+1|0}while((m|0)!=10);if((d|0)<(l|0)){u=B;p=q;o=u+20|0;do{b[u>>1]=b[p>>1]|0;u=u+2|0;p=p+2|0}while((u|0)<(o|0));u=A;p=r;o=u+20|0;do{b[u>>1]=b[p>>1]|0;u=u+2|0;p=p+2|0}while((u|0)<(o|0));u=a;p=7980+(n<<1)|0;o=u+20|0;do{b[u>>1]=b[p>>1]|0;u=u+2|0;p=p+2|0}while((u|0)<(o|0));b[h>>1]=s}else d=l;s=s+1|0;if((s|0)==8)break;else l=d}}else{d=0;do{x=Z(b[8160+(d<<1)>>1]|0,b[a+(d<<1)>>1]|0)|0;x=(x>>>15)+(e[8140+(d<<1)>>1]|0)|0;b[A+(d<<1)>>1]=x;b[B+(d<<1)>>1]=(e[t+(d<<1)>>1]|0)-x;d=d+1|0}while((d|0)!=10)}do if(c>>>0>=2){x=B+2|0;w=B+4|0;v=e[B>>1]|0;u=b[y>>1]<<1;t=e[x>>1]|0;q=b[y+2>>1]<<1;p=e[w>>1]|0;o=b[y+4>>1]<<1;if((c|0)==5){r=2147483647;h=0;d=0;s=17908;while(1){m=(Z(v-(e[s>>1]|0)<<16>>16,u)|0)>>16;m=Z(m,m)|0;n=(Z(t-(e[s+2>>1]|0)<<16>>16,q)|0)>>16;m=(Z(n,n)|0)+m|0;n=(Z(p-(e[s+4>>1]|0)<<16>>16,o)|0)>>16;n=m+(Z(n,n)|0)|0;m=(n|0)<(r|0);d=m?h:d;h=h+1<<16>>16;if(h<<16>>16>=512)break;else{r=m?n:r;s=s+6|0}}n=(d<<16>>16)*3|0;b[B>>1]=b[17908+(n<<1)>>1]|0;b[x>>1]=b[17908+(n+1<<1)>>1]|0;b[w>>1]=b[17908+(n+2<<1)>>1]|0;b[g>>1]=d;n=B+6|0;m=B+8|0;v=B+10|0;s=e[n>>1]|0;h=b[y+6>>1]<<1;r=e[m>>1]|0;q=b[y+8>>1]<<1;p=e[v>>1]|0;o=b[y+10>>1]<<1;k=2147483647;t=0;d=0;u=9716;while(1){l=(Z(h,s-(e[u>>1]|0)<<16>>16)|0)>>16;l=Z(l,l)|0;c=(Z(q,r-(e[u+2>>1]|0)<<16>>16)|0)>>16;l=(Z(c,c)|0)+l|0;c=(Z(o,p-(e[u+4>>1]|0)<<16>>16)|0)>>16;c=l+(Z(c,c)|0)|0;l=(c|0)<(k|0);d=l?t:d;t=t+1<<16>>16;if(t<<16>>16>=512)break;else{k=l?c:k;u=u+6|0}}k=(d<<16>>16)*3|0;b[n>>1]=b[9716+(k<<1)>>1]|0;b[m>>1]=b[9716+(k+1<<1)>>1]|0;b[v>>1]=b[9716+(k+2<<1)>>1]|0;b[g+2>>1]=d;k=B+12|0;b[g+4>>1]=ue(k,12788,y+12|0,512)|0;t=x;s=w;d=v;l=B;break}else{r=2147483647;h=0;d=0;s=8180;while(1){m=(Z(v-(e[s>>1]|0)<<16>>16,u)|0)>>16;m=Z(m,m)|0;n=(Z(t-(e[s+2>>1]|0)<<16>>16,q)|0)>>16;m=(Z(n,n)|0)+m|0;n=(Z(p-(e[s+4>>1]|0)<<16>>16,o)|0)>>16;n=m+(Z(n,n)|0)|0;m=(n|0)<(r|0);d=m?h:d;h=h+1<<16>>16;if(h<<16>>16>=256)break;else{r=m?n:r;s=s+6|0}}n=(d<<16>>16)*3|0;b[B>>1]=b[8180+(n<<1)>>1]|0;b[x>>1]=b[8180+(n+1<<1)>>1]|0;b[w>>1]=b[8180+(n+2<<1)>>1]|0;b[g>>1]=d;n=B+6|0;m=B+8|0;v=B+10|0;s=e[n>>1]|0;h=b[y+6>>1]<<1;r=e[m>>1]|0;q=b[y+8>>1]<<1;p=e[v>>1]|0;o=b[y+10>>1]<<1;k=2147483647;t=0;d=0;u=9716;while(1){l=(Z(h,s-(e[u>>1]|0)<<16>>16)|0)>>16;l=Z(l,l)|0;c=(Z(q,r-(e[u+2>>1]|0)<<16>>16)|0)>>16;l=(Z(c,c)|0)+l|0;c=(Z(o,p-(e[u+4>>1]|0)<<16>>16)|0)>>16;c=l+(Z(c,c)|0)|0;l=(c|0)<(k|0);d=l?t:d;t=t+1<<16>>16;if(t<<16>>16>=512)break;else{k=l?c:k;u=u+6|0}}k=(d<<16>>16)*3|0;b[n>>1]=b[9716+(k<<1)>>1]|0;b[m>>1]=b[9716+(k+1<<1)>>1]|0;b[v>>1]=b[9716+(k+2<<1)>>1]|0;b[g+2>>1]=d;k=B+12|0;b[g+4>>1]=ue(k,12788,y+12|0,512)|0;t=x;s=w;d=v;l=B;break}}else{w=B+2|0;x=B+4|0;n=e[B>>1]|0;m=b[y>>1]<<1;l=e[w>>1]|0;k=b[y+2>>1]<<1;c=e[x>>1]|0;o=b[y+4>>1]<<1;r=2147483647;h=0;d=0;s=8180;while(1){q=(Z(m,n-(e[s>>1]|0)<<16>>16)|0)>>16;q=Z(q,q)|0;p=(Z(k,l-(e[s+2>>1]|0)<<16>>16)|0)>>16;q=(Z(p,p)|0)+q|0;p=(Z(o,c-(e[s+4>>1]|0)<<16>>16)|0)>>16;p=q+(Z(p,p)|0)|0;q=(p|0)<(r|0);d=q?h:d;h=h+1<<16>>16;if(h<<16>>16>=256)break;else{r=q?p:r;s=s+6|0}}n=(d<<16>>16)*3|0;b[B>>1]=b[8180+(n<<1)>>1]|0;b[w>>1]=b[8180+(n+1<<1)>>1]|0;b[x>>1]=b[8180+(n+2<<1)>>1]|0;b[g>>1]=d;n=B+6|0;m=B+8|0;v=B+10|0;s=e[n>>1]|0;h=b[y+6>>1]<<1;r=e[m>>1]|0;q=b[y+8>>1]<<1;p=e[v>>1]|0;o=b[y+10>>1]<<1;k=2147483647;t=0;d=0;u=9716;while(1){l=(Z(h,s-(e[u>>1]|0)<<16>>16)|0)>>16;l=Z(l,l)|0;c=(Z(q,r-(e[u+2>>1]|0)<<16>>16)|0)>>16;l=(Z(c,c)|0)+l|0;c=(Z(o,p-(e[u+4>>1]|0)<<16>>16)|0)>>16;c=l+(Z(c,c)|0)|0;l=(c|0)<(k|0);d=l?t:d;t=t+1<<16>>16;if(t<<16>>16>=256)break;else{k=l?c:k;u=u+12|0}}k=(d<<16>>16)*6|0;b[n>>1]=b[9716+(k<<1)>>1]|0;b[m>>1]=b[9716+((k|1)<<1)>>1]|0;b[v>>1]=b[9716+(k+2<<1)>>1]|0;b[g+2>>1]=d;k=B+12|0;b[g+4>>1]=ue(k,16884,y+12|0,128)|0;t=w;s=x;d=v;l=B}while(0);u=a;p=B;o=u+20|0;do{b[u>>1]=b[p>>1]|0;u=u+2|0;p=p+2|0}while((u|0)<(o|0));b[z>>1]=(e[A>>1]|0)+(e[l>>1]|0);b[z+2>>1]=(e[A+2>>1]|0)+(e[t>>1]|0);b[z+4>>1]=(e[A+4>>1]|0)+(e[s>>1]|0);b[z+6>>1]=(e[A+6>>1]|0)+(e[n>>1]|0);b[z+8>>1]=(e[A+8>>1]|0)+(e[m>>1]|0);b[z+10>>1]=(e[A+10>>1]|0)+(e[d>>1]|0);b[z+12>>1]=(e[A+12>>1]|0)+(e[k>>1]|0);b[z+14>>1]=(e[A+14>>1]|0)+(e[B+14>>1]|0);b[z+16>>1]=(e[A+16>>1]|0)+(e[B+16>>1]|0);b[z+18>>1]=(e[A+18>>1]|0)+(e[B+18>>1]|0);Ae(z,205,10,j);me(z,f,10,j);i=C;return}function ue(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=a+2|0;u=a+4|0;v=a+6|0;if(f<<16>>16>0){m=e[a>>1]|0;n=b[d>>1]<<1;o=e[t>>1]|0;p=b[d+2>>1]<<1;q=e[u>>1]|0;r=b[d+4>>1]<<1;s=e[v>>1]|0;g=b[d+6>>1]<<1;j=2147483647;k=0;d=0;l=c;while(1){h=(Z(n,m-(e[l>>1]|0)<<16>>16)|0)>>16;h=Z(h,h)|0;i=(Z(p,o-(e[l+2>>1]|0)<<16>>16)|0)>>16;h=(Z(i,i)|0)+h|0;i=(Z(r,q-(e[l+4>>1]Line truncated
// EMSCRIPTEN_END_FUNCS
return{_free:Ke,___errno_location:Le,_memmove:Pe,_Decoder_Interface_Decode:xa,_Decoder_Interface_exit:wa,_Encoder_Interface_init:ya,_memset:Qe,_malloc:Je,_memcpy:Oe,_Encoder_Interface_exit:za,_Decoder_Interface_init:va,_Encoder_Interface_Encode:Aa,runPostSets:Ne,stackAlloc:ma,stackSave:na,stackRestore:oa,establishStackSpace:pa,setThrew:qa,setTempRet0:ta,getTempRet0:ua}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _Encoder_Interface_Encode=Module["_Encoder_Interface_Encode"]=asm["_Encoder_Interface_Encode"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memmove=Module["_memmove"]=asm["_memmove"];var _Decoder_Interface_exit=Module["_Decoder_Interface_exit"]=asm["_Decoder_Interface_exit"];var _Encoder_Interface_init=Module["_Encoder_Interface_init"]=asm["_Encoder_Interface_init"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _Decoder_Interface_Decode=Module["_Decoder_Interface_Decode"]=asm["_Decoder_Interface_Decode"];var _Decoder_Interface_init=Module["_Decoder_Interface_init"]=asm["_Decoder_Interface_init"];var _Encoder_Interface_exit=Module["_Encoder_Interface_exit"]=asm["_Encoder_Interface_exit"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=Runtime.stackSave();try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;Runtime.stackRestore(initialStackTop);return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
return AMR; })();
+1 -1
View File
@@ -1 +1 @@
.ui-popup-mask .wrapper-edit-method{width:100%}.ui-popup-mask .wrapper-edit-method .ui-check-wrapper{padding:0 28px}.comm{display:flex;flex-direction:column;width:320px;background-color:var(--dark-fore-color);border:1px solid var(--title-bg-color);margin-left:12px}.comm{--dark-fore-color: #fff;--dark-fore-opacity-color: rgba(255, 255, 255, .6);--strong-color: #333;--light-color: #ccc}.comm .roundbtn{width:30px;height:30px;display:inline-block;box-sizing:border-box;cursor:pointer;padding:7px;margin-left:10px;fill:var(--dark-fore-color);border-radius:15px;border:none;transition:background-color .2s;-webkit-user-select:none;-ms-user-select:none;user-select:none}.comm .roundbtn:focus,.comm .roundbtn:focus-visible{outline:none}.comm .roundbtn:hover{background-color:var(--dark-fore-opacity-color)}.comm .roundbtn:hover>svg{opacity:.6}.comm .roundbtn.disabled,.comm .roundbtn:disabled{background-color:transparent!important}.comm .roundbtn.disabled,.comm .roundbtn:disabled{fill:#d3d3d3}.comm .roundbtn.disabled:hover>svg,.comm .roundbtn:disabled:hover>svg{opacity:1;opacity:initial}.comm .roundbtn>svg{width:13px;height:14px;display:block;transition:opacity .2s}.comm .title-bar{flex:0 0 auto;padding:5px 0 5px 10px;color:var(--title-color);background-color:var(--title-bg-color);line-height:24px;display:flex;align-items:center;font-size:var(--font-larger-size)}.comm .title-bar>div{flex:1 1 auto}.comm .title-bar>.title-functions{flex:0 0 auto;display:flex;padding:4px}.comm .title-bar>.title-functions>label{margin:0 4px;box-sizing:border-box;cursor:pointer;width:30px;height:30px;background-color:var(--dark-fore-color);border-radius:15px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.comm .title-bar>.title-functions>label>svg{fill:var(--strong-color);width:14px;height:14px;transition:opacity .2s}.comm .title-bar>.title-functions>label:hover{background-color:var(--dark-fore-opacity-color)}.comm .title-bar>.title-functions>label:hover>svg{opacity:.6}.comm .title-bar>.title-functions>label.disabled{cursor:default;opacity:.6}.comm .title-bar>.title-functions>label.disabled:hover{background-color:var(--dark-fore-color)}.comm .title-bar>.title-functions>label.disabled:hover>svg{opacity:1;opacity:initial}.comm .contact-bar{flex:0 0 auto;padding:4px 0;display:flex;border-bottom:1px solid var(--title-bg-color)}.comm .contact-bar>.bar-icon{flex:0 0 auto}.comm .contact-bar>.bar-icon>svg{width:30px;height:30px;margin:0 8px}.comm .contact-bar>.bar-list{flex:1 1 auto;width:calc(100% - 46px)}.comm .contact-bar>.bar-list .bar-list-container{max-height:120px;overflow:auto}.comm .contact-bar>.bar-list .contact-item{display:flex;align-items:center;line-height:22px}.comm .contact-bar>.bar-list .contact-item>svg{flex:0 0 auto;width:16px;height:16px;margin-right:6px;fill:var(--strong-color)}.comm .contact-bar>.bar-list .contact-item>span{color:var(--strong-color);font-size:var(--font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.comm .contact-bar .roundbtn{float:right;margin:4px 10px 10px}.comm .contact-bar .roundbtn>svg{width:16px}.comm .message-bar{flex:0 0 auto;border-bottom:1px solid var(--title-bg-color);display:flex;flex-direction:column}.comm .message-bar>textarea{padding:10px 10px 0;border:1px solid var(--title-bg-color);border-radius:5px;height:70px;resize:none;font-size:var(--font-smaller-size);font-family:var(--font-family);margin:3px 5px;background:#f0f0f0}.comm .message-bar>textarea:focus,.comm .message-bar>textarea:focus-visible{outline:none}.comm .message-bar>div{padding:0 10px 10px}.comm .message-bar>div>.customer-name{float:left}.comm .message-bar>div>.customer-name>span{font-size:var(--font-smaller-size)}.comm .message-bar>div>.customer-name>.ui-input{margin-left:4px;width:150px;border-top:none;border-left:none;border-right:none}.comm .message-bar>div>.prompt-count{display:inline-block;color:var(--light-color);font-size:var(--font-smaller-size)}.comm .list-bar{flex:1 1 auto;overflow:auto;margin-top:8px;min-height:100px}.comm .list-bar .item-div{margin-top:5px;border-bottom:solid 1px lightgray;padding:3px 10px 5px;line-height:1.5rem;white-space:normal;word-break:break-word;overflow:hidden;font-size:var(--font-size);color:#333;display:flex;flex-direction:column}.comm .list-bar .item-div:last-child{border-bottom:none}.comm .list-bar .item-div .item-poster{font-weight:700;font-size:var(--font-size);align-self:flex-start}.comm .list-bar .item-div .item-poster .ui-tooltip-wrapper>.ui-tooltip-content{font-weight:400}.comm .list-bar .item-div .item-content{line-height:1.2rem;padding:8px 20px;border-radius:5px;white-space:pre-wrap;word-break:break-word;max-width:240px;background-color:#f4f4f4}.comm .list-bar .item-div .item-content a>svg{width:13px;height:13px;fill:#2140fb}.comm .list-bar .item-div .item-content a>svg:hover{border-bottom:1px solid}.comm .list-bar .item-div .item-content>span:after{content:"";display:block}.comm .list-bar .item-div .item-conteLine truncated
.ui-popup-mask .wrapper-edit-method{width:100%}.ui-popup-mask .wrapper-edit-method .ui-check-wrapper{padding:0 28px}.ui-popup-mask .status-grid,.ui-popup-mask .contacts-record,.ui-popup-mask .contacts-wo{position:relative}.ui-popup-mask .status-grid>.ui-grid,.ui-popup-mask .contacts-record>.ui-grid,.ui-popup-mask .contacts-wo>.ui-grid{overflow-x:visible}.comm{display:flex;flex-direction:column;width:320px;background-color:var(--dark-fore-color);border:1px solid var(--title-ctrlbg-color);margin-left:12px}.comm{--dark-fore-color: #fff;--dark-fore-opacity-color: rgba(255, 255, 255, .6);--strong-color: #333;--light-color: #ccc}.comm .roundbtn{width:30px;height:30px;display:inline-block;box-sizing:border-box;cursor:pointer;padding:7px;margin-left:10px;fill:var(--dark-fore-color);border-radius:15px;border:none;transition:background-color .2s;-webkit-user-select:none;-ms-user-select:none;user-select:none}.comm .roundbtn:focus,.comm .roundbtn:focus-visible{outline:none}.comm .roundbtn:hover{background-color:var(--dark-fore-opacity-color)}.comm .roundbtn:hover>svg{opacity:.6}.comm .roundbtn.disabled,.comm .roundbtn:disabled{fill:#d3d3d3;background-color:transparent!important}.comm .roundbtn.disabled:hover>svg,.comm .roundbtn:disabled:hover>svg{opacity:1;opacity:initial}.comm .roundbtn>svg{width:13px;height:14px;display:block;transition:opacity .2s}.comm .title-bar{flex:0 0 auto;padding:5px 0 5px 10px;color:var(--title-color);background-color:var(--title-ctrlbg-color);line-height:24px;display:flex;align-items:center;font-size:var(--font-larger-size)}.comm .title-bar>div{flex:1 1 auto}.comm .title-bar>.title-functions{flex:0 0 auto;display:flex;padding:4px}.comm .title-bar>.title-functions>label{margin:0 4px;box-sizing:border-box;cursor:pointer;width:30px;height:30px;background-color:var(--dark-fore-color);border-radius:15px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.comm .title-bar>.title-functions>label>svg{fill:var(--strong-color);width:14px;height:14px;transition:opacity .2s}.comm .title-bar>.title-functions>label:hover{background-color:var(--dark-fore-opacity-color)}.comm .title-bar>.title-functions>label:hover>svg{opacity:.6}.comm .title-bar>.title-functions>label.disabled{cursor:default;opacity:.6}.comm .title-bar>.title-functions>label.disabled:hover{background-color:var(--dark-fore-color)}.comm .title-bar>.title-functions>label.disabled:hover>svg{opacity:1;opacity:initial}.comm .contact-bar{flex:0 0 auto;padding:4px 0;display:flex;border-bottom:1px solid var(--title-ctrlbg-color);position:relative}.comm .contact-bar>.bar-icon{flex:0 0 auto}.comm .contact-bar>.bar-icon>svg{width:30px;height:30px;margin:0 8px}.comm .contact-bar>.bar-list{flex:1 1 auto;width:calc(100% - 46px)}.comm .contact-bar>.bar-list .bar-list-container{min-height:26px;max-height:120px;overflow-x:hidden;overflow-y:auto;position:relative}.comm .contact-bar>.bar-list .contact-item{display:flex;align-items:center;line-height:22px}.comm .contact-bar>.bar-list .contact-item>svg{flex:0 0 auto;width:16px;height:16px;margin-right:6px;fill:var(--strong-color)}.comm .contact-bar>.bar-list .contact-item>span{color:var(--strong-color);font-size:var(--font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.comm .contact-bar>.bar-info{display:none;flex:1 1 auto;text-align:right;margin-right:50px}.comm .contact-bar>.bar-collapser{position:absolute;top:3px;right:18px;width:26px;height:26px;box-sizing:border-box;padding:10px;cursor:pointer;border-radius:13px;transition:background-color .12s ease}.comm .contact-bar>.bar-collapser:hover{background-color:var(--light-color)}.comm .contact-bar>.bar-collapser>span{width:6px;height:6px;position:absolute;border-top:1px solid var(--strong-color);border-right:1px solid var(--strong-color);top:8px;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.comm .contact-bar>.bar-collapser.collapsed>span{top:9px;left:8px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.comm .contact-bar .roundbtn{float:right;margin:4px 10px 10px}.comm .contact-bar .roundbtn>svg{width:16px}.comm.collapsed .contact-bar{border-bottom-color:transparent}.comm.collapsed .contact-bar>.bar-icon,.comm.collapsed .contact-bar>.bar-list{display:none}.comm.collapsed .contact-bar>.bar-info{display:block}.comm.collapsed .follower-bar{display:none!important}.comm .message-bar{flex:0 0 auto;border-bottom:1px solid var(--title-ctrlbg-color);display:flex;flex-direction:column}.comm .message-bar>textarea{padding:10px 10px 0;border:1px solid var(--title-ctrlbg-color);border-radius:5px;height:70px;resize:none;font-size:var(--font-smaller-size);font-family:var(--font-family);margin:3px 5px;background:#f0f0f0}.comm .message-bar>textarea:focus,.comm .message-bar>textarea:focus-visible{outline:none}.comm .message-bar>div{padding:0 10px 10px}.comm .message-bar>div>.customer-left{float:left;text-align:left}.comm .message-bar>div>.customer-left>.customer-name>span{font-size:var(--Line truncated
+6 -9
View File
@@ -1,11 +1,8 @@
(function(O,E){typeof exports=="object"&&typeof module<"u"?E(exports):typeof define=="function"&&define.amd?define(["exports"],E):(O=typeof globalThis<"u"?globalThis:O||self,E(O["lib-app"]={}))})(this,function(O){var _,q,K,Q,V,X,w,k,Z,ee,Y,G,W,A,U,H,te,de,ne,ue,fe,Ae,ye,$e,ge,Fe,z,$,j,oe;"use strict";var Oe=(O,E,P)=>{if(!E.has(O))throw TypeError("Cannot "+P)};var e=(O,E,P)=>(Oe(O,E,"read from private field"),P?P.call(O):E.get(O)),N=(O,E,P)=>{if(E.has(O))throw TypeError("Cannot add the same private member more than once");E instanceof WeakSet?E.add(O):E.set(O,P)},v=(O,E,P,re)=>(Oe(O,E,"write to private field"),re?re.call(O,P):E.set(O,P),P);var be=(O,E,P)=>(Oe(O,E,"access private method"),P);const E="",P=window["lib-ui"].createElement;function re(ie,t){const n=P("div","comm"),s=P("div","title-bar",ie,P("div","title-functions",...t));return n.appendChild(s),n}const Ce=window["lib-ui"].Grid,_e=window["lib-ui"].Dropdown,S=window["lib-ui"].createElement,Ue=window["lib-ui"].createCheckbox,ve=window["lib-ui"].Popup,we=window["lib-ui"].showAlert,De=window["lib-utility"].isEmail,ce=window["lib-utility"].nullOrEmpty,x=window["lib-utility"].r;class Ee{constructor(t={}){N(this,_,void 0);N(this,q,void 0);v(this,_,t)}async show(t=document.body){const n=Math.max.apply(null,[...document.querySelectorAll("[tabindex]")].map(l=>l.tabIndex??0))+3,s=e(this,_).contact,u=S("input",l=>{l.type="text",l.className="ui-input",l.tabIndex=n+1,l.maxLength=200,l.autocomplete="off"}),p=new _e({tabIndex:n+2});p.source=[{value:"0",text:x("text","Text")},{value:"1",text:x("email","Email")},{value:"2",text:x("phone","Phone")}];const i=S("input",l=>{l.type="email",l.className="ui-input",l.tabIndex=n+3,l.maxLength=100,l.autocomplete="off"}),d=S("input",l=>{l.type="tel",l.className="ui-input",l.tabIndex=n+4,l.maxLength=50,l.autocomplete="off"}),o=Ue({tabIndex:n+5}),a=S("textarea",l=>{l.className="ui-text",l.tabIndex=n+6,l.maxLength=2e3,l.style.height="100px"}),b=[];e(this,_).company&&b.push({text:s==null?x("addContactRecord","Add Contact Record"):x("editContactRecord","Edit Contact Record"),trigger:()=>{const l=this.prepare();if(l==null)return!1;if(l.SaveToCustomer=1,typeof e(this,_).onSave=="function")return e(this,_).onSave.call(this,l,"customerrecord")}}),b.push({text:x("workOrderOnly","Work Order Only"),trigger:()=>{const l=this.prepare();if(l==null)return!1;if(l.Id=-1,l.SaveToCustomer=0,typeof e(this,_).onSave=="function")return e(this,_).onSave.call(this,l,"workorder")}},{text:x("cancel","Cancel")});const y=new ve({onMasking:e(this,_).onMasking,title:s==null?x("addContact","Add Contact"):x("editContact","Edit Contact"),content:S("div",l=>{l.className="setting-wrapper",l.style.width="500px"},S("div","setting-item",S("span","setting-label setting-required",x("contactNameColon","Contact Name:")),u),S("div","setting-item",S("span","setting-label",x("contactPreferencesColon","Contact Preferences:")),p.create()),S("div","setting-item",S("span","setting-label",x("contactEmailColon","Email Address:")),i),S("div","setting-item",S("span","setting-label",x("contactMobileColon","Mobile:")),d),S("div","setting-item",S("span","setting-label",x("contactOptColon","Opt Out:")),o),S("div","setting-item",S("span","setting-label",x("contactNotesColon","Notes:")),a)),buttons:b});s!=null?(u.value=s.Name,p.select(String(s.ContactPreference)),i.value=s.Email,d.value=s.MobilePhone,o.querySelector("input").checked=s.OptOut,a.value=s.Notes):p.select("0"),v(this,q,{contactName:u,preferences:p,contactEmail:i,contactMobile:d,checkOpt:o,contactNotes:a});const C=await y.show(t);return setTimeout(()=>u.focus()),C}prepare(){const t=e(this,q).contactName.value,n=e(this,q).preferences.selected.value,s=e(this,q).contactEmail.value,u=e(this,q).contactMobile.value,p=e(this,q).checkOpt.querySelector("input").checked,i=e(this,q).contactNotes.value,d=e(this,_).contact==null?x("addContact","Add Contact"):x("editContact","Edit Contact");if(ce(t))return we(d,x("contactNameRequired","Contact Name cannot be empty."),"warn").then(()=>e(this,q).contactName.focus()),null;if(ce(s)&&ce(u))return we(d,x("contactEmailPhoneRequired","Email and Mobile Phone cannot both be empty."),"warn").then(()=>ce(s)?e(this,q).contactEmail.focus():e(this,q).contactMobile.focus()),null;if(!ce(s)&&!De(s))return we(d,x("contactEmailInvalid","The email address is invalid."),"warn").then(()=>e(this,q).contactEmail.focus()),null;let o=e(this,_).contact;return o==null?o={}:o.OptOut!==p&&(p!==!1||o.OptOut_BC===!1)&&(o.selected=!p),o.Name=t,o.ContactPreference=n,o.Email=s,o.MobilePhone=u,o.OptOut=p,o.Notes=i,o}}_=new WeakMap,q=new WeakMap;class Be{constructor(t={}){N(this,K,void 0);N(this,Q,void 0);v(this,K,t)}async show(t,n=document.body){const s=S("div","selcontact-grid"),p=await new ve({onMasking:e(this,K).onMasking,title:t,content:S("div","selcontact-wrapper",s),buttons:[{text:x("ok","OK"),key:"ok",trigger:()=>{if(typeof e(this,K).onOk=="function")return e(this,K).onOk.call(this,e(this,Q).source.filter(d=>d.selectLine truncated
${C}`),M(b,C)}e(this,W).scrollTop=e(this,W).scrollHeight}}set readonly(t){if(e(this,k).readonly=t,e(this,w)==null)return;const n=e(this,w).querySelector(".check-status-link");t===!0?n.classList.add("disabled"):n.classList.remove("disabled"),n.querySelector("input").disabled=t;const s=t===!0?"none":"";e(this,w).querySelector(".button-edit-contacts").style.display=s,e(this,w).querySelector(".button-edit-followers").style.display=s,e(this,w).querySelector(".message-bar").style.display=s}set recordReadonly(t){e(this,k).recordReadonly=t,e(this,w)!=null&&(e(this,w).querySelector(".button-edit-contacts").style.display=t===!0?"none":"",e(this,w).querySelector(".button-edit-followers").style.display=t===!0?"none":"")}set companyName(t){e(this,k).companyName=t;const n=e(this,w).querySelector(".title-company");T(t)?n.style.display="none":(n.innerText=t,n.style.display="")}set companyCode(t){e(this,k).companyCode=t;const n=e(this,w).querySelector(".title-company");T(e(this,k).companyName)?n.style.display="none":(n.innerText=e(this,k).companyName,T(t)||(n.innerText=e(this,k).companyName+"/"+t),n.style.display="")}get followers(){return[...e(this,ee).children].map(t=>{const n=t.querySelector("span");return{Email:n.dataset.email,MobilePhone:n.dataset.mp,Value:n.dataset.name}})}set followers(t){if(e(this,A).followers=t,e(this,ee).replaceChildren(),(t==null?void 0:t.length)>0){e(this,w).querySelector(".follower-bar").style.display="",M(e(this,Y),r("editFollower","Edit Followers")),e(this,w).querySelector(".follower-bar>.bar-list").appendChild(e(this,Y));for(let n of t){if(n.OptOut)continue;const s=String(n.MobilePhone).trim(),u=String(n.Email).trim(),p=[];n.SendEmail&&p.push(r("emailsToColon","Emails to:")+` ${u}`),n.SendText&&p.push(r("textsToColon",`Texts to: ${s}`));let i;n.SendText&&n.SendEmail?i="at":i=n.SendText?"comment-lines":"envelope";const d=f("span",a=>{n.SendEmail&&(a.dataset.email=u),n.SendText&&(a.dataset.mp=s),a.dataset.name=n.Name,a.innerText=n.Name}),o=f("div","contact-item",F("fa-light",i),d);e(this,ee).appendChild(o),d.scrollWidth>d.offsetWidth&&p.splice(0,0,r("nameColon","Name:")+` ${c.Name}`),M(d,p.join(`
`))}}else e(this,w).querySelector(".follower-bar").style.display="none",M(e(this,Y),r("addFollowers","Add Followers")),e(this,w).querySelector(".button-edit-contacts").insertAdjacentElement("beforebegin",e(this,Y));e(this,W).scrollTop=e(this,W).scrollHeight}setData(t,n){e(this,A)[t]=n}create(){const t=e(this,k),n=t.readonly,s=Te({className:"check-auto-update",checked:t.autoUpdates,checkedNode:F("fa-regular","redo-alt"),uncheckedNode:F("fa-regular","ban"),onchange:function(){M(s,this.checked?r("autoUpdateEnabled","Auto Updates Enabled"):r("autoUpdateDisabled","Auto Updates Disabled"))}});t.autoUpdatesVisible===!1&&(s.style.display="none");const u=Te({className:"check-status-link",enabled:!n,checked:t.statusLink,checkedNode:F("fa-regular","link"),uncheckedNode:F("fa-regular","unlink"),onchange:function(){M(u,this.checked?r("statusLinkIncluded","Status Link Included"):r("statusLinkExcluded","Status Link Excluded"))}});t.statusLinkVisible===!1&&(u.style.display="none");const p=re(f("div",null,f("div",o=>{o.className="title-module",o.innerText=t.title??r("messages","Customer Communication")}),f("div",o=>{o.className="title-company",T(t.companyName)?o.style.display="none":T(t.companyCode)?o.innerText=t.companyName:o.innerText=t.companyName+"/"+t.companyCode})),[M(s,r("autoUpdateEnabled","Auto Updates Enabled")),M(u,r("statusLinkExcluded","Status Link Excluded"))]);v(this,Z,be(this,fe,Ae).call(this,p,t)),v(this,ee,be(this,ye,$e).call(this,p,t));const i=f("textarea","ui-text");i.placeholder=r("typeMessage","Enter Message Here"),t.maxLength??(t.maxLength=3e3),i.maxLength=t.maxLength,i.addEventListener("input",()=>{const o=e(this,G).value,a=String(T(o)?0:o.length)+"/"+String(t.maxLength);e(this,w).querySelector(".message-bar .prompt-count").innerText=a}),v(this,G,i),p.appendChild(f("div",o=>{o.className="message-bar",n===!0&&(o.style.display="none")},i,f("div",o=>o.style.textAlign="right",f("div",o=>{o.className="customer-name",t.customerNameVisible!==!0&&(o.style.display="none")},f("span",o=>o.innerText=r("nameColon","Name:")),f("input",o=>{o.type="text",o.className="ui-input"})),f("div","prompt-count"),f("button",o=>{o.className="roundbtn button-send-message",o.style.backgroundColor="rgb(19, 150, 204)",o.appendChild(F("fa-solid","paper-plane")),M(o,r("sendMessage","Send Message")),o.addEventListener("click",()=>{const a=e(this,G).value;if(T(a==null?void 0:a.trim())){pe(r("error","Error"),r("messageRequired","Please input the message."),"warn");return}typeof e(this,k).onAddMessage=="function"&&e(this,k).onAddMessage(e(this,G).value)})}))));const d=f("div","list-bar");return v(this,W,d),p.appendChild(d),v(this,w,p)}load(t,n,s){var p;const u=[];if((t==null?void 0:t.length)>0){n??(n=e(this,A).contacts),s??(s=e(this,A).allfollowers);for(let i of t){const d=f("div","item-div");let o;if(i.IsReply&&(n==null?void 0:n.length)>0){const y=he(i.Sender)?n.find(C=>C.Email===i.Sender):n.find(C=>C.MobilePhone===i.Sender);o=y==null?void 0:y.Name}o??(o=i.IsReply&&String(i.FormatSender)!==""?i.FormatSender:i.Sender);let a="";if(!i.IsReply&&((p=i.OriPhoneNumbers)==null?void 0:p.length)>0)for(let y of i.OriPhoneNumbers){let C;const l=he(y);if((n==null?void 0:n.length)>0){let m=l?n.find(g=>g.Email===y):n.find(g=>g.MobilePhone===y);m!=null?C=`${l?m.Email:m.MobilePhoneDisplayText} - ${m.Name}`:(s==null?void 0:s.length)>0&&(m=l?s.find(g=>g.Email===y):s.find(g=>g.MobilePhone===y),m!=null&&(C=`${l?m.Email:m.MobilePhoneDisplayText} - ${m.Name}`))}a+=(C??y)+`
`}a!==""&&(a=r("sendToColon","Send To :")+`
${a}`),d.appendChild(f("div",y=>{y.className="item-poster",y.innerText=o,!i.IsReply&&(a==null?void 0:a.length)>0&&M(y,a)}));const b=f("div","item-content");if(b.appendChild(f("span",y=>{/https?:\/\//i.test(i.Message)?y.innerHTML=je(i.Message):y.innerText=i.Message})),i.IsReply)d.classList.add("item-other");else{d.classList.add("item-self");const[y,C]=be(this,ge,Fe).call(this,i);if(y!==-100){let l;switch(y){case 0:l=r("pending","Pending"),b.style.backgroundColor="#ffc107";break;case 1:l=r("sent","Sent");break;case 9:l=r("failed","Failed"),b.style.backgroundColor="#ffc107";break;case 10:l=r("optOut","Opt-Out"),b.style.backgroundColor="#ffc107";break;case 412:l=r("landline","Landline"),b.style.backgroundColor="#ffc107";break;default:l=r("undelivered","Undelivered"),b.style.backgroundColor="#ffc107";break}const m=f("div",g=>{g.className="item-status",g.innerText=l,y==-10&&M(g,C)});b.appendChild(m)}}d.append(b,f("div",y=>{y.className="item-time",y.innerText=i.TimeStr})),u.push(d)}u[0].style.marginTop="0"}e(this,W).replaceChildren(...u),e(this,W).scrollTop=e(this,W).scrollHeight}}w=new WeakMap,k=new WeakMap,Z=new WeakMap,ee=new WeakMap,Y=new WeakMap,G=new WeakMap,W=new WeakMap,A=new WeakMap,U=new WeakMap,H=new WeakMap,te=new WeakSet,de=function(){return e(this,w).querySelector(".check-auto-update>input")},ne=new WeakSet,ue=function(){return e(this,w).querySelector(".check-status-link>input")},fe=new WeakSet,Ae=function(t,n){const s=n.readonly,u=n.recordReadonly,p=f("div","bar-list-container");return t.append(f("div","contact-bar",f("div","bar-icon",F("fa-solid","user-circle",{fill:"lightgray"})),f("div","bar-list",p,f("button",i=>{i.className="roundbtn button-edit-contacts",i.style.backgroundColor="rgb(1, 199, 172)",s===!0&&(i.style.display="none"),i.appendChild(F("fa-solid","user-edit")),M(i,r("editContacts","Edit Contacts")),i.addEventListener("click",()=>{const d=new Ge({onMasking:n.onMasking,title:f("div",o=>{o.style.display="flex",o.style.alignItems="center",o.style.padding="10px 0 6px 12px",o.append(f("div",a=>{a.className="ui-popup-move",a.style.flex="1 1 auto"},f("div",a=>a.innerText=r("editContacts","Edit Contacts")),f("div",a=>{a.className="title-company",T(n.companyName)?a.style.display="none":T(n.companyCode)?a.innerText=n.companyName:a.innerText=n.companyName+"/"+n.companyCode})),f("button",a=>{a.style.flex="0 0 auto",a.style.backgroundColor="rgb(1, 199, 172)",a.style.marginRight="10px",a.className="roundbtn button-from-customer-record",u&&(a.style.display="none"),a.appendChild(F("fa-solid","handshake",{width:"16px",height:"16px"})),a.addEventListener("click",()=>{const b=new Be({contacts:[],onOk:C=>{typeof e(this,k).onSelectCRContacts=="function"&&(C==null||C.map(m=>(delete m.selected,m)),e(this,k).onSelectCRContacts(C));const l=e(this,A).contacts;e(this,U).source=l.filter(m=>m.Id>=0).map(m=>(m.OptOut||m.OptOut_BC||typeof m.selected>"u"&&(m.selected=!0),m)),e(this,H).source=l.filter(m=>m.Id<0).map(m=>(m.OptOut||m.OptOut_BC||typeof m.selected>"u"&&(m.selected=!0),m))}});var y=r("selectFromCustomerRecord","Select from Customer Record");if(b.show(y,t),typeof e(this,k).onOpenSelectCRContacts=="function"){const C=e(this,k).onOpenSelectCRContacts();return typeof(C==null?void 0:C.then)=="function"?C.then(l=>(l.map(m=>{for(let g of e(this,A).contacts)if(m.Id===g.Id){m.selected=!0;break}return typeof m.selected>"u"&&(m.selected=!1),m}),e(this,A).contacts.filter(m=>m.Id>=0).map(m=>(m.OptOut||m.OptOut_BC||typeof m.selected>"u"&&(m.selected=!0),m)),b.source=l,l)):!1}}),M(a,r("selectFromCustomerRecord","Select from Customer Record"))}),f("button",a=>{a.style.flex="0 0 auto",a.style.backgroundColor="rgb(1, 199, 172)",a.style.marginRight="10px",a.className="roundbtn button-add-contact",u&&(a.style.display="none"),a.appendChild(F("fa-solid","user-plus",{width:"16px",height:"16px"})),a.addEventListener("click",()=>{new Ee({company:!T(e(this,k).companyName),onSave:y=>{if(e(this,U).source.some(l=>l.Name===y.Name&&l.MobilePhone===y.MobilePhone))return pe(r("addContact","Add Contact"),r("contactUniqueRequired","Contact name and contact mobile must be a unique combination."),"warn"),!1;if(typeof n.onSave=="function"){const l=n.onSave(y,!0);return typeof(l==null?void 0:l.then)=="function"?l.then(m=>(e(this,U).source=m.filter(g=>g.Id>=0).map(g=>(g.OptOut||g.OptOut_BC||typeof g.selected>"u"&&(g.selected=!0),g)),e(this,H).source=m.filter(g=>g.Id<0).map(g=>(g.OptOut||g.OptOut_BC||typeof g.selected>"u"&&(g.selected=!0),g)),m)):!1}}}).show(t)}),M(a,r("addContact","Add Contact"))}))}),content:f("div",null,f("div",o=>{T(e(this,k).companyName)&&(o.style.display="none"),o.style.fontWeight="bold",o.innerText=r("contactFromRecord","Contacts from Customer Record")}),f("div",o=>{T(e(this,k).companyName)&&(o.style.display="none"),o.className="contacts-record",o.style.maxHeight="200px",o.style.width="675px",o.style.overflow="auto"}),f("div",o=>{o.style.fontWeight="bold",o.innerText=r("contactFromWorkOrder","Contacts not on Customer Reco Line truncated
(function(R,O){typeof exports=="object"&&typeof module<"u"?O(exports):typeof define=="function"&&define.amd?define(["exports"],O):(R=typeof globalThis<"u"?globalThis:R||self,O(R["lib-app"]={}))})(this,function(R){"use strict";var Xe=Object.defineProperty;var ze=(R,O,U)=>O in R?Xe(R,O,{enumerable:!0,configurable:!0,writable:!0,value:U}):R[O]=U;var q=(R,O,U)=>(ze(R,typeof O!="symbol"?O+"":O,U),U);const O=window["lib-ui"].createElement,U=window["lib-ui"].setTooltip,ie=window["lib-ui"].showAlert,se=window["lib-ui"].createPicture,ge=window["lib-ui"].createAudio,Ee=window["lib-ui"].createVideo,D=window["lib-ui"].createFile,Oe=window["lib-ui"].createIcon,Te=window["lib-ui"].Popup,ae=window["lib-ui"].Grid;window["lib-ui"].Dropdown,window["lib-utility"].global;const oe=window["lib-utility"].isEmail;function Q(y,e){const t=O("div","comm"),l=O("div","title-bar",y,O("div","title-functions",...e));return t.appendChild(l),t}function Z(y,e,t){switch(e){case"application/pdf":case".pdf":y.appendChild(D(t,"file-pdf"));break;case"application/msword":case"application/vnd.ms-word":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":case".doc":case".docx":y.appendChild(D(t,"file-word"));break;case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":case".xls":case".xlsx":y.appendChild(D(t,"file-excel"));break;case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":case".ppt":case".pptx":y.appendChild(D(t,"file-powerpoint"));break;case"application/smil":case".smil":break;case"audio/aac":case"audio/amr":case"audio/mp3":case"audio/mpeg":case"audio/x-mpeg":case"audio/ogg":case"audio/opus":case"audio/wav":case"audio/webm":case".aac":case".amr":case".mp3":case".ogg":case".opus":case".wav":y.appendChild(ge(e,t));break;case"text/plain":case"text/x-vcard":case".txt":case".vcard":y.appendChild(D(t,"id-card"));break;case"video/3gpp":case"video/mp2t":case"video/mp4":case"video/mpeg":case"video/x-mpeg":case"video/quicktime":case"video/webm":case".3gp":case".3gpp":case".mp4":case".mpg":case".mov":case".webm":y.appendChild(Ee(t));break;case".jpg":case".jpeg":case".jfif":case".png":case".gif":case".bmp":y.appendChild(se(t));break;default:/^image\//.test(e)?y.appendChild(se(t)):/^audio\//.test(e)?y.appendChild(D(t,"music")):/^video\//.test(e)?y.appendChild(D(t,"video")):y.appendChild(D(t));break}return y}const re={limit:1258291,text:"1.2MB"},F=[".amr",".ogv","application/msword","application/vnd.ms-word","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/pdf","audio/aac","audio/amr","audio/mp3","audio/mpeg","audio/x-mpeg","audio/ogg","audio/opus","audio/wav","audio/webm","image/bmp","image/gif","image/jpeg","image/jfif","image/png","image/tiff","image/webp","text/plain","text/vcard","text/x-vcard","video/3gpp","video/mp2t","video/mp4","video/mpeg","video/x-mpeg","video/quicktime","video/webm"];function $(y,e,t){const l=y.querySelector(".file-selector>.selector-name");if(l!=null&&e!=null){let o=e.type;if((o==null||o.length===0)&&(o=e.name,o=o.substring(o.lastIndexOf("."))),F.indexOf(o)<0){ie(t("P_WO_ERROR","Error"),t("P_CU_TYPENOTSUPPORTED",'File type "{type}" is now not supported.').replace("{type}",o));return}const c=/^image\//.test(o);if(!c&&e.size>re.limit){ie(t("P_WO_ERROR","Error"),t("P_WO_ATTACHMENTSIZEEXCEEDSTHEMAXIMUMTIPS",`Attachment size exceeds the maximum allowed to be sent (${re.text})`),"warn");return}const n=e.name;if(l.style.display="",l.innerText=n,c){const a=new Image,i=new FileReader;i.onload=s=>{a.src=s.target.result,U(l,a)},i.onerror=()=>U(l,n),i.readAsDataURL(e)}else U(l,n);return e}}function be(y,e){switch(y){case 0:case 1:case 5:case 6:return e[y];case 9:case 10:case 412:return e[9];default:return e[9999]}}function le(y,e,t){var m;const l={0:e("P_CU_PENDING","Pending"),1:e("P_WO_SENT","Sent"),5:e("P_CU_DELIVERYCONFIRMED","Delivery Confirmed"),6:e("P_CU_RESENT","Resent"),9:e("P_MA_FAILED","Failed"),9999:e("P_CU_UNKNOWN","Unknown")},o=[0,1,5,6,9,10,412],c=[1,5,6],n=[9,10,412];let a=-100;const i=[],s=[];if(!y.StatusIncorrect&&((m=y.Participator)==null?void 0:m.length)>0)for(let C of y.Participator)oe(C.CustomerNumber)||(i.indexOf(C.Status)<0&&i.push(C.Status),C.statusText=be(C.Status,l),s.push(C));i.length===1?a=i[0]:i.length>1&&(a=i.filter(C=>c.indexOf(C)<0).sort((C,L)=>L-C)[0]??1);const d=l[n.includes(a)?9:a]??l[9999],_=c.includes(a)?null:"#ffc107",h=t.option.statusUpdatable;let r;return(h!==!1||i.length>1)&&(r=O("div",C=>{for(let L=0;L<s.length;++L)C.appendChild(O("div",u=>{const g=s[L];h!==!1&&g.StatusChanged?u.append(O("span",E=>E.innerText=`${g.CustomerNumber}: `),O("span",E=>{E.style.color="#2140fb",E.style.cursor="pointer",E.innerText=g.statusText,E.adLine truncated
`}return o!==""&&(o=l("P_CU_SENDTO_COLON","Sent to :")+`
${o}`),o}function V(y,e){var t;if((y==null?void 0:y.length)>0&&(e==null?void 0:e.length)>0){for(let l of y)if(((t=l.Participator)==null?void 0:t.length)>0)for(let o of l.Participator){const c=e.filter(n=>n.MobilePhoneDisplayText===o.CustomerNumber)[0];o.customerName=c==null?void 0:c.Name}}}const ee=window["lib-ui"].Grid,we=window["lib-ui"].Dropdown,b=window["lib-ui"].createElement,xe=window["lib-ui"].createCheckbox,de=window["lib-ui"].Popup,K=window["lib-ui"].showAlert,Ne=window["lib-utility"].isEmail,j=window["lib-utility"].nullOrEmpty;let v=window["lib-utility"].r;class ue{constructor(e={}){q(this,"_var",{});this._var.option=e;const t=e==null?void 0:e.getText;typeof t=="function"&&(v=t)}async show(e=document.body){const t=Math.max.apply(null,[...document.querySelectorAll("[tabindex]")].map(r=>r.tabIndex??0))+3,l=this._var.option.contact,o=b("input",r=>{r.type="text",r.className="ui-input",r.tabIndex=t+1,r.maxLength=200,r.autocomplete="off"}),c=new we({tabIndex:t+2});c.source=[{value:"0",text:v("P_CR_TEXT","Text")},{value:"1",text:v("P_CR_EMAIL","Email")},{value:"2",text:v("P_CR_PHONE","Phone")}];const n=b("input",r=>{r.type="email",r.className="ui-input",r.tabIndex=t+3,r.maxLength=100,r.autocomplete="off"}),a=b("input",r=>{r.type="tel",r.className="ui-input",r.tabIndex=t+4,r.maxLength=50,r.autocomplete="off"}),i=xe({tabIndex:t+5}),s=b("textarea",r=>{r.className="ui-text",r.tabIndex=t+6,r.maxLength=2e3,r.style.height="100px"}),d=[];this._var.option.company&&d.push({text:l==null?v("P_WO_ADDCONTACTRECORD","Add Contact Record"):v("P_WO_EDITCONTACTRECORD","Edit Contact Record"),trigger:()=>{const r=this.prepare();if(r==null)return!1;if(r.SaveToCustomer=1,typeof this._var.option.onSave=="function")return this._var.option.onSave.call(this,r,"customerrecord")}}),d.push({text:v("P_WO_WORKORDERONLY","Work Order Only"),trigger:()=>{const r=this.prepare();if(r==null)return!1;if(r.SaveToCustomer=0,typeof this._var.option.onSave=="function")return this._var.option.onSave.call(this,r,"workorder")}},{text:v("P_WO_CANCEL","Cancel")});const _=new de({onMasking:this._var.option.onMasking,title:l==null?v("P_CR_ADDCONTACT","Add Contact"):v("P_CR_EDITCONTACT","Edit Contact"),content:b("div",r=>{r.className="setting-wrapper",r.style.width="500px"},b("div","setting-item",b("span","setting-label setting-required",v("P_CR_CONTACTNAME_COLON","Contact Name:")),o),b("div","setting-item",b("span","setting-label",v("P_CR_CONTACTPREFERENCES_COLON","Contact Preferences:")),c.create()),b("div","setting-item",b("span","setting-label",v("P_CR_EMAILADDRESS_COLON","Email Address:")),n),b("div","setting-item",b("span","setting-label",v("P_WO_MOBILE_COLON","Mobile:")),a),b("div","setting-item",b("span","setting-label",v("P_CR_OPTOUT_COLON","Opt Out:")),i),b("div","setting-item",b("span","setting-label",v("P_CR_NOTES_COLON","Notes:")),s)),buttons:d});l!=null?(o.value=l.Name,c.select(String(l.ContactPreference)),n.value=l.Email,a.value=l.MobilePhone,i.querySelector("input").checked=l.OptOut,s.value=l.Notes):c.select("0"),this._var.refs={contactName:o,preferences:c,contactEmail:n,contactMobile:a,checkOpt:i,contactNotes:s};const h=await _.show(e);return setTimeout(()=>o.focus()),h}prepare(){const e=this._var.refs.contactName.value,t=this._var.refs.preferences.selected.value,l=this._var.refs.contactEmail.value,o=this._var.refs.contactMobile.value,c=this._var.refs.checkOpt.querySelector("input").checked,n=this._var.refs.contactNotes.value,a=this._var.option.contact==null?v("P_CR_ADDCONTACT","Add Contact"):v("P_CR_EDITCONTACT","Edit Contact");if(j(e))return K(a,v("P_CR_CONTACTNAMECANNOTBEEMPTY","Contact Name cannot be empty."),"warn").then(()=>this._var.refs.contactName.focus()),null;if((t==0||t==2)&&j(o))return K(a,v("P_CR_MOBILECANNOTBEEMPTY","Mobile cannot be empty."),"warn").then(()=>this._var.refs.contactMobile.focus()),null;if(t==1&&j(l))return K(a,v("P_CU_EMAILCANNOTBEEMPTY","Email cannot be empty."),"warn").then(()=>this._var.refs.contactEmail.focus()),null;if(!j(l)&&!Ne(l))return K(a,v("P_CR_EMAILISNOTAVALIDEMAILADDRESS","The email address is invalid."),"warn").then(()=>this._var.refs.contactEmail.focus()),null;let i=this._var.option.contact;return i==null?i={}:i.OptOut!==c&&(c!==!1||i.OptOut_BC===!1)&&(i.selected=!c),i.OldName=i.Name,i.OldMobilePhone=i.MobilePhone,i.Name=e,i.ContactPreference=t,i.Email=l,i.MobilePhone=o,i.OptOut=c,i.Notes=n,i}}class Se{constructor(e={}){q(this,"_var",{});this._var.option=e;const t=e==null?void 0:e.getText;typeof t=="function"&&(v=t)}async show(e,t=document.body){const l=b("div","selcontact-grid"),c=await new de({onMasking:this._var.option.onMasking,title:e,content:b("div","selcontact-wrapper",l),buttons:[{text:v("P_WO_OK","OK"),key:"ok",trigger:()=>{if(typeof this._var.option.onOk=="function")return this._var.option.onOk.call(this,this._var.grid.source.filter(a=>a.selected))}},{text:v("P_WO_CANCEL","Cancel"),key:"cancel"}]}).show(t),n=new ee(l);return n.columns=[{key:"selected",type:ee.ColumnTypes.Checkbox, Line truncated
${m}`),w(h,m)}this._var.message.scrollTop=this._var.message.scrollHeight}}set readonly(e){if(this._var.option.readonly=e,this._var.container==null)return;const t=this._var.container.querySelector(".check-status-link");e===!0?t.classList.add("disabled"):t.classList.remove("disabled"),t.querySelector("input").disabled=e;const l=e===!0?"none":"";this._var.container.querySelector(".button-edit-contacts").style.display=l,this._var.container.querySelector(".button-edit-followers").style.display=l,this._var.container.querySelector(".message-bar").style.display=l}set recordReadonly(e){this._var.option.recordReadonly=e,this._var.container!=null&&(this._var.container.querySelector(".button-edit-contacts").style.display=e===!0?"none":"",this._var.container.querySelector(".button-edit-followers").style.display=e===!0?"none":"")}set companyName(e){this._var.option.companyName=e;const t=this._var.container.querySelector(".title-company");x(e)?t.style.display="none":(t.innerText=e,t.style.display="")}set companyCode(e){const t=this._var.option;t.companyCode=e;const l=this._var.container.querySelector(".title-company");x(t.companyName)?l.style.display="none":(l.innerText=t.companyName,x(e)||(l.innerText=t.companyName+"/"+e),l.style.display="")}get followers(){return[...this._var.followers.children].map(e=>{const t=e.querySelector("span");return{Email:t.dataset.email,MobilePhone:t.dataset.mp,Value:t.dataset.name}})}set followers(e){if(this._var.data.followers=e,this._var.followers.replaceChildren(),(e==null?void 0:e.length)>0){this._var.container.querySelector(".follower-bar").style.display="",w(this._var.buttonFollower,p("P_CU_EDITFOLLOWERS","Edit Followers")),this._var.container.querySelector(".follower-bar>.bar-list").appendChild(this._var.buttonFollower);for(let t of e){if(t.OptOut)continue;const l=String(t.MobilePhone).trim(),o=String(t.MobilePhoneDisplayText).trim(),c=String(t.Email).trim(),n=[];t.SendEmail&&n.push(p("P_CU_EMAILSTO_COLON","Emails to:")+` ${c}`),t.SendText&&n.push(p("P_CU_TEXTSTO_COLON","Texts to:")+` ${o}`);let a;t.SendText&&t.SendEmail?a="at":a=t.SendText?"comment-lines":"envelope";const i=f("span",d=>{t.SendEmail&&(d.dataset.email=c),t.SendText&&(d.dataset.mp=l),d.dataset.name=t.Name,d.innerText=t.Name}),s=f("div","contact-item",k("fa-light",a),i);this._var.followers.appendChild(s),i.scrollWidth>i.offsetWidth&&n.splice(0,0,p("P_WO_NAME_COLON","Name:")+` ${t.Name}`),w(i,n.join(`
`))}}else this._var.container.querySelector(".follower-bar").style.display="none",w(this._var.buttonFollower,p("P_CR_ADDFOLLOWERS","Add Followers")),this._var.container.querySelector(".button-edit-contacts").insertAdjacentElement("beforebegin",this._var.buttonFollower);this._var.message.scrollTop=this._var.message.scrollHeight}setData(e,t){this._var.data[e]=t}create(){const e=this._var.option,t=e.readonly,l=me({className:"check-auto-update",checked:e.autoUpdates,checkedNode:k("fa-regular","redo-alt"),uncheckedNode:k("fa-regular","ban"),onchange:function(){w(l,this.checked?p("P_CU_AUTOUPDATESENABLED","Auto Updates Enabled"):p("P_CU_AUTOUPDATESDISABLED","Auto Updates Disabled"))}});e.autoUpdatesVisible===!1&&(l.style.display="none");const o=this,c=me({className:"check-status-link",enabled:!t,checked:e.statusLink,checkedNode:k("fa-regular","link"),uncheckedNode:k("fa-regular","unlink"),onchange:function(){w(c,this.checked?p("P_WO_STATUSLINKINCLUDED","Status Link Included"):p("P_WO_STATUSLINKEXCLUDED","Status Link Excluded")),typeof e.onStatusLinkChanged=="function"&&e.onStatusLinkChanged.call(o,this.checked)}});e.statusLinkVisible===!1&&(c.style.display="none");const n=Q(f("div",null,f("div",s=>{s.className="title-module",s.innerText=e.title??p("P_WO_CUSTOMERCOMMUNICATION","Customer Communication")}),f("div",s=>{s.className="title-company",x(e.companyName)?s.style.display="none":x(e.companyCode)?s.innerText=e.companyName:s.innerText=e.companyName+"/"+e.companyCode})),[w(l,p("P_CU_AUTOUPDATESENABLED","Auto Updates Enabled")),w(c,p("P_WO_STATUSLINKEXCLUDED","Status Link Excluded"))]);this._var.contacts=this._createContacts(n,e),this._var.followers=this._createFollowers(n,e);const a=f("textarea","ui-text");a.placeholder=p("P_CU_ENTERMESSAGEHERE","Enter Message Here"),e.maxLength??(e.maxLength=3e3),a.maxLength=e.maxLength,a.addEventListener("input",()=>{const s=this.text,d=String(x(s)?0:s.length)+"/"+String(e.maxLength);this._var.container.querySelector(".message-bar .prompt-count").innerText=d}),a.addEventListener("paste",s=>{if(e.customerNameVisible===!0)return;const d=s.clipboardData.items;if((d==null?void 0:d.length)>0){const _=d[0],h=_.webkitGetAsEntry();if(_.kind==="file"&&(h==null||h.isFile)){const r=_.getAsFile();r!=null&&(s.preventDefault(),this.file=$(n,r,p))}}}),this._var.enter=a,n.appendChild(f("div",s=>{s.className="message-bar",t===!0&&(s.style.display="none"),s.addEventListener("dragover",d=>{if(e.readonly!==!0){const _=d.dataTransfer.items[0];(_==null?void 0:_.kind)==="file"&&(d.preventDefault(),_.type.length>0&&F.indexOf(_.type)<0?d.dataTransfer.dropEffect="none":d.dataTransfer.dropEffect="link")}}),s.addEventListener("drop",d=>{if(e.readonly!==!0){const _=d.dataTransfer.files[0];_!=null&&(d.preventDefault(),this.file=$(n,_,p))}})},a,f("div",s=>s.style.textAlign="right",f("div","customer-left",f("div",s=>{s.className="customer-name",e.customerNameVisible!==!0&&(s.style.display="none")},f("span",s=>s.innerText=p("P_WO_NAME_COLON","Name:")),f("input",s=>{s.type="text",s.className="ui-input"})),f("div","file-selector",f("div",s=>{s.className="selector-link",s.addEventListener("click",()=>{var _;(_=this._var.fileControl)==null||_.remove();const d=f("input",h=>{h.type="file",h.accept=F.join(","),h.addEventListener("change",()=>{var m;const r=$(n,(m=h.files)==null?void 0:m[0],p);r!=null&&(this.file=r)})});s.appendChild(this._var.fileControl=d),d.dispatchEvent(new MouseEvent("click"))})},k("fa-regular","link")),f("span",s=>{s.className="selector-name",s.style.display="none"}),f("layer",s=>{s.appendChild(k("fa-regular","times")),s.addEventListener("click",()=>this.file=null)}))),f("div","prompt-count"),f("button",s=>{s.className="roundbtn button-send-message",s.style.backgroundColor="rgb(19, 150, 204)",s.appendChild(k("fa-solid","paper-plane")),w(s,p("P_M3_SENDMESSAGE","Send Message")),s.addEventListener("click",()=>{const d=this.text;if(x(d==null?void 0:d.trim())){const _=Y(p("P_WO_ERROR","Error"),p("P_WO_PLEASEINPUTTHEMESSAGE","Please input the message."),"warn");typeof e.onMasking=="function"&&(e.onMasking(!0),_.then(()=>e.onMasking(!1)));return}typeof e.onAddMessage=="function"&&(this.loading=!0,e.onAddMessage(this.text,this.file))})}))));const i=f("div","list-bar");return this._var.message=i,n.appendChild(i),this._var.container=n}_createContacts(e,t){const l=t.readonly,o=t.recordReadonly,c=f("div","bar-list-container");return e.append(f("div","contact-bar",f("div","bar-icon",k("fa-solid","user-circle",{fill:"lightgray"})),f("div","bar-list",c,f("button",n=>{n.className="roundbtn button-edit-contacts",n.style.backgroundColor="rgb(1, 199, 172)",l===!0&&(n.style.display="none"),n.appendChild(k("fa-solid","user-edit")),w(n,p("P_CU_EDITCONTACTS","Edit Contacts")),n.addEventListener("click",()=>{const a=new Ae({onMasking:t.onMasking,title:f("div",i=>{i.style.display="flex",i.style.alignItems="center",i.style.padding="10px 0 6px 12px",i.append(f("div",s=>{s.className="ui-popup-move",s.style.flex="1 1 auto" Line truncated
Do you want to Continue?`).replace("{name}",this.Name),[{key:"continue",text:r("continue","Continue")},{key:"cancel",text:r("cancel","Cancel")}]).then(h=>{if((h==null?void 0:h.key)==="continue"){typeof n.onDelete=="function"&&n.onDelete(h.key,this);const I=g.source.indexOf(this);if(I>=0){const D=g.source;D.splice(I,1),g.extraRows=D.filter(ae=>!T(ae.Notes)).length,g.source=D}}})}}}],g.init(d.container.querySelector(".contacts-wo"));const Le=e(this,A).contacts.filter(h=>h.Id<0).map(h=>(h.OptOut||h.OptOut_BC||typeof h.selected>"u"&&(h.selected=!0),h));g.extraRows=Le.filter(h=>!T(h.Notes)).length,g.source=Le,g.selectedRowChanged=h=>{var I;h>=0&&((I=e(this,U).selectedIndexes)==null?void 0:I.length)>0&&(e(this,U).selectedIndexes=[])},v(this,H,g)})})})))),p},ye=new WeakSet,$e=function(t,n){const s=n.readonly,u=n.recordReadonly,p=f("div","bar-list-container"),i=f("button",d=>{d.className="roundbtn button-edit-followers",d.style.backgroundColor="rgb(48, 107, 255)",(s===!0||u)&&(d.style.display="none"),d.appendChild(F("fa-solid","pen")),M(d,r("editFollower","Edit Followers")),d.addEventListener("click",()=>{typeof e(this,k).onInitFollower=="function"&&e(this,k).onInitFollower(e(this,A).followers).then(o=>{var y;if(typeof o=="string"){pe(r("customerRecord","Customer Record"),o,"warn");return}const a=new Ve({onMasking:n.onMasking,followers:o,onOk:C=>{if(typeof e(this,k).onAddFollower=="function"){const l=e(this,k).onAddFollower(C);return typeof(l==null?void 0:l.then)=="function"?l.then(m=>m):!1}}});var b=((y=e(this,A).followers)==null?void 0:y.length)>0?r("editFollowers","Edit Followers"):r("addFollowers","Add Followers");a.show(b,t)})})});return v(this,Y,i),t.append(f("div",d=>{d.className="contact-bar follower-bar",d.style.display="none"},M(f("div","bar-icon",F("fa-solid","user-tag",{fill:"#fff","background-color":"lightgray","box-sizing":"border-box","border-radius":"15px",padding:"4px"})),r("copied","Copied")),f("div","bar-list",p,i))),p},ge=new WeakSet,Fe=function(t){var p;let n=-100;const s=[];let u="";if(!t.StatusIncorrect&&((p=t.Participator)==null?void 0:p.length)>0){for(let i of t.Participator)if(!he(i.CustomerNumber)){s.indexOf(i.Status)<0&&s.push(i.Status),u.length>0&&(u+=`
`),u+=`${i.CustomerNumber}: `;const d={0:r("undelivered","Undelivered"),1:r("sent","Sent"),9:r("failed","Failed")}[i.Status];d!=null&&(u+=d)}}return s.length===1?n=s[0]:s.length>1&&(n=-10),[n,u]};const L=window["lib-ui"].createElement,ke=window["lib-ui"].setTooltip,Pe=window["lib-ui"].createIcon,le=window["lib-utility"].r,Ie=window["lib-utility"].nullOrEmpty,Je=window["lib-utility"].escapeHtml;class Qe{constructor(t){N(this,z,void 0);N(this,$,void 0);N(this,j,void 0);N(this,oe,void 0);v(this,$,t??{})}get text(){var t;return(t=e(this,j))==null?void 0:t.value}set text(t){const n=e(this,j);n!=null&&(n.value=t,t=String(Ie(t)?0:val.length)+"/"+String(e(this,$).maxLength),e(this,z).querySelector(".message-bar .prompt-count").innerText=t)}set readonly(t){e(this,$).readonly=t,e(this,z)!=null&&(e(this,j).disabled=t===!0,e(this,z).querySelector(".button-send-message").style.display=t===!0?"none":"",e(this,z).querySelector(".button-post-note").style.display=t===!0?"none":"")}create(){var p;const t=re(L("div",null,L("div",i=>{i.className="title-module",i.innerText=le("internalComments","Internal Comments")})),[]),n=e(this,$).readonly,s=L("textarea","ui-text");s.placeholder=le("typeComment","Enter Comment Here"),s.maxLength=(p=e(this,$)).maxLength??(p.maxLength=3e3),s.addEventListener("input",()=>{const i=e(this,j).value,d=String(Ie(i)?0:i.length)+"/"+String(e(this,$).maxLength);e(this,z).querySelector(".message-bar .prompt-count").innerText=d}),n===!0&&(s.disabled=!0),v(this,j,s),t.appendChild(L("div","message-bar",s,L("div",i=>i.style.textAlign="right",L("div","prompt-count"),L("button",i=>{i.className="roundbtn button-send-message",i.style.backgroundColor="rgb(19, 150, 204)",(n===!0||e(this,$).noMessage===!0)&&(i.style.display="none"),i.appendChild(Pe("fa-solid","paper-plane")),ke(i,le("sendMessage","Send Message")),i.addEventListener("click",()=>{typeof e(this,$).onAddMessage=="function"&&e(this,$).onAddMessage(e(this,j).value)})}),L("button",i=>{i.className="roundbtn button-post-note",i.style.border="1px solid rgb(19, 150, 204)",i.style.fill="rgb(19, 150, 204)",n===!0&&(i.style.display="none"),i.appendChild(Pe("fa-solid","comment-alt-lines")),ke(i,le("postNote","Post Note")),i.addEventListener("click",()=>{typeof e(this,$).onAddComment=="function"&&e(this,$).onAddComment(e(this,j).value)})}))));const u=L("div","list-bar");return v(this,oe,u),t.appendChild(u),v(this,z,t)}load(t){var s;const n=[];if((t==null?void 0:t.length)>0){for(let u of t){const p=L("div","item-div");p.appendChild(L("div",d=>{d.className="item-poster",d.innerText=u.UserName}));const i=L("div","item-content");if(i.appendChild(L("span",d=>d.innerHTML=Je(u.Comment))),((s=u.FollowUp)==null?void 0:s.length)>0){p.classList.add("item-sent");const d=le("sendToColon","Send To :")+`\r
`+u.FollowUp.split(";").join(`\r
`);i.appendChild(L("div",o=>{o.className="item-status",o.innerText=le("sent","Sent"),ke(o,d)}))}p.append(i,L("div",d=>{d.className="item-time",d.innerText=u.SubmitDateStr})),n.push(p)}n[0].style.marginTop="0"}e(this,oe).replaceChildren(...n),e(this,oe).scrollTop=e(this,oe).scrollHeight}}z=new WeakMap,$=new WeakMap,j=new WeakMap,oe=new WeakMap,O.CustomerCommunication=Ye,O.InternalComment=Qe,Object.defineProperty(O,Symbol.toStringTag,{value:"Module"})});
Do you want to Continue?`).replace("{name}",this.Name),[{key:"continue",text:p("P_JS_CONTINUE","Continue")},{key:"cancel",text:p("P_WO_CANCEL","Cancel")}]).then(u=>{if((u==null?void 0:u.key)==="continue"){typeof t.onDelete=="function"&&t.onDelete(u.key,this);const g=C.source.indexOf(this);if(g>=0){const E=C.source;E.splice(g,1),C.extraRows=E.filter(N=>!x(N.Notes)).length,C.source=E}}})}}}],C.init(a.container.querySelector(".contacts-wo"));const L=this._var.data.contacts.filter(u=>u.Id<0).map(u=>(u.OptOut||u.OptOut_BC||typeof u.selected>"u"&&(u.selected=!0),u));C.extraRows=L.filter(u=>!x(u.Notes)).length,C.source=L,C.onSelectedRowChanged=u=>{var g;u>=0&&((g=this._var.gridContact.selectedIndexes)==null?void 0:g.length)>0&&(this._var.gridContact.selectedIndexes=[])},this._var.gridWo=C})})})),f("div",n=>{n.className="bar-info",n.innerText=p("P_CR_CONTACTINFORMATION","Contact Information")}),f("div",n=>{if(t.contactCollapserVisible===!1){n.style.display="none";return}t.contactCollapsed?(e.classList.add("collapsed"),n.className="bar-collapser collapsed"):n.className="bar-collapser",n.addEventListener("click",()=>{const a=n.classList.contains("collapsed");a?(n.classList.remove("collapsed"),e.classList.remove("collapsed")):(n.classList.add("collapsed"),e.classList.add("collapsed")),typeof t.onContactCollapsed=="function"&&t.onContactCollapsed.call(this,!a)}),n.append(f("span"))}))),c}_createFollowers(e,t){const l=t.readonly,o=t.recordReadonly,c=f("div","bar-list-container"),n=f("button",a=>{a.className="roundbtn button-edit-followers",a.style.backgroundColor="rgb(48, 107, 255)",(l===!0||o)&&(a.style.display="none"),a.appendChild(k("fa-solid","pen")),w(a,p("P_CU_EDITFOLLOWERS","Edit Followers")),a.addEventListener("click",()=>{typeof t.onInitFollower=="function"&&t.onInitFollower(this._var.data.followers).then(i=>{var _;if(typeof i=="string"){Y(p("P_CUSTOMERRECORD","Customer Record"),i,"warn");return}const s=new Re({getText:t.getText,onMasking:t.onMasking,followers:i,onOk:h=>{if(typeof t.onAddFollower=="function"){const r=t.onAddFollower(h);return typeof(r==null?void 0:r.then)=="function"?r.then(m=>m):!1}}});var d=((_=this._var.data.followers)==null?void 0:_.length)>0?p("P_CU_EDITFOLLOWERS","Edit Followers"):p("P_CR_ADDFOLLOWERS","Add Followers");s.show(d,e)})})});return this._var.buttonFollower=n,e.append(f("div",a=>{a.className="contact-bar follower-bar",a.style.display="none"},w(f("div","bar-icon",k("fa-solid","user-tag",{fill:"#fff","background-color":"lightgray","box-sizing":"border-box","border-radius":"15px",padding:"4px"})),p("P_CU_COPIED","Copied")),f("div","bar-list",c,n))),c}load(e,t,l){var c;const o=[];if((e==null?void 0:e.length)>0){if(t??(t=this._var.data.contacts),l??(l=this._var.data.allfollowers),this.setData("messages",e),this._var.contactsUpdated!==!0){const n=this._var.data.contacts;(n==null?void 0:n.length)>0&&(V(e,n),this._var.contactsUpdated=!0)}for(let n of e){const a=f("div","item-div");let i;if(n.IsReply&&(t==null?void 0:t.length)>0){const h=Ce(n.Sender)?t.find(r=>r.Email===n.Sender):t.find(r=>r.MobilePhone===n.Sender);i=h==null?void 0:h.Name}i??(i=n.IsReply&&String(n.FormatSender)!==""?n.FormatSender:n.Sender);const s=ce(n,t,l,p);a.appendChild(f("div",h=>{h.className="item-poster",h.innerText=i,!n.IsReply&&(s==null?void 0:s.length)>0&&w(h,s)}));const d=f("div","item-content"),_=f("div",h=>h.style.display="none");if(d.appendChild(f("span",h=>{/https?:\/\//i.test(n.Message)?h.innerHTML=Ue(_e(n.Message)):h.innerText=_e(n.Message),h.appendChild(_)})),((c=n.MMSParts)==null?void 0:c.length)>0){_.style.display="";for(let h of n.MMSParts)Z(_,h.Key,h.Value)}if(n.IsReply)a.classList.add("item-other");else{a.classList.add("item-self");const[h,r,m,C]=le(n,p,this._var);if(h!==-100){m!=null&&(d.style.backgroundColor=m);const L=f("div",u=>{u.className="item-status",u.innerText=r,C!=null&&w(u,C)});d.appendChild(L)}}a.append(d,f("div",h=>{h.className="item-time",h.innerText=n.TimeStr})),o.push(a)}o[0].style.marginTop="0"}this._var.message.replaceChildren(...o),this._var.message.scrollTop=this._var.message.scrollHeight}}const T=window["lib-ui"].createElement,H=window["lib-ui"].setTooltip,X=window["lib-ui"].createIcon,$e=window["lib-utility"].r,z=window["lib-utility"].nullOrEmpty,Fe=window["lib-utility"].escapeHtml,Be=window["lib-utility"].escapeEmoji;let I=$e;class He{constructor(e){q(this,"_var",{});this._var.option=e??{};const t=e==null?void 0:e.getText;typeof t=="function"&&(I=t)}get text(){var e;return(e=this._var.enter)==null?void 0:e.value}set text(e){const t=this._var.enter;t!=null&&(t.value=e,e=String(z(e)?0:val.length)+"/"+String(this._var.option.maxLength),this._var.container.querySelector(".message-bar .prompt-count").innerText=e)}set contacts(e){if(this._var.contacts=e,this._var.contactsUpdated!==!0&&(e==null?void 0:e.length)>0){const t=this._var.comments;(t==null?void 0:t.length)>0&&(V(this._var.comments,e),this._var.contactsUpdated=!0)}}set loading(e){this._var.container!=null&&(this._var.ent Line truncated
//# sourceMappingURL=app.min.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"app.min.js","sources":["../../../../../../UILib/ui-lib/lib/app/communications/lib.js","../../../../../../UILib/ui-lib/lib/app/communications/contact.js","../../../../../../UILib/ui-lib/lib/app/communications/follower.js","../../../../../../UILib/ui-lib/lib/app/communications/customer.js","../../../../../../UILib/ui-lib/lib/app/communications/internal.js"],"sourcesContent":["import { createElement } from \"../../ui\";\r\n\r\nfunction createBox(title, functions) {\r\n const container = createElement('div', 'comm');\r\n const header = createElement('div', 'title-bar',\r\n title,\r\n createElement('div', 'title-functions', ...functions)\r\n );\r\n container.appendChild(header);\r\n return container;\r\n}\r\n\r\nexport {\r\n createBox\r\n}","import { Grid, Dropdown, createElement, createCheckbox, Popup, showAlert } from \"../../ui\";\r\nimport { isEmail, nullOrEmpty, r } from \"../../utility\";\r\n\r\nclass Contact {\r\n #option;\r\n #refs;\r\n\r\n constructor(option = {}) {\r\n this.#option = option;\r\n }\r\n\r\n async show(parent = document.body) {\r\n const tabIndex = Math.max.apply(null, [...document.querySelectorAll('[tabindex]')].map(e => e.tabIndex ?? 0)) + 3;\r\n\r\n const c = this.#option.contact;\r\n const contactName = createElement('input', input => {\r\n input.type = 'text';\r\n input.className = 'ui-input';\r\n input.tabIndex = tabIndex + 1;\r\n input.maxLength = 200;\r\n input.autocomplete = 'off';\r\n });\r\n const preferences = new Dropdown({ tabIndex: tabIndex + 2 });\r\n preferences.source = [\r\n { value: '0', text: r('text', 'Text') },\r\n { value: '1', text: r('email', 'Email') },\r\n { value: '2', text: r('phone', 'Phone') }\r\n ];\r\n const contactEmail = createElement('input', input => {\r\n input.type = 'email';\r\n input.className = 'ui-input';\r\n input.tabIndex = tabIndex + 3;\r\n input.maxLength = 100;\r\n input.autocomplete = 'off';\r\n });\r\n const contactMobile = createElement('input', input => {\r\n input.type = 'tel';\r\n input.className = 'ui-input';\r\n input.tabIndex = tabIndex + 4;\r\n input.maxLength = 50;\r\n input.autocomplete = 'off';\r\n });\r\n const checkOpt = createCheckbox({ tabIndex: tabIndex + 5 });\r\n const contactNotes = createElement('textarea', txt => {\r\n txt.className = 'ui-text';\r\n txt.tabIndex = tabIndex + 6;\r\n txt.maxLength = 2000;\r\n txt.style.height = '100px';\r\n });\r\n const buttons = [];\r\n if (this.#option.company) {\r\n buttons.push({\r\n text: c == null ? r('addContactRecord', 'Add Contact Record') : r('editContactRecord', 'Edit Contact Record'),\r\n // tabIndex: tabIndex + 7,\r\n trigger: () => {\r\n const item = this.prepare();\r\n if (item == null) {\r\n return false;\r\n }\r\n item.SaveToCustomer = 1;\r\n if (typeof this.#option.onSave === 'function') {\r\n return this.#option.onSave.call(this, item, 'customerrecord');\r\n }\r\n }\r\n });\r\n }\r\n buttons.push(\r\n {\r\n text: r('workOrderOnly', 'Work Order Only'),\r\n // tabIndex: tabIndex + 8,\r\n trigger: () => {\r\n const item = this.prepare();\r\n if (item == null) {\r\n return false;\r\n }\r\n item.Id = -1;\r\n item.SaveToCustomer = 0;\r\n if (typeof this.#option.onSave === 'function') {\r\n return this.#option.onSave.call(this, item, 'workorder');\r\n }\r\n }\r\n },\r\n {\r\n text: r('cancel', 'Cancel'),\r\n // tabIndex: tabIndex + 9\r\n }\r\n );\r\n const popup = new Popup({\r\n onMasking: this.#option.onMasking,\r\n title: c == null ? r('addContact', 'Add Contact') : r('editContact', 'Edit Contact'),\r\n content: createElement('div', wrapper => {\r\n wrapper.className = 'setting-wrapper';\r\n wrapper.style.width = '500px';\r\n },\r\n createElement('div', 'setting-item',\r\n createElement('span', 'setting-label setting-required', r('contactNameColon', 'Contact Name:')),\r\n contactName\r\n ),\r\n createElement('div', 'settingLine truncated
{"version":3,"file":"app.min.js","sources":["../../../../../../UILib/ui-lib/lib/app/communications/lib.js","../../../../../../UILib/ui-lib/lib/app/communications/contact.js","../../../../../../UILib/ui-lib/lib/app/communications/follower.js","../../../../../../UILib/ui-lib/lib/app/communications/customer.js","../../../../../../UILib/ui-lib/lib/app/communications/internal.js","../../../../../../UILib/ui-lib/lib/app/communications/comments.js"],"sourcesContent":["import { createElement, setTooltip, showAlert, createPicture, createAudio, createVideo, createFile, createIcon, Popup, Grid, Dropdown } from \"../../ui\";\r\nimport { global, isEmail } from \"../../utility\";\r\n\r\nexport function createBox(title, functions) {\r\n const container = createElement('div', 'comm');\r\n const header = createElement('div', 'title-bar',\r\n title,\r\n createElement('div', 'title-functions', ...functions)\r\n );\r\n container.appendChild(header);\r\n return container;\r\n};\r\n\r\nexport function appendMedia(container, mimeType, url) {\r\n switch (mimeType) {\r\n case 'application/pdf':\r\n case '.pdf':\r\n container.appendChild(createFile(url, 'file-pdf'));\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.ms-word':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n case '.doc':\r\n case '.docx':\r\n container.appendChild(createFile(url, 'file-word'));\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n case '.xls':\r\n case '.xlsx':\r\n container.appendChild(createFile(url, 'file-excel'));\r\n break;\r\n case 'application/vnd.ms-powerpoint':\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case '.ppt':\r\n case '.pptx':\r\n container.appendChild(createFile(url, 'file-powerpoint'));\r\n break;\r\n case 'application/smil':\r\n case '.smil':\r\n // TODO: ignore smil files\r\n // container.appendChild(createFile(url, 'smile'));\r\n break;\r\n case 'audio/aac':\r\n case 'audio/amr':\r\n case 'audio/mp3':\r\n case 'audio/mpeg':\r\n case 'audio/x-mpeg':\r\n case 'audio/ogg':\r\n case 'audio/opus':\r\n case 'audio/wav':\r\n case 'audio/webm':\r\n case '.aac':\r\n case '.amr':\r\n case '.mp3':\r\n case '.ogg':\r\n case '.opus':\r\n case '.wav':\r\n container.appendChild(createAudio(mimeType, url));\r\n break;\r\n case 'text/plain':\r\n case 'text/x-vcard':\r\n case '.txt':\r\n case '.vcard':\r\n container.appendChild(createFile(url, 'id-card'));\r\n break;\r\n case 'video/3gpp':\r\n case 'video/mp2t':\r\n case 'video/mp4':\r\n case 'video/mpeg':\r\n case 'video/x-mpeg':\r\n case 'video/quicktime':\r\n case 'video/webm':\r\n case '.3gp':\r\n case '.3gpp':\r\n case '.mp4':\r\n case '.mpg':\r\n case '.mov':\r\n case '.webm':\r\n container.appendChild(createVideo(url));\r\n break;\r\n case '.jpg':\r\n case '.jpeg':\r\n case '.jfif':\r\n case '.png':\r\n case '.gif':\r\n case '.bmp':\r\n container.appendChild(createPicture(url));\r\n break;\r\n default:\r\n if (/^image\\//.test(mimeType)) {\r\n container.appendChild(createPicture(url));\r\n } else if (/^audio\\//.test(mimeType)) {\r\n container.appendChild(createFile(url, 'music'));\r\n } else if (/^video\\//.test(mimeType)) {\r\n container.appendChild(createFile(url, 'video'));\r\n } else {\r\n container.appendChild(createFile(url));\r\n }\r\n break;\r\n }\r\n return container;\r\n};\r\n\r\nconst MaxAttachmentSize = {\r\n limit: 1_258_291,\r\n text: '1.2MB'\r\n};\r\n\r\nexport const fileSupported = [\r\n '.amr',\r\n '.ogv',\r\n 'application/msword',\r\n 'application/vnd.ms-word',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\r\n 'application/pdf',\r\n 'audio/aac',\r\n 'audio/amr',\r\n 'audio/mp3',\r\n 'audio/mpeg',\r\n 'audio/x-mpeg',\r\n 'audio/ogg',\r\n 'audio/opus',\r\n 'audio/wav',\r\n 'audio/webm',\r\n 'image/bmp',\r\n 'image/gif',\r\n Line truncated
+1
View File
@@ -0,0 +1 @@
.schedule-item-container fieldset{margin-top:10px;border-width:1px;border-radius:4px;border-color:var(--border-color)}.schedule-item-container fieldset legend,.schedule-item-container fieldset span{font-weight:400;font-size:var(--font-size);padding-left:8px;padding-right:6px;color:var(--color)}.schedule-item-container fieldset .ui-input{line-height:20px;height:20px}.schedule-item-container fieldset .schedule-item-monthly{margin-top:5px}.schedule-item-container fieldset .schedule-item-monthly .ui-input{width:40px}.schedule-item-container fieldset.schedule-item-daily-frequency .ui-input{vertical-align:top;margin-top:5px}.schedule-item-container fieldset .schedule-item-table{width:100%}.schedule-item-container fieldset .schedule-item-line-occur-every{display:flex;align-items:flex-start}.schedule-item-container fieldset .schedule-item-line-occur-every>.schedule-item-block>.scheldule-item-line{display:flex;align-items:center;margin-top:5px}.schedule-item-container fieldset .schedule-item-line-occur-every>.schedule-item-block>.scheldule-item-line>span{flex:1 1 auto}.schedule-item-container fieldset .schedule-item-line-occur-every>.schedule-item-block>.scheldule-item-line>.ui-input{margin-top:0}.schedule-item-container fieldset .schedule-item-line-occur-every>span{line-height:36px}.schedule-item-container fieldset .schedule-item-line-occur-every .ui-input{width:70px}.schedule-item-container fieldset .schedule-item-line-duration{display:flex;align-items:center;height:36px}.schedule-item-container fieldset .schedule-item-line>.schedule-item-placeholder{flex:1 1 auto}.schedule-item-container .schedule-item-frequency{margin-top:0}.schedule-item-container .schedule-item-frequency>.schedule-item-line{line-height:24px}.schedule-item-container .ui-drop-wrapper>.ui-drop-header{height:24px}
+2
View File
@@ -0,0 +1,2 @@
(function(r,t){typeof exports=="object"&&typeof module<"u"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):(r=typeof globalThis<"u"?globalThis:r||self,t(r["lib-element"]={}))})(this,function(r){"use strict";var v=Object.defineProperty;var g=(r,t,c)=>t in r?v(r,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):r[t]=c;var y=(r,t,c)=>(g(r,typeof t!="symbol"?t+"":t,c),c);window["lib-ui"].Grid,window["lib-ui"].GridColumn;const t=window["lib-ui"].createElement;window["lib-ui"].setTooltip,window["lib-ui"].createIcon;const c=window["lib-ui"].createCheckbox,o=window["lib-ui"].createRadiobox;window["lib-ui"].showAlert,window["lib-ui"].showConfirm,window["lib-ui"].Popup;const p=window["lib-ui"].Dropdown,a=window["lib-ui"].validation;window["lib-utility"].r,window["lib-utility"].nullOrEmpty,window["lib-utility"].formatUrl,window["lib-utility"].escapeEmoji,window["lib-utility"].isEmail,window["lib-utility"].isPhone;function h(s){var n;return typeof((n=$==null?void 0:$.fn)==null?void 0:n.datepicker)=="function"&&$(s).datepicker({autoHide:!0,format:"m/dd/yyyy"}),s}class m{constructor(n){y(this,"_var",{});this._var.option=n??{},n==null||n.getText}get checkOccurOnce(){return this._var.container.querySelector(".schedule-id-box-occur-once>input")}get checkOccurEvery(){return this._var.container.querySelector(".schedule-id-box-occur-every>input")}get inputOccurOnce(){return this._var.container.querySelector(".schedule-id-occur-once")}get inputOccurEvery(){return this._var.container.querySelector(".schedule-id-occur-every")}get inputOccurStarting(){return this._var.container.querySelector(".schedule-id-occur-starting")}get inputOccurEnding(){return this._var.container.querySelector(".schedule-id-occur-ending")}changeDailyFrequency(n){this.inputOccurOnce.disabled=!n,this.inputOccurEvery.disabled=n,this.inputOccurStarting.disabled=n,this.inputOccurEnding.disabled=n}getParameters(){return{Enabled:this._var.container.querySelector(".schedule-id-enabled>input").checked,Schedule:{Frequency:Number(this.dropFrequency.selected.value),Daily:{OcurrsOnce:this.checkOccurOnce.checked,OcurrsOnceAt:this.inputOccurOnce.value,OcurrsInterval:Number(this.inputOccurEvery.value),StartingAt:this.inputOccurStarting.value,EndingAt:this.inputOccurEnding.value},Monday:this._var.container.querySelector(".schedule-id-1>input").checked,Tuesday:this._var.container.querySelector(".schedule-id-2>input").checked,Wednesday:this._var.container.querySelector(".schedule-id-3>input").checked,Thursday:this._var.container.querySelector(".schedule-id-4>input").checked,Friday:this._var.container.querySelector(".schedule-id-5>input").checked,Saturday:this._var.container.querySelector(".schedule-id-6>input").checked,Sunday:this._var.container.querySelector(".schedule-id-7>input").checked,DayOfMonth:Number(this._var.container.querySelector(".schedule-id-dayofmonth").value),StartDate:this._var.container.querySelector(".schedule-id-duration-start").value,EndDate:this._var.container.querySelector(".schedule-id-duration-end").value}}}getDateTime(n){if(typeof n=="string"){const i=new Date(n);return isNaN(i.getTime())?new Date:i}return n}getTimeString(n){const i=this.getDateTime(n);return String(i.getHours()).padStart(2,"0")+":"+String(i.getMinutes()).padStart(2,"0")}getDateString(n){const i=this.getDateTime(n);return String(i.getMonth()+1).padStart(2,"0")+"/"+String(i.getDate()).padStart(2,"0")+"/"+String(i.getFullYear())}setParameters(n){var l;this._var.container.querySelector(".schedule-id-enabled>input").checked=n.Enabled;const i=n.Schedule||{};this.dropFrequency.select(String(i.Frequency));let u=i.Daily.OcurrsOnce?this.checkOccurOnce:this.checkOccurEvery;u.checked=!0,u.dispatchEvent(new Event("change")),this.inputOccurOnce.value=this.getTimeString(i.Daily.OcurrsOnceAt),this.inputOccurEvery.value=String(i.Daily.OcurrsInterval),this.inputOccurStarting.value=this.getTimeString(i.Daily.StartingAt),this.inputOccurEnding.value=this.getTimeString(i.Daily.EndingAt),this._var.container.querySelector(".schedule-id-1>input").checked=i.Monday,this._var.container.querySelector(".schedule-id-2>input").checked=i.Tuesday,this._var.container.querySelector(".schedule-id-3>input").checked=i.Wednesday,this._var.container.querySelector(".schedule-id-4>input").checked=i.Thursday,this._var.container.querySelector(".schedule-id-5>input").checked=i.Friday,this._var.container.querySelector(".schedule-id-6>input").checked=i.Saturday,this._var.container.querySelector(".schedule-id-7>input").checked=i.Sunday,this._var.container.querySelector(".schedule-id-dayofmonth").value=String(i.DayOfMonth);const e=this.getDateString(i.StartDate),d=this.getDateString(i.EndDate);typeof((l=$==null?void 0:$.fn)==null?void 0:l.datepicker)=="function"?($(this._var.container.querySelector(".schedule-id-duration-start")).datepicker("setDate",new Date(e)),$(this._var.container.querySelector(".schedule-id-duration-end")).datepicker("setDate",new Date(d))):(this._var.container.querySelector(".schLine truncated
//# sourceMappingURL=element.min.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"element.min.js","sources":["../../../../../../UILib/ui-lib/lib/element/schedule.js"],"sourcesContent":["import { Grid, GridColumn, createElement, setTooltip, createIcon, createCheckbox, createRadiobox, showAlert, showConfirm, Popup, Dropdown, validation } from \"../ui\";\r\nimport { r as lang, nullOrEmpty, formatUrl, escapeEmoji, isEmail, isPhone } from \"../utility\";\r\n\r\nlet r = lang;\r\n\r\nfunction datepicker(element) {\r\n if (typeof $?.fn?.datepicker === 'function') {\r\n $(element).datepicker({\r\n autoHide: true,\r\n format: 'm/dd/yyyy'\r\n });\r\n }\r\n return element;\r\n}\r\n\r\nexport default class ScheduleItem {\r\n _var = {};\r\n\r\n constructor(opt) {\r\n this._var.option = opt ?? {};\r\n const getText = opt?.getText;\r\n if (typeof getText === 'function') {\r\n r = getText;\r\n }\r\n }\r\n\r\n get checkOccurOnce() { return this._var.container.querySelector('.schedule-id-box-occur-once>input'); }\r\n get checkOccurEvery() { return this._var.container.querySelector('.schedule-id-box-occur-every>input'); }\r\n get inputOccurOnce() { return this._var.container.querySelector('.schedule-id-occur-once'); }\r\n get inputOccurEvery() { return this._var.container.querySelector('.schedule-id-occur-every'); }\r\n get inputOccurStarting() { return this._var.container.querySelector('.schedule-id-occur-starting') }\r\n get inputOccurEnding() { return this._var.container.querySelector('.schedule-id-occur-ending') }\r\n\r\n changeDailyFrequency(once) {\r\n this.inputOccurOnce.disabled = !once;\r\n this.inputOccurEvery.disabled = once;\r\n this.inputOccurStarting.disabled = once;\r\n this.inputOccurEnding.disabled = once;\r\n }\r\n\r\n getParameters() {\r\n return {\r\n Enabled: this._var.container.querySelector('.schedule-id-enabled>input').checked,\r\n Schedule: {\r\n Frequency: Number(this.dropFrequency.selected.value),\r\n Daily: {\r\n OcurrsOnce: this.checkOccurOnce.checked,\r\n OcurrsOnceAt: this.inputOccurOnce.value,\r\n OcurrsInterval: Number(this.inputOccurEvery.value),\r\n StartingAt: this.inputOccurStarting.value,\r\n EndingAt: this.inputOccurEnding.value\r\n },\r\n Monday: this._var.container.querySelector('.schedule-id-1>input').checked,\r\n Tuesday: this._var.container.querySelector('.schedule-id-2>input').checked,\r\n Wednesday: this._var.container.querySelector('.schedule-id-3>input').checked,\r\n Thursday: this._var.container.querySelector('.schedule-id-4>input').checked,\r\n Friday: this._var.container.querySelector('.schedule-id-5>input').checked,\r\n Saturday: this._var.container.querySelector('.schedule-id-6>input').checked,\r\n Sunday: this._var.container.querySelector('.schedule-id-7>input').checked,\r\n DayOfMonth: Number(this._var.container.querySelector('.schedule-id-dayofmonth').value),\r\n StartDate: this._var.container.querySelector('.schedule-id-duration-start').value,\r\n EndDate: this._var.container.querySelector('.schedule-id-duration-end').value\r\n }\r\n };\r\n }\r\n\r\n getDateTime(s) {\r\n if (typeof s === 'string') {\r\n const d = new Date(s);\r\n return isNaN(d.getTime()) ? new Date() : d;\r\n }\r\n return s;\r\n }\r\n\r\n getTimeString(s) {\r\n const d = this.getDateTime(s);\r\n return String(d.getHours()).padStart(2, '0') + ':' + String(d.getMinutes()).padStart(2, '0');\r\n }\r\n\r\n getDateString(s) {\r\n const d = this.getDateTime(s);\r\n return String(d.getMonth() + 1).padStart(2, '0') + '/' + String(d.getDate()).padStart(2, '0') + '/' + String(d.getFullYear());\r\n }\r\n\r\n setParameters(p) {\r\n this._var.container.querySelector('.schedule-id-enabled>input').checked = p.Enabled;\r\n const schedule = p.Schedule || {};\r\n this.dropFrequency.select(String(schedule.Frequency));\r\n let checker = schedule.Daily.OcurrsOnce ? this.checkOccurOnce : this.checkOccurEvery;\r\n checker.checked = true;\r\n checker.dispatchEvent(new Event('change'));\r\n this.inputOccurOnce.value = this.getTimeString(schedule.Daily.OcurrsOnceAt);\r\n this.inputOccurEvery.value = String(schedule.Daily.OcurrsInterval);\r\n this.inputOccurStarting.value = this.getTimeString(schedule.Daily.StartingAt);\r\n this.inputOccurEnding.value = this.getTimeString(schedule.Daily.EndingAt);\r\n this._var.container.querySelector('.schedule-id-1>input').checked = schedule.Monday;\r\n this._var.container.querySelector('.schedule-id-2>Line truncated
+1 -1
View File
@@ -1 +1 @@
@-webkit-keyframes loading-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes loading-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--color: #201f1e;--bg-color: #fff;--border-color: #b9b9b9;--focus-border-color: #666;--shadow-color: rgba(0, 0, 0,.11);--disabled-color: #aaa;--disabled-bg-color: #e9e9e9;--disabled-border-color: #d9d9d9;--red-color: red;--title-color: #fff;--title-bg-color: rgb(68, 114, 196);--hover-bg-color: #eee;--link-color: #1890ff;--primary-color: rgb(123, 28, 33);--loading-bg-color: hsla(0, 0%, 100%, .4);--loading-fore-color: rgba(0, 0, 0, .2);--border-radius: 2px;--text-indent: 4px;--line-height: 24px;--font-size: .8125rem;--font-smaller-size: .75rem;--font-larger-size: .875rem;--font-family: "Franklin Gothic Book", "San Francisco", "Segoe UI", "Open Sans", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei UI", sans-serif}.ui-text,.ui-input[type]{font-size:var(--font-size);font-family:var(--font-family);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .12s ease}.ui-text:focus,.ui-text:focus-visible,.ui-input[type]:focus,.ui-input[type]:focus-visible{outline:none}.ui-text:focus,.ui-text:hover,.ui-input[type]:focus,.ui-input[type]:hover{border-color:var(--focus-border-color)}.ui-text:disabled,.ui-input[type]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color);background-color:var(--disabled-bg-color)}.ui-input{text-indent:var(--text-indent);line-height:var(--line-height)}.ui-check-image-wrapper>input[type=checkbox]{display:none}.ui-check-image-wrapper>input[type=checkbox]:checked~.checked{display:inline}.ui-check-image-wrapper>input[type=checkbox]:checked~.unchecked{display:none}.ui-check-image-wrapper>.checked{display:none}.ui-check-image-wrapper>.unchecked{display:inline}.ui-check-wrapper{display:inline-flex;align-items:center;padding:0 8px;height:36px}.ui-check-wrapper .ui-check-inner{position:relative;display:inline-block;padding:0;width:14px;height:14px;background-color:#fff;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .12s ease}.ui-check-wrapper .ui-check-inner:focus,.ui-check-wrapper .ui-check-inner:focus-visible{outline:none}.ui-check-wrapper .ui-check-inner:focus,.ui-check-wrapper .ui-check-inner:hover{border-color:var(--focus-border-color)}.ui-check-wrapper .ui-check-inner:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color);background-color:var(--disabled-bg-color)}.ui-check-wrapper .ui-check-inner>svg{position:absolute;top:0;left:0;width:100%;height:100%;fill:#fff;-webkit-transform:scale(0);transform:scale(0);opacity:0;transition:all .08s cubic-bezier(.78,.14,.15,.86)}.ui-check-wrapper.ui-radio-wrapper .ui-check-inner{box-sizing:border-box;border-radius:8px;width:16px;height:16px}.ui-check-wrapper>input[type=checkbox],.ui-check-wrapper>input[type=radio]{display:none}.ui-check-wrapper>input[type=checkbox]:checked+.ui-check-inner,.ui-check-wrapper>input[type=radio]:checked+.ui-check-inner{border-color:var(--link-color);background-color:var(--link-color)}.ui-check-wrapper>input[type=checkbox]:checked+.ui-check-inner>svg,.ui-check-wrapper>input[type=radio]:checked+.ui-check-inner>svg{-webkit-transform:scale(1);transform:scale(1);opacity:1}.ui-check-wrapper>input[type=checkbox]:disabled:checked+.ui-check-inner,.ui-check-wrapper>input[type=radio]:disabled:checked+.ui-check-inner{border-color:var(--disabled-border-color);background-color:var(--disabled-border-color)}.ui-check-wrapper>input[type=checkbox]:disabled+.ui-check-inner,.ui-check-wrapper>input[type=radio]:disabled+.ui-check-inner{border-color:var(--disabled-border-color);background-color:var(--disabled-bg-color);cursor:default}.ui-check-wrapper>input[type=checkbox]:disabled~span,.ui-check-wrapper>input[type=radio]:disabled~span{color:var(--disabled-border-color);cursor:default}.ui-check-wrapper .ui-check-inner{flex:0 0 auto}.ui-check-wrapper .ui-check-inner+*{flex:1 1 auto;font-weight:400;font-size:var(--font-size);padding-left:8px;padding-right:6px;align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color)}.ui-tooltip-color{background-color:#fff;color:#323130;border-color:#cccc}.ui-tooltip-color:focus,.ui-tooltip-color:focus-visible{outline:none}.ui-tooltip-wrapper{position:absolute;word-wrap:break-word;height:auto;text-align:left;z-index:250;min-width:45px;max-width:480px;min-height:32px;border-radius:2px;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transition:visibility 0s linear .12s,opacity .12s ease}.ui-tooltip-wrapper>.ui-tooltip-pointer{box-sizing:border-box;box-shadow:0 5px 15px 2px #0000004d;border:1px solid #fff;z-index:-1;width:16px;height:16px;positionLine truncated
@-webkit-keyframes loading-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes loading-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--color: #201f1e;--secondary-color: #777;--bg-color: #fff;--border-color: #b9b9b9;--focus-border-color: #666;--shadow-color: rgba(0, 0, 0, .11);--disabled-color: #aaa;--disabled-bg-color: #e9e9e9;--disabled-border-color: #d9d9d9;--red-color: red;--title-color: #fff;--title-bg-color: rgb(68, 114, 196);--title-ctrlbg-color: rgb(68, 114, 196);--hover-bg-color: #eee;--link-color: #1890ff;--secondary-link-color: #1d9ac0;--primary-color: rgb(123, 28, 33);--loading-bg-color: hsla(0, 0%, 100%, .4);--loading-fore-color: rgba(0, 0, 0, .2);--border-radius: 2px;--text-indent: 4px;--line-height: 18px;--font-size: .8125rem;--font-smaller-size: .75rem;--font-larger-size: .875rem;--font-family: "Franklin Gothic Book", "San Francisco", "Segoe UI", "Open Sans", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei UI", sans-serif}.ui-text,.ui-input[type]{font-size:var(--font-size);font-family:var(--font-family);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .12s ease}.ui-text:focus,.ui-text:focus-visible,.ui-input[type]:focus,.ui-input[type]:focus-visible{outline:none}.ui-text:focus,.ui-text:hover,.ui-input[type]:focus,.ui-input[type]:hover{border-color:var(--focus-border-color)}.ui-text:disabled,.ui-input[type]:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color);background-color:var(--disabled-bg-color)}.ui-text.validation-error,.ui-input[type].validation-error{border-color:var(--red-color)}.ui-text.validation-error:focus,.ui-text.validation-error:hover,.ui-input[type].validation-error:focus,.ui-input[type].validation-error:hover{border-color:var(--red-color)}.ui-input{text-indent:var(--text-indent);line-height:var(--line-height)}.ui-check-image-wrapper>input[type=checkbox]{display:none}.ui-check-image-wrapper>input[type=checkbox]:checked~.checked{display:inline}.ui-check-image-wrapper>input[type=checkbox]:checked~.unchecked{display:none}.ui-check-image-wrapper>.checked{display:none}.ui-check-image-wrapper>.unchecked{display:inline}.ui-check-wrapper{display:inline-flex;align-items:center;padding:0 8px;height:36px}.ui-check-wrapper .ui-check-inner{position:relative;display:inline-block;padding:0;width:14px;height:14px;background-color:#fff;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .12s ease}.ui-check-wrapper .ui-check-inner:focus,.ui-check-wrapper .ui-check-inner:focus-visible{outline:none}.ui-check-wrapper .ui-check-inner:focus,.ui-check-wrapper .ui-check-inner:hover{border-color:var(--focus-border-color)}.ui-check-wrapper .ui-check-inner:disabled{border-color:var(--disabled-border-color);color:var(--disabled-color);background-color:var(--disabled-bg-color)}.ui-check-wrapper .ui-check-inner>svg{position:absolute;top:0;left:0;width:100%;height:100%;fill:#fff;-webkit-transform:scale(0);transform:scale(0);opacity:0;transition:all .08s cubic-bezier(.78,.14,.15,.86)}.ui-check-wrapper.ui-radio-wrapper .ui-check-inner{box-sizing:border-box;border-radius:8px;width:16px;height:16px}.ui-check-wrapper>input[type=checkbox],.ui-check-wrapper>input[type=radio]{display:none}.ui-check-wrapper>input[type=checkbox]:checked+.ui-check-inner,.ui-check-wrapper>input[type=radio]:checked+.ui-check-inner{border-color:var(--link-color);background-color:var(--link-color)}.ui-check-wrapper>input[type=checkbox]:checked+.ui-check-inner>svg,.ui-check-wrapper>input[type=radio]:checked+.ui-check-inner>svg{-webkit-transform:scale(1);transform:scale(1);opacity:1}.ui-check-wrapper>input[type=checkbox]:disabled:checked+.ui-check-inner,.ui-check-wrapper>input[type=radio]:disabled:checked+.ui-check-inner{border-color:var(--disabled-border-color);background-color:var(--disabled-border-color)}.ui-check-wrapper>input[type=checkbox]:disabled+.ui-check-inner,.ui-check-wrapper>input[type=radio]:disabled+.ui-check-inner{border-color:var(--disabled-border-color);background-color:var(--disabled-bg-color);cursor:default}.ui-check-wrapper>input[type=checkbox]:disabled~span,.ui-check-wrapper>input[type=radio]:disabled~span{color:var(--disabled-border-color);cursor:default}.ui-check-wrapper .ui-check-inner{flex:0 0 auto}.ui-check-wrapper .ui-check-inner+*{flex:1 1 auto;font-weight:400;font-size:var(--font-size);padding-left:8px;padding-right:6px;align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color)}.ui-tooltip-color{background-color:#fff;color:#323130;border-color:#cccc}.ui-tooltip-color:focus,.ui-tooltip-color:focus-visible{outline:none}.ui-tooltip-wrapper{position:absolute;word-wrap:break-word;height:auto;text-alignLine truncated
+6 -2
View File
@@ -1,3 +1,7 @@
(function(w,L){typeof exports=="object"&&typeof module<"u"?L(exports):typeof define=="function"&&define.amd?define(["exports"],L):(w=typeof globalThis<"u"?globalThis:w||self,L(w["lib-ui"]={}))})(this,function(w){var I,D,R,O,Y,be,He,oe,ae,ce,Ue,ve,wt,xe,kt,Oe,_t,Pe,zt,$e,Rt,Ve,Ht,F,H,we,V,v,ke,Ce,M,K,de,ue,ie,Z,Le,he,Ee,q,At,Te,Ct,ot,ti,at,ii,ct,si,dt,ni,fe,Ge,ut,li,ht,ri,Me,Ot,P,X,se,Ne,pe,Ze,We,Pt,De,$t,Fe,Vt,ye,Je,ft,oi,je,Mt,Be,Wt,pt,ai,yt,ci,gt,di,mt,ui,bt,hi,vt,fi,xt,pi,Xe,Dt,Ye,Ft,Se,Lt,j,U,J,B,Q;"use strict";var zi=Object.defineProperty;var Ri=Object.getPrototypeOf;var Hi=Reflect.get;var Oi=(w,L,N)=>L in w?zi(w,L,{enumerable:!0,configurable:!0,writable:!0,value:N}):w[L]=N;var C=(w,L,N)=>(Oi(w,typeof L!="symbol"?L+"":L,N),N),qt=(w,L,N)=>{if(!L.has(w))throw TypeError("Cannot "+N)};var a=(w,L,N)=>(qt(w,L,"read from private field"),N?N.call(w):L.get(w)),b=(w,L,N)=>{if(L.has(w))throw TypeError("Cannot add the same private member more than once");L instanceof WeakSet?L.add(w):L.set(w,N)},x=(w,L,N,p)=>(qt(w,L,"write to private field"),p?p.call(w,N):L.set(w,N),N);var y=(w,L,N)=>(qt(w,L,"access private method"),N),ei=(w,L,N)=>Hi(Ri(w),N,L);const L="",N="";function p(d,e,...t){const s=document.createElement(d);return typeof e=="function"?e(s):e!=null&&(s.className=e),t.length>0&&s.append(...t),s}const jt="http://www.w3.org/2000/svg";function Et(d,e){const t=typeof consts<"u"?consts:{},s=t.path||"",n=t.resver==null?"":`?${t.resver}`,r=document.createElementNS(jt,"use");return r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",`${s}fonts/${d}.svg${n}#${e}`),r}function Ie(d,e,t){return d instanceof SVGElement&&d.replaceChildren(Et(e,t)),d}function $(d,e,t){const s=document.createElementNS(jt,"svg");if(s.appendChild(Et(d,e)),t!=null)for(let n of Object.entries(t))s.style.setProperty(n[0],n[1]);return s}function yi(d){const e=d.querySelectorAll("svg[data-id]");for(let t of e){const s=t.dataset.type,n=t.dataset.id;t.replaceChildren(Et(s,n)),t.removeAttribute("data-type"),t.removeAttribute("data-id")}return d}const Pi="";function Qe(d,e="fa-regular",t,s=-1,n="check"){d.appendChild(p("layer",r=>{r.className="ui-check-inner",r.addEventListener("keypress",i=>{if(i.key===" "||i.key==="Enter"){const l=d.querySelector("input");l!=null&&(l.checked=!l.checked,l.dispatchEvent(new Event("change")))}}),s>=0&&(r.tabIndex=s)},$(e,n))),t instanceof Element?d.appendChild(t):(t==null?void 0:t.length)>0&&d.appendChild(p("span",r=>r.innerText=t))}function gi(d={}){const e=p("label","ui-check-wrapper ui-radio-wrapper",p("input",t=>{if(t.setAttribute("type","radio"),t.name=d.name,d.checked===!0&&(t.checked=!0),d.enabled===!1&&(t.disabled=!0),d.customerAttributes!=null)for(let s of Object.entries(d.customerAttributes))t.setAttribute(s[0],s[1]);typeof d.onchange=="function"&&t.addEventListener("change",d.onchange)}));return d.className&&e.classList.add(d.className),Qe(e,d.type,d.label,d.tabIndex,"circle"),e}function ne(d={}){const e=p("label","ui-check-wrapper",p("input",t=>{if(t.setAttribute("type","checkbox"),d.checked===!0&&(t.checked=!0),d.enabled===!1&&(t.disabled=!0),d.customerAttributes!=null)for(let s of Object.entries(d.customerAttributes))t.setAttribute(s[0],s[1]);typeof d.onchange=="function"&&t.addEventListener("change",d.onchange)}));return d.className&&e.classList.add(d.className),d.enabled===!1&&e.classList.add("disabled"),d.checkedNode!=null&&d.uncheckedNode!=null?(e.classList.add("ui-check-image-wrapper"),d.imageHeight,d.checkedNode.classList.add("checked"),e.appendChild(d.checkedNode),d.uncheckedNode.classList.add("unchecked"),e.appendChild(d.uncheckedNode)):Qe(e,d.type,d.label,d.tabIndex),e}function mi(d=document.body,e){if(e){const s=d.querySelectorAll('input[type="checkbox"]');for(let n of s){if(n.parentElement.classList.contains("ui-check-wrapper"))continue;const r=n.id;let i,l;if(r!=null&&(i=d.querySelector(`label[for="${r}"]`)),i==null){const o=n.nextElementSibling;o!=null&&(o.tagName==="LABEL"?i=o:o.tagName==="SPAN"&&o.dataset.lgid!=null&&(l=o.innerText,o.style.display="none"))}if(i==null){const o=n.previousElementSibling;o!=null&&(o.tagName==="LABEL"?i=o:l==null&&o.tagName==="SPAN"&&o.dataset.lgid!=null&&(l=o.innerText,o.style.display="none"))}i==null?(i=p("label"),n.parentElement.insertBefore(i,n)):l=i.innerText,n.disabled?i.className="ui-check-wrapper disabled":i.className="ui-check-wrapper",i.replaceChildren(),Qe(i,"fa-regular",l,n.tabIndex),i.insertBefore(n,i.firstChild)}}const t=d.querySelectorAll("label[data-checkbox]");for(let s of t){s.classList.contains("ui-check-wrapper")||s.classList.add("ui-check-wrapper"),s.hasChildNodes()?s.classList.contains("ui-check-image-wrapper")||s.classList.add("ui-check-image-wrapper"):(Qe(s,s.dataset.type,s.dataset.label,s.dataset.tabIndex),s.removeAttribute("data-type"),s.removeAttribute("data-label"));const n=p("input"),r=s.dataset.id;(r==null?void 0:r.length)>0&&(n.id=r),s.dataset.checked!=null&&(n.checked=!0),n.setAttribute("type","checkbox"),s.insertBefore(nLine truncated
`).length;e.style.height=`${i*r.lineHeight+12}px`}}}const Ei=Symbol.for("ui-dropdown"),It=class extends te{static createEdit(e,t,s){const n=new tt({...t.dropOptions,parent:s});return n.onselected=e,n.create()}static setValue(e,t,s,n){if(e.tagName!=="DIV"){let i=y(this,$e,Rt).call(this,s,n);i instanceof Promise?i.then(l=>y(this,Ve,Ht).call(this,l,e,t)):y(this,Ve,Ht).call(this,i,e,t);return}const r=y(this,Pe,zt).call(this,e);if(r!=null){if(r.source==null||r.source.length===0){let i=y(this,$e,Rt).call(this,s,n);if(i instanceof Promise){i.then(l=>{r.source=l,r.select(t,!0)});return}else i!=null&&(r.source=i)}r.select(t,!0)}}static getValue(e){return e.value}static setEnabled(e,t){super.setEnabled(e,t);const s=y(this,Pe,zt).call(this,e);s!=null&&(s.disabled=t===!1)}};let me=It;Pe=new WeakSet,zt=function(e){const t=le[Ei];if(t==null)return null;const s=e.dataset.dropId,n=t[s];return n??null},$e=new WeakSet,Rt=function(e,t){let s=t.source;return typeof s=="function"&&(s=s(e)),s},Ve=new WeakSet,Ht=function(e,t,s){const n=e==null?void 0:e.find(r=>r.value===s);n!=null&&(s=n.text),ei(It,this,"setValue").call(this,t,s)},b(me,Pe),b(me,$e),b(me,Ve);class St extends te{static createEdit(e){return ne({onchange:typeof e=="function"?e:null})}static setValue(e,t){e.querySelector("input").checked=t}static getValue(e){return e.target.checked}static setEnabled(e,t){super.setEnabled(e,t),e.querySelector("input").disabled=t===!1}}class Ti extends te{static create(){return p("span","col-icon")}static setValue(e,t,s,n,r){let i=n.className;typeof i=="function"&&(i=i.call(n,s)),i==null?e.className="col-icon":e.className=`col-icon ${i}`;let l=n.iconType;if(typeof l=="function"&&(l=l.call(n,s)),l??(l="fa-regular"),e.dataset.type!==l||e.dataset.icon!==t){const o=$(l,t);e.replaceChildren(o),e.dataset.type=l,e.dataset.icon=t}}static setEnabled(e,t){super.setEnabled(e,t),t===!1?e.classList.add("disabled"):e.classList.remove("disabled")}}const it={Reorder:"reorder",Resize:"resize",Sort:"sort"},st=xi()?32:0,Si=200,Kt=4,Ut=4,_e=50,Gt=200;function nt(d){var t;return d==null?null:(d.touches&&((t=d.touches[0])==null?void 0:t.clientX))??d.clientX}function Ni(d){let e=0;for(;d!=null;)e+=d.offsetLeft,d=d.offsetParent;return e}function ze(d){return Array.prototype.indexOf.call(d.parentElement.children,d)}const Ii={0:te,1:Yt,2:me,3:St,4:Ti,5:Li},Ke=class{constructor(e){b(this,Te);b(this,ot);b(this,at);b(this,ct);b(this,dt);b(this,fe);b(this,ut);b(this,ht);b(this,Me);b(this,P);b(this,se);b(this,pe);b(this,We);b(this,De);b(this,Fe);b(this,ye);b(this,ft);b(this,je);b(this,Be);b(this,pt);b(this,yt);b(this,gt);b(this,mt);b(this,bt);b(this,vt);b(this,xt);b(this,Xe);b(this,Ye);b(this,Se);b(this,F,void 0);b(this,H,void 0);b(this,we,void 0);b(this,V,void 0);b(this,v,void 0);b(this,ke,void 0);b(this,Ce,-1);b(this,M,void 0);b(this,K,0);b(this,de,void 0);b(this,ue,void 0);b(this,ie,void 0);b(this,Z,-1);b(this,Le,void 0);b(this,he,void 0);b(this,Ee,{});b(this,q,{});b(this,At,[]);C(this,"columns",[]);C(this,"langs",{all:W("allItem","( All )"),ok:W("ok","OK"),reset:W("reset","Reset")});C(this,"virtualCount",100);C(this,"rowHeight",36);C(this,"lineHeight",24);C(this,"extraRows",0);C(this,"filterRowHeight",30);C(this,"height");C(this,"readonly");C(this,"multiSelect",!1);C(this,"fullrowClick",!0);C(this,"allowHtml",!1);C(this,"holderDisabled",!1);C(this,"headerVisible",!0);C(this,"window",le);C(this,"sortIndex",-1);C(this,"sortDirection",1);C(this,"willSelect");C(this,"selectedRowChanged");C(this,"cellDblClicked");C(this,"cellClicked");C(this,"rowDblClicked");C(this,"columnChanged");x(this,we,e)}get element(){return a(this,V)}get source(){var e;return(e=a(this,F))==null?void 0:e.map(t=>t.values)}set source(e){if(a(this,V)==null)throw new Error("grid has not been initialized.");if(!Array.isArray(e))throw new Error("source is not an Array.");e=e.map(t=>({values:t})),x(this,F,e),y(this,Te,Ct).call(this,e)}get virtual(){var e;return((e=a(this,H))==null?void 0:e.length)>this.virtualCount}get sortKey(){var e;return this.columns==null?null:(e=this.columns[this.sortIndex])==null?void 0:e.key}get selectedIndexes(){return a(this,M)}set selectedIndexes(e){const t=a(this,K);a(this,M).splice(0,a(this,M).length,...e),this.readonly!==!0?this.refresh():[...a(this,v).bodyContent.children].forEach((s,n)=>{e.indexOf(t+n)>=0?s.classList.add("selected"):s.classList.contains("selected")&&s.classList.remove("selected")}),typeof this.selectedRowChanged=="function"&&this.selectedRowChanged()}get selectedIndex(){return(a(this,M)&&a(this,M)[0])??-1}get loading(){var e,t;return((t=(e=a(this,v).loading)==null?void 0:e.style)==null?void 0:t.visibility)==="visible"}set loading(e){a(this,v).loading!=null&&(e===!1?(a(this,v).loading.style.visibility="hidden",a(this,v).loading.style.opacity=0):(a(this,v).loading.style.visibility="visible",a(this,v).loading.style.opacity=1))}get scrollTop(){var e;return(e=a(this,v).body)==null?void 0:e.scrollTop}set scrollTop(e){a(this,v).body!=null&&(a(this,v).body.sc Line truncated
(function(w,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(w=typeof globalThis<"u"?globalThis:w||self,h(w["lib-ui"]={}))})(this,function(w){"use strict";var ht=Object.defineProperty;var pt=(w,h,H)=>h in w?ht(w,h,{enumerable:!0,configurable:!0,writable:!0,value:H}):w[h]=H;var k=(w,h,H)=>(pt(w,typeof h!="symbol"?h+"":h,H),H);var Re;function h(u,e,...t){const s=document.createElement(u);return typeof e=="function"?e(s):e!=null&&(s.className=e),t.length>0&&s.append(...t),s}const H="http://www.w3.org/2000/svg",$e={"":"glass-martini","":"music","":"search","":"heart","":"star","":"user","":"film","":"th-large","":"th","":"th-list","":"check","":"times","":"search-plus","":"search-minus","":"power-off","":"signal","":"cog","":"home","":"clock","":"road","":"download","":"inbox","":"redo","":"sync","":"list-alt","":"lock","":"flag","":"headphones","":"volume-off","":"volume-down","":"volume-up","":"qrcode","":"barcode","":"tag","":"tags","":"book","":"bookmark","":"print","":"camera","":"font","":"bold","":"italic","":"text-height","":"text-width","":"align-left","":"align-center","":"align-right","":"align-justify","":"list","":"outdent","":"indent","":"video","":"image","":"pencil","":"map-marker","":"adjust","":"tint","":"edit","":"arrows","":"step-backward","":"fast-backward","":"backward","":"play","":"pause","":"stop","":"forward","":"fast-forward","":"step-forward","":"eject","":"chevron-left","":"chevron-right","":"plus-circle","":"minus-circle","":"times-circle","":"check-circle","":"question-circle","":"info-circle","":"crosshairs","":"ban","":"arrow-left","":"arrow-right","":"arrow-up","":"arrow-down","":"share","":"expand","":"compress","":"plus","":"minus","":"asterisk","":"exclamation-circle","":"gift","":"leaf","":"fire","":"eye","":"eye-slash","":"exclamation-triangle","":"plane","":"calendar-alt","":"random","":"comment","":"magnet","":"chevron-up","":"chevron-down","":"retweet","":"shopping-cart","":"folder","":"folder-open","":"arrows-v","":"arrows-h","":"chart-bar","":"camera-retro","":"key","":"cogs","":"comments","":"star-half","":"sign-out","":"thumbtack","":"external-link","":"sign-in","":"trophy","":"upload","":"lemon","":"phone","":"phone-square","":"unlock","":"credit-card","":"rss","":"hdd","":"bullhorn","":"certificate","":"hand-point-right","":"hand-point-left","":"hand-point-up","":"hand-point-down","":"arrow-circle-left","":"arrow-circle-right","":"arrow-circle-up","":"arrow-circle-down","":"globe","":"wrench","":"tasks","":"filter","":"briefcase","":"arrows-alt","":"users","":"link","":"cloud","":"flask","":"cut","":"copy","":"paperclip","":"save","":"square","":"bars","":"list-ul","":"list-ol","":"strikethrough","":"underline","":"table","":"magic","":"truck","":"money-bill","":"caret-down","":"caret-up","":"caret-left","":"caret-right","":"columns","":"sort","":"sort-down","":"sort-up","":"envelope","":"undo","":"gavel","":"tachometer","":"bolt","":"sitemap","":"umbrella","":"paste","":"lightbulb","":"exchange","":"cloud-download","":"cloud-upload","":"user-md","":"stethoscope","":"suitcase","":"bell","":"coffee","":"hospital","":"ambulance","":"medkit","":"fighter-jet","":"beer","":"h-square","":"plus-square","":"angle-double-left","":"angle-double-right","":"angle-double-up","":"angle-double-down","":"angle-left","":"angle-right","":"angle-up","":"angle-down","":"desktop","":"laptop","":"tablet","":"mobile","":"quote-left","":"quote-right","":"spinner","":"circle","":"smile","":"frown","":"meh","":"gamepad","":"keyboard","":"flag-checkered","":"terminal","":"code","":"reply-all","":"location-arrow","":"crop","":"code-branch","":"unlink","":"question","":"info","":"exclamation","":"superscript","":"subscript","":"eraser","":"puzzle-piece","":"microphone","":"microphone-slash","":"shield","":"calendar","":"fire-extinguisher","":"rocket","":"chevron-circle-left","":"chevron-circle-right","":"chevron-circle-up","":"chevron-circle-down","":"anchor","":"unlock-alt","":"bullseye","":"ellipsis-h","":"ellipsis-v","":"rss-square","":"play-circle","":"ticket","":"minus-square","":"level-up","":"level-down","":"check-square","":"pen-square","":"external-link-square",""Line truncated
`).length;e.style.height=`${i*a.lineHeight+12}px`}}static toString(){return"GridText"}}const st=Symbol.for("ui-dropdown");class Se extends N{static get canEdit(){return!0}static create(){return h("span","ui-drop-span",h("span"))}static createEdit(e,t,s,r){const a=new se({...t.dropOptions,wrapper:s.parentElement});return a.onSelected=e,a.onExpanded=()=>{r.__editing==null?r.__editing={[t.key]:!0}:r.__editing[t.key]=!0,typeof t.onDropExpanded=="function"&&t.onDropExpanded.call(t,r.values,a)},a.create()}static getElement(e){return e.tagName==="DIV"?e.children[0].children[0]:e.children[0]}static _getDrop(e){const t=V[st];if(t==null)return null;const s=e.dataset.dropId,r=t[s];return r??null}static _getSource(e,t){var r;let s;return t.sourceCache!==!1&&(s=(r=e.source)==null?void 0:r[t.key],s!=null)||(s=t.source,typeof s=="function"&&(s=s(e.values)),t.sourceCache!==!1&&(e.source==null?e.source={[t.key]:s}:e.source[t.key]=s)),s}static _setValue(e,t,s,r){const a=e==null?void 0:e.find(i=>i[(r==null?void 0:r.valueKey)??"value"]===s);a!=null&&(s=a[(r==null?void 0:r.textKey)??"text"]),t.children[0].innerText=s}static setValue(e,t,s,r){if(e.tagName!=="DIV"){let i=this._getSource(s,r);i instanceof Promise?i.then(n=>this._setValue(n,e,t,r.dropOptions)):this._setValue(i,e,t,r.dropOptions);return}const a=this._getDrop(e);if(a!=null){if(a.source==null||a.source.length===0){let i=this._getSource(s,r);if(i instanceof Promise){i.then(n=>{a.source=n,a.select(t,!0)});return}else i!=null&&(a.source=i)}a.select(t,!0)}}static getValue(e,t){var s,r;return{value:e[((s=t.dropOptions)==null?void 0:s.valueKey)??"value"],text:e[((r=t.dropOptions)==null?void 0:r.textKey)??"text"]}}static setClass(e,t){e.tagName==="DIV"?e.className=`ui-drop-wrapper ${t??""}`:super.setClass(e,t)}static setEnabled(e,t){super.setEnabled(e,t);const s=this._getDrop(e);s!=null&&(s.disabled=t===!1)}static leaveEdit(e,t){t.parentElement.querySelectorAll(".ui-drop-box.active").forEach(r=>{r!=null&&r.classList.remove("active")});const s=this._getDrop(e);s!=null&&s!=null&&s.multiSelect&&typeof s.onCollapsed=="function"&&s.onCollapsed()}static toString(){return"GridDropdown"}}class ye extends N{static get canEdit(){return!0}static createEdit(e){return $({onchange:e})}static setValue(e,t){e.children[0].checked=t}static getValue(e){return e.target.checked}static setClass(e,t){e.tagName==="LABEL"?e.className=`ui-check-wrapper ${t??""}`:super.setClass(e,t)}static setEnabled(e,t){super.setEnabled(e,t),e.children[0].disabled=t===!1}static toString(){return"GridCheckbox"}}class it extends ye{static createEdit(e,t,s){return we({name:`r_${s}`,onchange:e})}static toString(){return"GridRadiobox"}}class Ae extends N{static create(){return h("span","col-icon")}static setValue(e,t,s,r){let a=r.iconType;if(typeof a=="function"&&(a=a.call(r,s.values)),a??(a="fa-light"),e.dataset.type!==a||e.dataset.icon!==t){const i=C(a,t);e.replaceChildren(i),e.dataset.type=a,e.dataset.icon=t}}static setClass(e,t){e.className=`col-icon ${t??""}`}static setEnabled(e,t){super.setEnabled(e,t),t===!1?e.classList.add("disabled"):e.classList.remove("disabled")}static toString(){return"GridIcon"}}class Te extends N{static get editing(){return!0}static get canEdit(){return!0}static createEdit(e,t,s,r){let a=t.enabled;if(typeof a=="string"?a=r.values[a]:typeof a=="function"&&(a=t.enabled(r.values)),a===!1)return super.create();const i=de(t.dateMin,t.dateMax);return i.addEventListener("change",()=>super._changeValue(t.key,r,i.value)),i.addEventListener("blur",e),i}static setValue(e,t){ge(e,t)}static getValue(e,t){return Le(e.target,t.dateValueFormatter)}static setClass(e,t){e.tagName==="INPUT"?e.className=`ui-date-cell ${t??""}`:super.setClass(e,t)}static setEnabled(e,t){e.disabled=t===!1}static formatDate(e){return pe(e)}static toString(){return"GridDate"}}/**
* @author Tsanie Lily <tsorgy@gmail.com>
* @license MIT
* @version 1.0.2
*/const Ie=(self.document==null?self.location.href:((Re=self.document.currentScript)==null?void 0:Re.src)??"").replace(/ui\.min\.js\?.+$/,""),J=new TextEncoder("utf-8"),re={Reorder:"reorder",Resize:"resize",Sort:"sort"},Z=Be()?32:10,rt=200,Ne=4,qe=10,Q=50,ae=200,W=24;function le(u){var t;return u==null?null:(u.touches&&((t=u.touches[0])==null?void 0:t.clientX))??u.clientX}function ne(u){return Array.prototype.indexOf.call(u.parentElement.children,u)}const De={0:N,1:be,2:Se,3:ye,4:Ae,5:Ee,6:Te,7:it};let T=R;const O={Common:0,Input:1,Dropdown:2,Checkbox:3,Icon:4,Text:5,Date:6,Radio:7,isAlwaysEditing(u){return u===3||u===7}},at={Descending:-1,Ascending:1};class ve{constructor(e,t){k(this,"_var",{parent:null,el:null,source:null,currentSource:null,enabledDict:null,total:null,readonly:!1,selectedColumnIndex:-1,selectedIndexes:null,startIndex:0,scrollTop:0,scrollLeft:0,isFirefox:!1,rowCount:-1,virtualRows:{},colTypes:{},colAttrs:{__filtered:!1,__filtering:!1,__orderIndex:-1},rendering:!1,headerHeight:null,containerHeight:null,footerHeight:null,footerOffset:null,wrapClientWidth:null,bodyClientWidth:null,needResize:null,tooltipTimer:null,refs:{table:null,body:null,header:null,footer:null,loading:null,sizer:null,wrapper:null,dragger:null,draggerCursor:null}});k(this,"columns",[]);k(this,"langs",{});k(this,"virtualCount",100);k(this,"autoResize",!0);k(this,"rowHeight",36);k(this,"lineHeight",18);k(this,"filterIcon","ellipsis-h");k(this,"filteredIcon","filter");k(this,"extraRows",0);k(this,"filterRowHeight",30);k(this,"height");k(this,"multiSelect",!1);k(this,"fullrowClick",!0);k(this,"tooltipDisabled",!1);k(this,"headerVisible",!0);k(this,"headerWrap",!0);k(this,"window");k(this,"sortIndex",-1);k(this,"sortDirection",at.Ascending);k(this,"sortArray",null);k(this,"expandable");k(this,"expandableGenerator");k(this,"willSelect");k(this,"cellClicked");k(this,"onSelectedRowChanged");k(this,"onCellDblClicked");k(this,"onRowDblClicked");k(this,"onColumnChanged");k(this,"onBodyScrolled");k(this,"onRowExpanded");k(this,"onRowCollapsed");this._var.parent=typeof e=="string"?document.querySelector(e):e,typeof t=="function"&&(T=t)}static get ColumnTypes(){return O}get element(){return this._var.el}get changed(){const e=this._var.source;return e==null?!1:e.find(t=>t.__changed)!=null}get allSource(){var e;return(e=this._var.source)==null?void 0:e.map(t=>t.values)}get sourceExpandable(){var e;return(e=this._var.currentSource)==null?void 0:e.map(t=>t.__expandable_object)}get virtual(){var e;return((e=this._var.currentSource)==null?void 0:e.length)>this.virtualCount}get sortKey(){var e;return this.columns==null?null:(e=this.columns[this.sortIndex])==null?void 0:e.key}get _tableRows(){return Array.prototype.slice.call(this._var.refs.body.querySelectorAll("&>.ui-grid-row"))}get _headerCells(){return Array.prototype.slice.call(this._var.refs.header.querySelectorAll("&>th.column"))}get _footerCells(){return Array.prototype.slice.call(this._var.refs.footer.querySelectorAll("&>.ui-grid-cell"))}get startIndex(){return this._var.startIndex}get selectedIndex(){return(this._var.selectedIndexes&&this._var.selectedIndexes[0])??-1}get readonly(){return this._var.readonly===!0}set readonly(e){this._var.readonly=e,this.refresh()}get source(){var e;return(e=this._var.currentSource)==null?void 0:e.map(t=>t.values)}set source(e){if(!Array.isArray(e))throw new Error("source is not an Array.");e=e.map((t,s)=>({__index:s,values:t})),this._var.source=e,this._var.scrollLeft=0,this._var.el!=null&&(this._var.el.scrollLeft=0),this._refreshSource(e)}get total(){return this._var.total}set total(e){this._var.total=e,this.reload(!0)}get selectedIndexes(){return this._var.selectedIndexes}set selectedIndexes(e){const t=this._var.startIndex;this._var.selectedIndexes.splice(0,this._var.selectedIndexes.length,...e),this.readonly?this._tableRows.forEach((s,r)=>{e.includes(t+r)?s.classList.add("selected"):s.classList.contains("selected")&&s.classList.remove("selected")}):this.refresh(),typeof this.onSelectedRowChanged=="function"&&this.onSelectedRowChanged()}get loading(){var e,t;return((t=(e=this._var.refs.loading)==null?void 0:e.style)==null?void 0:t.visibility)==="visible"}set loading(e){this._var.refs.loading!=null&&(e===!1?(this._var.refs.loading.style.visibility="hidden",this._var.refs.loading.style.opacity=0):(this._var.refs.loading.style.visibility="visible",this._var.refs.loading.style.opacity=1))}get scrollTop(){var e;return(e=this._var.el)==null?void 0:e.scrollTop}set scrollTop(e){this._var.el!=null&&(this._var.el.scrollTop=e,this.reload(!0))}init(e=this._var.parent){var n;if(e==null)throw new Error("no specified parent.");if(!(e instanceof HTMLElement)){const l=e[0];if(!(l instanceof HTMLElement))throw new Error(`parent type not supported. ${JSON.stringify(Object.getPrototypeOf(e))}`);e=l}if(!Array.isArray(this.columns))throw new Error("no specified column definitions.");Object.keys(this.langs).length===0&&(this.langs={all:T("allItem","( All )"),ok:T("ok","OLine truncated
//# sourceMappingURL=ui.min.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"ui.min.js","sources":["../lib/functions.js","../lib/ui/icon.js","../lib/ui/checkbox.js","../lib/ui/tooltip.js","../lib/utility/strings.js","../lib/utility/lgres.js","../lib/utility.js","../lib/ui/dropdown.js","../lib/ui/grid/column.js","../lib/ui/grid/grid.js","../lib/ui/popup.js"],"sourcesContent":["export function createElement(tagName, init, ...children) {\r\n const element = document.createElement(tagName);\r\n if (typeof init === 'function') {\r\n init(element);\r\n } else if (init != null) {\r\n element.className = init;\r\n }\r\n if (children.length > 0) {\r\n element.append(...children);\r\n }\r\n return element;\r\n}\r\n","const svgns = 'http://www.w3.org/2000/svg';\r\n\r\nfunction createUse(type, id) {\r\n const c = typeof consts !== 'undefined' ? consts : {};\r\n const path = c.path || '';\r\n const ver = c.resver == null ? '' : `?${c.resver}`;\r\n const use = document.createElementNS(svgns, 'use');\r\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', `${path}fonts/${type}.svg${ver}#${id}`);\r\n return use;\r\n}\r\n\r\nfunction changeIcon(svg, type, id) {\r\n if (svg instanceof SVGElement) {\r\n svg.replaceChildren(createUse(type, id));\r\n }\r\n return svg;\r\n}\r\n\r\nfunction createIcon(type, id, style) {\r\n const svg = document.createElementNS(svgns, 'svg');\r\n svg.appendChild(createUse(type, id));\r\n if (style != null) {\r\n for (let css of Object.entries(style)) {\r\n svg.style.setProperty(css[0], css[1]);\r\n }\r\n }\r\n return svg;\r\n}\r\n\r\nfunction resolveIcon(container) {\r\n const svgs = container.querySelectorAll('svg[data-id]');\r\n for (let icon of svgs) {\r\n const type = icon.dataset.type;\r\n const id = icon.dataset.id;\r\n icon.replaceChildren(createUse(type, id));\r\n icon.removeAttribute('data-type');\r\n icon.removeAttribute('data-id');\r\n }\r\n return container;\r\n}\r\n\r\nexport {\r\n createIcon,\r\n changeIcon,\r\n resolveIcon\r\n}","import './css/checkbox.scss';\r\nimport { createElement } from \"../functions\";\r\nimport { createIcon } from \"./icon\";\r\n\r\nfunction fillCheckbox(container, type = 'fa-regular', label, tabindex = -1, charactor = 'check') {\r\n container.appendChild(\r\n createElement('layer', layer => {\r\n layer.className = 'ui-check-inner';\r\n layer.addEventListener('keypress', e => {\r\n if (e.key === ' ' || e.key === 'Enter') {\r\n const input = container.querySelector('input');\r\n if (input != null) {\r\n input.checked = !input.checked;\r\n input.dispatchEvent(new Event('change'));\r\n }\r\n }\r\n });\r\n if (tabindex >= 0) {\r\n layer.tabIndex = tabindex;\r\n }\r\n }, createIcon(type, charactor))\r\n );\r\n if (label instanceof Element) {\r\n container.appendChild(label);\r\n } else if (label?.length > 0) {\r\n container.appendChild(\r\n createElement('span', span => span.innerText = label)\r\n );\r\n }\r\n}\r\n\r\nfunction createRadiobox(opts = {}) {\r\n const container = createElement('label', 'ui-check-wrapper ui-radio-wrapper',\r\n createElement('input', input => {\r\n input.setAttribute('type', 'radio');\r\n input.name = opts.name;\r\n if (opts.checked === true) {\r\n input.checked = true;\r\n }\r\n if (opts.enabled === false) {\r\n input.disabled = true;\r\n }\r\n if (opts.customerAttributes != null) {\r\n for (let entry of Object.entries(opts.customerAttributes)) {\r\n input.setAttribute(entry[0], entry[1]);\r\n }\r\n }\r\n if (typeof opts.onchange === 'function') {\r\n input.addEventListener('change', opts.onchange);\r\n }\r\n }));\r\n if (opts.className) {\r\n container.classList.add(opts.className);\r\n }\r\n fillCheckbox(container, opts.type, opts.label, opts.tabIndex, 'circle');\r\n return container;\r\n}\r\n\r\nfunction createCheckbox(opts = {}) {\r\n const container = createElement('label', 'ui-check-wrapper',\r\n createElement('input', input => {\r\n input.setAttribute('type', 'checkbox');\r\n if (opts.checked === true) {\r\n input.checked = true;\r\n }\r\n if (opts.enabled === false) {\r\n input.disabled = true;\r\n }\r\n if (opts.customerAttributes != null) {\r\n for (let entry of Object.entries(opts.customerAttributes)) {\r\n input.setAttribute(entry[0], entry[1]);\r\n Line truncated
{"version":3,"file":"ui.min.js","sources":["../../../../../../UILib/ui-lib/lib/functions.js","../../../../../../UILib/ui-lib/lib/ui/icon.js","../../../../../../UILib/ui-lib/lib/ui/checkbox.js","../../../../../../UILib/ui-lib/lib/ui/tooltip.js","../../../../../../UILib/ui-lib/lib/ui/tab.js","../../../../../../UILib/ui-lib/lib/utility/request.js","../../../../../../UILib/ui-lib/lib/utility/strings.js","../../../../../../UILib/ui-lib/lib/utility/lgres.js","../../../../../../UILib/ui-lib/lib/utility.js","../../../../../../UILib/ui-lib/lib/ui/dropdown.js","../../../../../../UILib/ui-lib/lib/ui/popup.js","../../../../../../UILib/ui-lib/lib/ui/extension.js","../../../../../../UILib/ui-lib/lib/ui/date.js","../../../../../../UILib/ui-lib/lib/ui/grid/column.js","../../../../../../UILib/ui-lib/lib/ui/grid/grid.js","../../../../../../UILib/ui-lib/lib/ui/media.js"],"sourcesContent":["export function createElement(tagName, init, ...children) {\r\n const element = document.createElement(tagName);\r\n if (typeof init === 'function') {\r\n init(element);\r\n } else if (init != null) {\r\n element.className = init;\r\n }\r\n if (children.length > 0) {\r\n element.append(...children);\r\n }\r\n return element;\r\n}\r\n","const svgns = 'http://www.w3.org/2000/svg';\r\nconst dict = {\r\n \"\\uf000\": \"glass-martini\",\r\n \"\\uf001\": \"music\",\r\n \"\\uf002\": \"search\",\r\n \"\\uf004\": \"heart\",\r\n \"\\uf005\": \"star\",\r\n \"\\uf007\": \"user\",\r\n \"\\uf008\": \"film\",\r\n \"\\uf009\": \"th-large\",\r\n \"\\uf00a\": \"th\",\r\n \"\\uf00b\": \"th-list\",\r\n \"\\uf00c\": \"check\",\r\n \"\\uf00d\": \"times\",\r\n \"\\uf00e\": \"search-plus\",\r\n \"\\uf010\": \"search-minus\",\r\n \"\\uf011\": \"power-off\",\r\n \"\\uf012\": \"signal\",\r\n \"\\uf013\": \"cog\",\r\n \"\\uf015\": \"home\",\r\n \"\\uf017\": \"clock\",\r\n \"\\uf018\": \"road\",\r\n \"\\uf019\": \"download\",\r\n \"\\uf01c\": \"inbox\",\r\n \"\\uf01e\": \"redo\",\r\n \"\\uf021\": \"sync\",\r\n \"\\uf022\": \"list-alt\",\r\n \"\\uf023\": \"lock\",\r\n \"\\uf024\": \"flag\",\r\n \"\\uf025\": \"headphones\",\r\n \"\\uf026\": \"volume-off\",\r\n \"\\uf027\": \"volume-down\",\r\n \"\\uf028\": \"volume-up\",\r\n \"\\uf029\": \"qrcode\",\r\n \"\\uf02a\": \"barcode\",\r\n \"\\uf02b\": \"tag\",\r\n \"\\uf02c\": \"tags\",\r\n \"\\uf02d\": \"book\",\r\n \"\\uf02e\": \"bookmark\",\r\n \"\\uf02f\": \"print\",\r\n \"\\uf030\": \"camera\",\r\n \"\\uf031\": \"font\",\r\n \"\\uf032\": \"bold\",\r\n \"\\uf033\": \"italic\",\r\n \"\\uf034\": \"text-height\",\r\n \"\\uf035\": \"text-width\",\r\n \"\\uf036\": \"align-left\",\r\n \"\\uf037\": \"align-center\",\r\n \"\\uf038\": \"align-right\",\r\n \"\\uf039\": \"align-justify\",\r\n \"\\uf03a\": \"list\",\r\n \"\\uf03b\": \"outdent\",\r\n \"\\uf03c\": \"indent\",\r\n \"\\uf03d\": \"video\",\r\n \"\\uf03e\": \"image\",\r\n \"\\uf040\": \"pencil\",\r\n \"\\uf041\": \"map-marker\",\r\n \"\\uf042\": \"adjust\",\r\n \"\\uf043\": \"tint\",\r\n \"\\uf044\": \"edit\",\r\n \"\\uf047\": \"arrows\",\r\n \"\\uf048\": \"step-backward\",\r\n \"\\uf049\": \"fast-backward\",\r\n \"\\uf04a\": \"backward\",\r\n \"\\uf04b\": \"play\",\r\n \"\\uf04c\": \"pause\",\r\n \"\\uf04d\": \"stop\",\r\n \"\\uf04e\": \"forward\",\r\n \"\\uf050\": \"fast-forward\",\r\n \"\\uf051\": \"step-forward\",\r\n \"\\uf052\": \"eject\",\r\n \"\\uf053\": \"chevron-left\",\r\n \"\\uf054\": \"chevron-right\",\r\n \"\\uf055\": \"plus-circle\",\r\n \"\\uf056\": \"minus-circle\",\r\n \"\\uf057\": \"times-circle\",\r\n \"\\uf058\": \"check-circle\",\r\n \"\\uf059\": \"question-circle\",\r\n \"\\uf05a\": \"info-circle\",\r\n \"\\uf05b\": \"crosshairs\",\r\n \"\\uf05e\": \"ban\",\r\n \"\\uf060\": \"arrow-left\",\r\n \"\\uf061\": \"arrow-right\",\r\n \"\\uf062\": \"arrow-up\",\r\n \"\\uf063\": \"arrow-down\",\r\n \"\\uf064\": \"share\",\r\n \"\\uf065\": \"expand\",\r\n \"\\uf066\": \"compress\",\r\n \"\\uf067\": \"plus\",\r\n \"\\uf068\": \"minus\",\r\n \"\\uf069\": \"asterisk\",\r\n \"\\uf06a\": \"exclamation-circle\",\r\n \"\\uf06b\": \"gift\",\r\n \"\\uf06c\": \"leaf\",\r\n \"\\uf06d\": \"fire\",\r\n \"\\uf06e\": \"eye\",\r\n \"\\uf070\": \"eye-slash\",\r\n \"\\uf071\": \"exclamation-triangle\",\r\n \"\\uf072\": \"plane\",\r\n \"\\uf073\": \"calendar-alt\",\r\n \"\\uf074\": \"random\",\r\n \"\\uf075\": \"comment\",\r\n \"\\uf076\": \"magnet\",\r\n \"\\uf077\": \"chevron-up\",\r\n \"\\uf078\": \"chevron-down\",\r\n \"\\uf079\": \"retweet\",\r\n \"\\uf07a\": \"shopping-cart\",\r\n \"\\uf07b\": \"folder\",\r\n \"\\uf07c\": \"folder-open\",\r\n \"\\uf07d\": \"arrows-v\",\r\n \"\\uf07e\": \"arrows-h\",\r\n \"\\Line truncated
+2 -2
View File
@@ -1,4 +1,4 @@
(function(i,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(i=typeof globalThis<"u"?globalThis:i||self,c(i["lib-utility"]={}))})(this,function(i){"use strict";function c(e,t,n){if(e==null)return;let r=`; domain=${location.host}; path=/`;if(n!=null){const l=new Date;l.setTime(l.getTime()+n*24*60*60*1e3),r+=`; expires=${l.toGMTString()}`}/^(https|wss):$/.test(location.protocol)&&(r+="; secure"),document.cookie=`${e}=${encodeURIComponent(t)}${r}`}function f(e){if(e==null)return null;e+="=";const t=document.cookie.split(";");for(let n of t)if(n=n.trim(),n.indexOf(e)===0)return decodeURIComponent(n.substring(e.length));return null}function k(e){c(e,"",-1)}function d(e){return/^(https?|wss?|ftp):/.test(e)||typeof consts>"u"?e:(consts.path||"")+e}function w(e,t={}){return fetch(d(e),{method:t.method||"GET",headers:{...t.customerHeaders,Accept:t.accept||"application/json"},signal:t.signal,cache:"default"})}function A(e,t,n={}){return t instanceof FormData||(typeof t!="string"&&(t=JSON.stringify(t)),n.customerHeaders==null&&(n.customerHeaders={}),n.customerHeaders["Content-Type"]==null&&(n.customerHeaders["Content-Type"]="application/json")),fetch(d(e),{method:n.method||"POST",headers:n.customerHeaders,body:t,signal:n.signal,cache:"no-cache"})}function O(e,t,n={}){return new Promise((r,l)=>{const a=new XMLHttpRequest;if(a.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&(this.status===200?r(this):l(`${this.status} ${this.statusText}: ${this.responseText}`))},typeof n.progress=="function"&&a.upload.addEventListener("progress",function(u){u.lengthComputable&&n.progress.call(this,u)},!1),a.open("POST",d(e)),n.customerHeaders!=null)for(let u of Object.entries(n.customerHeaders))a.setRequestHeader(u[0],u[1]);a.send(t)})}function o(e){return e==null||typeof e!="string"||e.length===0}function C(e,t,n){return o(e)||t==null?!1:(typeof t!="string"&&(t=String(t)),n?e.toLowerCase().indexOf(t.toLowerCase())>=0:e.indexOf(t)>=0)}function L(e,t){return o(e)||o(t)?!1:e.indexOf(t)===e.length-t.length}function N(e,t,n){return o(e)||isNaN(t)||t<=e.length?e:(n??" ").repeat(t-e.length)}function H(e){const t=/(http|ftp|https):\/\/.+?(\s|\r\n|\r|\n|\"|\'|\*|$)/g,n=e.match(t);if(e=m(e),(n==null?void 0:n.length)>0){const r=[];for(let l of n)l=l.replace(/["'\r\n ]/g,""),r.indexOf(l)<0&&r.push(l);for(let l of r)e=e.replaceAll(l,'<a target="_blank" href="'+l+'"><svg><use xlink:href="'+(typeof consts<"u"&&consts.path||"")+'fonts/fa-regular.svg#link"></use></svg></a>')}return e}function m(e){return e==null?"":String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll(`\r
(function(i,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(i=typeof globalThis<"u"?globalThis:i||self,c(i["lib-utility"]={}))})(this,function(i){"use strict";function c(e,t,n){if(e==null)return;let r=`; domain=${location.host}; path=/`;if(n!=null){const l=new Date;l.setTime(l.getTime()+n*24*60*60*1e3),r+=`; expires=${l.toGMTString()}`}/^(https|wss):$/.test(location.protocol)&&(r+="; secure"),document.cookie=`${e}=${encodeURIComponent(t)}${r}`}function f(e){if(e==null)return null;e+="=";const t=document.cookie.split(";");for(let n of t)if(n=n.trim(),n.startsWith(e))return decodeURIComponent(n.substring(e.length));return null}function $(e){c(e,"",-1)}function d(e){return/^(https?|wss?|ftp):/.test(e)||typeof consts>"u"?e:(consts.path||"")+e}function w(e,t={}){return fetch(d(e),{method:t.method||"GET",headers:{...t.customHeaders,Accept:t.accept??"application/json"},mode:t.mode,signal:t.signal,cache:"default"})}function A(e,t,n={}){return t instanceof FormData||(typeof t!="string"&&(t=JSON.stringify(t)),n.customHeaders==null&&(n.customHeaders={}),n.customHeaders["Content-Type"]==null&&(n.customHeaders["Content-Type"]="application/json")),fetch(d(e),{method:n.method||"POST",headers:n.customHeaders,body:t,signal:n.signal,cache:"no-cache"})}function C(e,t,n={}){return new Promise((r,l)=>{const a=new XMLHttpRequest;if(a.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&(this.status===200?r(this):l(`${this.status} ${this.statusText}: ${this.responseText}`))},typeof n.progress=="function"&&a.upload.addEventListener("progress",function(u){u.lengthComputable&&n.progress.call(this,u)},!1),a.open("POST",d(e)),n.customHeaders!=null)for(let u of Object.entries(n.customHeaders))a.setRequestHeader(u[0],u[1]);a.send(t)})}function o(e){return e==null||typeof e!="string"||e.length===0}function L(e,t,n){return o(e)||t==null?!1:(typeof t!="string"&&(t=String(t)),n?e.toLowerCase().includes(t.toLowerCase()):e.includes(t))}function N(e,t){return o(e)||o(t)?!1:e.endsWith(t)}function E(e,t,n){return o(e)||isNaN(t)||t<=e.length?e:(n??" ").repeat(t-e.length)}function H(e){const t=/(http|ftp|https):\/\/.+?(\s|\r\n|\r|\n|\"|\'|\*|$)/g,n=e.match(t);if(e=b(e),(n==null?void 0:n.length)>0){const r=[];for(let a of n)a=a.replace(/["'\r\n ]/g,""),r.indexOf(a)<0&&r.push(a);let l;typeof consts<"u"?l=consts.path:typeof _network<"u"?l=_network.root:typeof _net<"u"&&(l=_net.root);for(let a of r)e=e.replaceAll(a,`<a target="_blank" href="${a}"><svg><use xlink:href="${l||""}fonts/fa-regular.svg#link"></use></svg></a>`)}return e}function b(e){return e==null?"":String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll(`\r
`,"<br/>").replaceAll(`
`,"<br/>").replaceAll(" ","&nbsp;")}let g;function h(){var n,r;let e;switch(typeof consts<"u"&&(e=f((n=consts.cookie)==null?void 0:n.lang),o(e)&&(e=(r=consts.user)==null?void 0:r.language)),o(e)&&(e=f("lgid")),o(e)&&(e=navigator.language||"en-us"),e=e.toLowerCase().replace(/-/g,"_"),o(e)&&(e="en"),e){case"en":case"en_au":case"fr":case"zh_cn":return e}const t=e.split("_")[0];switch(t){case"en":case"fr":return t}return"en"}function T(e){return typeof consts<"u"?(consts.prefix||"")+`res_${e}`:`res_${e}`}async function v(e=""){const t=h(),r=await(await w(`language/${t}${e}`)).json();return localStorage.setItem(T(t),JSON.stringify(r)),r}async function p(e,t){(t==null||typeof consts>"u")&&(t=await v(e));const n=Number(consts.resver);return(isNaN(t.ver)||isNaN(n)||n>t.ver)&&(console.log(`found new language res version: ${t.ver} => ${n}`),t=await v(e)),Object.defineProperty(t,"r",{writable:!1,configurable:!1,enumerable:!1,value:function(r,l){return s(this,r,l)}}),g=t,t}function s(e,t,n){return e[t]??n}function S(e,t){for(let n of e.querySelectorAll("[data-lgid]")){const r=n.dataset.lgid;n.tagName==="INPUT"?n.value=s(t,r,n.value):n.innerText=s(t,r,n.innerText)}for(let n of e.querySelectorAll("[data-title-lgid]")){const r=n.dataset.titleLgid;n.setAttribute("title",s(t,r,n.getAttribute("title")))}for(let n of e.querySelectorAll("[data-placeholder-lgid]")){const r=n.dataset.placeholderLgid;n.setAttribute("placeholder",s(t,r,n.getAttribute("placeholder")))}}async function E(e=document.body,t={}){const n=h();let r=localStorage.getItem(T(n)),l;if(r!=null)try{r=JSON.parse(r),l=await p(t.template,r)}catch(a){console.error("error while parsing lgres, try refresh ...",a),l=await p(t.template)}else l=await p(t.template);try{return document.readyState==="loading"?await new Promise((a,u)=>{let $=setTimeout(()=>u("timeout"),3e4);document.addEventListener("DOMContentLoaded",()=>{clearTimeout($),$=void 0,typeof t.callback=="function"&&t.callback(l),S(e,l),a(l)})}):(typeof t.callback=="function"&&t.callback(l),S(e,l),l)}catch(a){console.error("error while loading language res ...",a)}}function y(e,t){return g!=null?s(g,e,t):t}const P={get current(){return h()},get unknownError(){return y("unknownError","An unknown error occurred, please contact the administrator.")},get savedSuccessfully(){return y("savedSuccessfully","Saved successfully.")}};let b=typeof globalThis<"u"?globalThis:self;function M(e){return!isNaN(e)&&e>0}function j(){return/mobile/i.test(navigator.userAgent)}function q(e,t=100,n=b,...r){if(e==null)return;e.tiid&&clearTimeout(e.tiid);const l=new Date;e.tdate==null||l-e.tdate>t?(e.apply(n,r),e.tdate=l):e.tiid=setTimeout(()=>e.apply(n,r),t)}function R(e,t=100,n=b,...r){e!=null&&(e.tiid&&clearTimeout(e.tiid),e.tiid=setTimeout(()=>e.apply(n,r),t))}function _(e){return(e>0?Math.floor:Math.ceil)(e)}function I(e){return/^\w[-\w.+]*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(e)}function U(e){return!!(/^[1-9]\d{9,}$/.test(e)||/^\+?[1-9][\d-]{9,}\d$/.test(e)&&/^[1-9]\d{9,}$/.test(e.replace("+","").replace(new RegExp("-","g"),"")))}i.contains=C,i.debounce=R,i.deleteCookie=k,i.endsWith=L,i.escapeHtml=m,i.formatUrl=H,i.get=w,i.getCookie=f,i.global=b,i.init=E,i.isEmail=I,i.isMobile=j,i.isPhone=U,i.isPositive=M,i.lang=P,i.nullOrEmpty=o,i.padStart=N,i.post=A,i.r=y,i.setCookie=c,i.throttle=q,i.truncate=_,i.upload=O,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
`,"<br/>").replaceAll(" ","&nbsp;")}function O(e){return e==null?"":(typeof e!="string"&&(e=String(e)),e.replace(/(=[A-Fa-f0-9]{2}){4}/g,t=>decodeURIComponent(t.replaceAll("=","%"))).replace(/&#x([0-9a-fA-F]{2,6});/g,(t,n)=>String.fromCodePoint(parseInt(n,16))))}let g;function p(){var n,r;let e;switch(typeof consts<"u"&&(e=f((n=consts.cookie)==null?void 0:n.lang),o(e)&&(e=(r=consts.user)==null?void 0:r.language)),o(e)&&(e=f("lgid")),o(e)&&(e=navigator.language||"en-us"),e=e.toLowerCase().replace(/-/g,"_"),o(e)&&(e="en"),e){case"en":case"en_au":case"fr":case"zh_cn":return e}const t=e.split("_")[0];switch(t){case"en":case"fr":return t}return"en"}function S(e){return typeof consts<"u"?(consts.prefix||"")+`res_${e}`:`res_${e}`}async function T(e=""){const t=p(),n=e.length>0?e.replace("{lgid}",t):`language/${t}`,l=await(await w(n)).json();return localStorage.setItem(S(t),JSON.stringify(l)),l}async function h(e,t){(t==null||typeof consts>"u")&&(t=await T(e));const n=Number(consts.resver);return(isNaN(t.ver)||isNaN(n)||n>t.ver)&&(console.log(`found new language res version: ${t.ver} => ${n}`),t=await T(e)),Object.defineProperty(t,"r",{writable:!1,configurable:!1,enumerable:!1,value:function(r,l){return s(this,r,l)}}),g=t,t}function s(e,t,n){return e[t]??n}function v(e,t){for(let n of e.querySelectorAll("[data-lgid]")){const r=n.dataset.lgid;n.tagName==="INPUT"?n.value=s(t,r,n.value):n.innerText=s(t,r,n.innerText)}for(let n of e.querySelectorAll("[data-title-lgid]")){const r=n.dataset.titleLgid;n.setAttribute("title",s(t,r,n.getAttribute("title")))}for(let n of e.querySelectorAll("[data-placeholder-lgid]")){const r=n.dataset.placeholderLgid;n.setAttribute("placeholder",s(t,r,n.getAttribute("placeholder")))}}async function P(e=document.body,t={}){const n=p();let r=localStorage.getItem(S(n)),l;if(r!=null)try{r=JSON.parse(r),l=await h(t.template,r)}catch(a){console.error("error while parsing lgres, try refresh ...",a),l=await h(t.template)}else l=await h(t.template);try{return document.readyState==="loading"?await new Promise((a,u)=>{let k=setTimeout(()=>u("timeout"),3e4);document.addEventListener("DOMContentLoaded",()=>{clearTimeout(k),k=void 0,typeof t.callback=="function"&&t.callback(l),v(e,l),a(l)})}):(typeof t.callback=="function"&&t.callback(l),v(e,l),l)}catch(a){console.error("error while loading language res ...",a)}}function y(e,t){return g!=null?s(g,e,t):t}const _={get current(){return p()},get unknownError(){return y("unknownError","An unknown error occurred, please contact the administrator.")},get savedSuccessfully(){return y("savedSuccessfully","Saved successfully.")}};let m=typeof globalThis<"u"?globalThis:self;function j(e){return!isNaN(e)&&e>0}function M(){return/mobile/i.test(navigator.userAgent)}function I(e,t=100,n=m,...r){if(e==null)return;e.tiid&&clearTimeout(e.tiid);const l=new Date;e.tdate==null||l-e.tdate>t?(e.apply(n,r),e.tdate=l):e.tiid=setTimeout(()=>e.apply(n,r),t)}function R(e,t=100,n=m,...r){e!=null&&(e.tiid&&clearTimeout(e.tiid),e.tiid=setTimeout(()=>e.apply(n,r),t))}function q(e){return(e>0?Math.floor:Math.ceil)(e)}function U(e){return/^\w[-\w.+]*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(e)}function D(e){return!!(/^[1-9]\d{9,}$/.test(e)||/^\+?[1-9][\d-]{9,}\d$/.test(e)&&/^[1-9]\d{9,}$/.test(e.replace("+","").replace(new RegExp("-","g"),"")))}i.contains=L,i.debounce=R,i.deleteCookie=$,i.endsWith=N,i.escapeEmoji=O,i.escapeHtml=b,i.formatUrl=H,i.get=w,i.getCookie=f,i.global=m,i.init=P,i.isEmail=U,i.isMobile=M,i.isPhone=D,i.isPositive=j,i.lang=_,i.nullOrEmpty=o,i.padStart=E,i.post=A,i.r=y,i.setCookie=c,i.throttle=I,i.truncate=q,i.upload=C,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
//# sourceMappingURL=utility.min.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"utility.min.js","sources":["../lib/utility/cookie.js","../lib/utility/request.js","../lib/utility/strings.js","../lib/utility/lgres.js","../lib/utility.js"],"sourcesContent":["function setCookie(name, value, expireDays) {\r\n if (name == null) {\r\n return;\r\n }\r\n let extra = `; domain=${location.host}; path=/`;\r\n if (expireDays != null) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000));\r\n extra += `; expires=${d.toGMTString()}`;\r\n }\r\n if (/^(https|wss):$/.test(location.protocol)) {\r\n extra += '; secure';\r\n }\r\n document.cookie = `${name}=${encodeURIComponent(value)}${extra}`;\r\n}\r\n\r\nfunction getCookie(name) {\r\n if (name == null) {\r\n return null;\r\n }\r\n name += '=';\r\n const cookies = document.cookie.split(';');\r\n for (let cookie of cookies) {\r\n cookie = cookie.trim();\r\n if (cookie.indexOf(name) === 0) {\r\n return decodeURIComponent(cookie.substring(name.length));\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nfunction deleteCookie(name) {\r\n setCookie(name, '', -1);\r\n}\r\n\r\nexport {\r\n getCookie,\r\n setCookie,\r\n deleteCookie\r\n}","function combineUrl(url) {\r\n if (/^(https?|wss?|ftp):/.test(url)) {\r\n return url;\r\n }\r\n if (typeof consts === 'undefined') {\r\n return url;\r\n }\r\n return (consts.path || '') + url;\r\n}\r\n\r\nfunction get(url, options = {}) {\r\n return fetch(combineUrl(url), {\r\n method: options.method || 'GET',\r\n headers: {\r\n ...options.customerHeaders,\r\n 'Accept': options.accept || 'application/json'\r\n },\r\n signal: options.signal,\r\n cache: 'default'\r\n });\r\n}\r\n\r\nfunction post(url, data, options = {}) {\r\n // let contentType;\r\n if (data instanceof FormData) {\r\n // contentType = 'multipart/form-data';\r\n } else {\r\n if (typeof data !== 'string') {\r\n data = JSON.stringify(data);\r\n }\r\n // contentType = 'application/json';\r\n if (options.customerHeaders == null) {\r\n options.customerHeaders = {};\r\n }\r\n if (options.customerHeaders['Content-Type'] == null) {\r\n options.customerHeaders['Content-Type'] = 'application/json';\r\n }\r\n }\r\n return fetch(combineUrl(url), {\r\n method: options.method || 'POST',\r\n headers: options.customerHeaders,\r\n body: data,\r\n signal: options.signal,\r\n cache: 'no-cache'\r\n });\r\n}\r\n\r\nfunction upload(url, data, options = {}) {\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n request.onreadystatechange = function () {\r\n if (this.readyState === XMLHttpRequest.DONE) {\r\n if (this.status === 200) {\r\n resolve(this);\r\n } else {\r\n reject(`${this.status} ${this.statusText}: ${this.responseText}`);\r\n }\r\n }\r\n };\r\n if (typeof options.progress === 'function') {\r\n request.upload.addEventListener('progress', function (ev) {\r\n if (ev.lengthComputable) {\r\n options.progress.call(this, ev);\r\n }\r\n }, false);\r\n }\r\n request.open('POST', combineUrl(url));\r\n if (options.customerHeaders != null) {\r\n for (let header of Object.entries(options.customerHeaders)) {\r\n request.setRequestHeader(header[0], header[1]);\r\n }\r\n }\r\n request.send(data);\r\n });\r\n}\r\n\r\nexport {\r\n get,\r\n post,\r\n upload\r\n}","function nullOrEmpty(s) {\r\n return s == null || typeof s !== 'string' || s.length === 0;\r\n}\r\n\r\nfunction contains(s, key, ignoreCase) {\r\n if (nullOrEmpty(s) || key == null) {\r\n return false;\r\n }\r\n if (typeof key !== 'string') {\r\n key = String(key);\r\n }\r\n if (ignoreCase) {\r\n return s.toLowerCase().indexOf(key.toLowerCase()) >= 0;\r\n }\r\n return s.indexOf(key) >= 0;\r\n}\r\n\r\nfunction endsWith(s, suffix) {\r\n if (nullOrEmpty(s) || nullOrEmpty(suffix)) {\r\n return false;\r\n }\r\n return s.indexOf(suffix) === s.length - suffix.length;\r\n}\r\n\r\nfunction padStart(s, num, char) {\r\n if (nullOrEmpty(s) || isNaN(num) || num <= s.length) {\r\n return s;\r\n }\r\n return (char ?? ' ').repeat(num - s.length);\r\n}\r\n\r\nfunction formatUrl(msg) {\r\n //const urlReg = /(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?/ig;\r\n //const urlArrray = str.match(urlReg);\r\n const p = /(http|ftp|https):\\/\\/.+?(\\s|\\r\\n|\\r|\\n|\\\"|\\'|\\*|$)/g;\r\n const r = msg.match(p);\rLine truncated
{"version":3,"file":"utility.min.js","sources":["../../../../../../UILib/ui-lib/lib/utility/cookie.js","../../../../../../UILib/ui-lib/lib/utility/request.js","../../../../../../UILib/ui-lib/lib/utility/strings.js","../../../../../../UILib/ui-lib/lib/utility/lgres.js","../../../../../../UILib/ui-lib/lib/utility.js"],"sourcesContent":["export function setCookie(name, value, expireDays) {\r\n if (name == null) {\r\n return;\r\n }\r\n let extra = `; domain=${location.host}; path=/`;\r\n if (expireDays != null) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000));\r\n extra += `; expires=${d.toGMTString()}`;\r\n }\r\n if (/^(https|wss):$/.test(location.protocol)) {\r\n extra += '; secure';\r\n }\r\n document.cookie = `${name}=${encodeURIComponent(value)}${extra}`;\r\n}\r\n\r\nexport function getCookie(name) {\r\n if (name == null) {\r\n return null;\r\n }\r\n name += '=';\r\n const cookies = document.cookie.split(';');\r\n for (let cookie of cookies) {\r\n cookie = cookie.trim();\r\n if (cookie.startsWith(name)) {\r\n return decodeURIComponent(cookie.substring(name.length));\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function deleteCookie(name) {\r\n setCookie(name, '', -1);\r\n}","function combineUrl(url) {\r\n if (/^(https?|wss?|ftp):/.test(url)) {\r\n return url;\r\n }\r\n if (typeof consts === 'undefined') {\r\n return url;\r\n }\r\n return (consts.path || '') + url;\r\n}\r\n\r\nexport function get(url, options = {}) {\r\n return fetch(combineUrl(url), {\r\n method: options.method || 'GET',\r\n headers: {\r\n ...options.customHeaders,\r\n 'Accept': options.accept ?? 'application/json'\r\n },\r\n mode: options.mode,\r\n signal: options.signal,\r\n cache: 'default'\r\n });\r\n}\r\n\r\nexport function post(url, data, options = {}) {\r\n // let contentType;\r\n if (data instanceof FormData) {\r\n // contentType = 'multipart/form-data';\r\n } else {\r\n if (typeof data !== 'string') {\r\n data = JSON.stringify(data);\r\n }\r\n // contentType = 'application/json';\r\n if (options.customHeaders == null) {\r\n options.customHeaders = {};\r\n }\r\n if (options.customHeaders['Content-Type'] == null) {\r\n options.customHeaders['Content-Type'] = 'application/json';\r\n }\r\n }\r\n return fetch(combineUrl(url), {\r\n method: options.method || 'POST',\r\n headers: options.customHeaders,\r\n body: data,\r\n signal: options.signal,\r\n cache: 'no-cache'\r\n });\r\n}\r\n\r\nexport function upload(url, data, options = {}) {\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n request.onreadystatechange = function () {\r\n if (this.readyState === XMLHttpRequest.DONE) {\r\n if (this.status === 200) {\r\n resolve(this);\r\n } else {\r\n reject(`${this.status} ${this.statusText}: ${this.responseText}`);\r\n }\r\n }\r\n };\r\n if (typeof options.progress === 'function') {\r\n request.upload.addEventListener('progress', function (ev) {\r\n if (ev.lengthComputable) {\r\n options.progress.call(this, ev);\r\n }\r\n }, false);\r\n }\r\n request.open('POST', combineUrl(url));\r\n if (options.customHeaders != null) {\r\n for (let header of Object.entries(options.customHeaders)) {\r\n request.setRequestHeader(header[0], header[1]);\r\n }\r\n }\r\n request.send(data);\r\n });\r\n}","export function nullOrEmpty(s) {\r\n return s == null || typeof s !== 'string' || s.length === 0;\r\n}\r\n\r\nexport function contains(s, key, ignoreCase) {\r\n if (nullOrEmpty(s) || key == null) {\r\n return false;\r\n }\r\n if (typeof key !== 'string') {\r\n key = String(key);\r\n }\r\n if (ignoreCase) {\r\n return s.toLowerCase().includes(key.toLowerCase());\r\n }\r\n return s.includes(key);\r\n}\r\n\r\nexport function endsWith(s, suffix) {\r\n if (nullOrEmpty(s) || nullOrEmpty(suffix)) {\r\n return false;\r\n }\r\n return s.endsWith(suffix); // === s.length - suffix.length;\r\n}\r\n\r\nexport function padStart(s, num, char) {\r\n if (nullOrEmpty(s) || isNaN(num) || num <= s.length) {\r\n return s;\r\n }\r\n return (char ?? ' ').repeat(num - s.length);\r\n}\r\n\r\nexport function formatUrl(msg) {\r\n //const urlReg = /(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?/ig;\r\n //const urlArrray = str.match(urlReg);\r\n const p = /(http|ftLine truncated
Binary file not shown.
-415
View File
@@ -1,415 +0,0 @@
var ALL_TEXT = "(All)";
var ALL_VALUE = "@all";
$(function () {
// global event
}());
function showMapAlertLayer(data) {
var opt = $('<option></option>').val("").text("(None)");
var sel = $("#selMapAlertLayer");
sel.empty();
sel.append(opt);
for (var i = 0; i < data.length; i++) {
var mal = data[i];
opt = $('<option></option>').val(mal.ID).text(mal.Name).data("mal", mal);
sel.append(opt);
}
if (userParams && userParams.MapAlertLayer) {
sel.val(userParams.MapAlertLayer);
}
showMapAlertLayerDetail();
}
function showMapAlertLayerDetail() {
var mal = $("#selMapAlertLayer").find("option:selected").data("mal");
var tb = $("#tbLegend");
tb.empty();
var haspramameter = false;
if (mal && mal.Layers) {
//var tr = $("<tr></tr>");
//tb.append(tr);
//var td = $("<td class='mapalertlayertitle'></td>").html("Icon Definition").css("width", 100);
//tr.append(td);
//td = $("<td class='mapalertlayertitle'></td>").html("Alert Title").css("width", 150);
//tr.append(td);
for (var i = 0; i < mal.Layers.length; i++) {
var layer = mal.Layers[i];
if ((layer.CriteriaSQLParameters && layer.CriteriaSQLParameters.length > 0)
|| (layer.AlertSQLParameters && layer.AlertSQLParameters.length > 0))
haspramameter = true;
var tr = $("<tr style='border-bottom: 1px solid lightgray;'></tr>");
tb.append(tr);
if (layer.IconColor.length == 9)
layer.IconColor = "#" + layer.IconColor.substring(3);
var td = $("<td></td>").css("width", 30);
td.append($("<img></img>").attr("src", layer.LegendUrl).css({ "width": 18, "vertical-align": "middle" }));
//td.append($("<div></div>").css({ "background-color": layer.IconColor, "width": 24, "height": 16 }));
tr.append(td);
td = $("<td></td>").html(layer.Title).css({ "padding-left": 10, "width": 220 });
tr.append(td);
}
}
var staticlegend = ["InMotion", "StoppedOn", "StoppedOff", "CGain", "CLoss"];
var staticlegendtitle = ["In Motion", "Stopped On", "Stopped Off", "Connectivity Recovery", "Connectivity Loss"];
for (var i = 0; i < staticlegend.length; i++) {
var tr = $("<tr style='border-bottom: 1px solid lightgray;'></tr>");
tb.append(tr);
var url = userParams.MachineIconURL + "?legend=" + staticlegend[i];
var td = $("<td></td>").css("width", 30);
td.append($("<img></img>").attr("src", url).css({ "width": 18, "vertical-align": "middle" }));
tr.append(td);
td = $("<td></td>").html(staticlegendtitle[i]).css({ "padding-left": 10, "width": 220 });
tr.append(td);
}
var harshdrivinglegend = ["#ff3f48cc", "#ff00a8f3", "#fffff200", "#ffff7f27", "#ffec1c24"];
var harshdrivingtitle = ["Hard Acceleration", "Hard Brake", "Hard Turn", "Speeding: Low Severity", "Speeding: High Severity"];
for (var i = 0; i < harshdrivinglegend.length; i++) {
var tr = $("<tr style='border-bottom: 1px solid lightgray;'></tr>");
tb.append(tr);
var ironurl = userParams.MachineIconURL.toLowerCase().replace("machinetypeicon.ashx", "machinemovingicon.ashx");
var url = ironurl + "?tp=0&bkcolor=" + encodeURIComponent(harshdrivinglegend[i]) + "&heading=45";
var td = $("<td></td>").css("width", 30);
td.append($("<img></img>").attr("src", url).css({ "width": 18, "vertical-align": "middle" }));
tr.append(td);
td = $("<td></td>").html(harshdrivingtitle[i]).css({ "padding-left": 10, "width": 220 });
tr.append(td);
}
if (haspramameter) {
$('#setparameter').css('display', '');
}
else {
$('#setparameter').css('display', 'none');
}
var right = $('#mapAlertLayerDiv').width() + 100;
$('#filterIconDiv').css('right', right);
}
function setParameterDatimeTimePicker(ipt) {
ipt.datetimepicker({
timepicker: false,
format: 'm/d/Y',
enterLikeTab: false,
onSelectDate: function (v, inp) {
var date = new DateFormatter().formatDate(v, 'm/d/Y 00:00:00');
inp.parent().data('val', [date]);
}
});
}
function getAlertLayerParameters() {
if (parameterinput.length > 0) {//更新参数选择的值
for (var l = 0; l < parameterinput.length; l++) {
var ipt = parameterinput[l];
var param = ipt.data("parameter");
if (ipt.data('commoninput'))
param.ParameterValue = ipt.val();
}
}
var mal = $("#selMapAlertLayer").find("option:selected").data("mal");
if (mal)
return mal.Layers;
return null;
}
var parameterinput = [];
var paramindex = -1;
function setAlertLayerParameters() {
parameterinput = [];
paramindex = -1;
var ul = $("#ul_parameter");
ul.empty();
var pdiv = $("#parameter_right");
pdiv.empty();
var mal = $("#selMapAlertLayer").find("option:selected").data("mal");
var layerHasParam = 0;
if (mal && mal.Layers) {
for (var i = 0; i < mal.Layers.length; i++) {
var layer = mal.Layers[i];
var criteriaparam = layer.CriteriaSQLParameters;
var alertparam = layer.AlertSQLParameters;
if (layer && (criteriaparam || alertparam)) {
var li = $("<li class='nav_item'></li>").data("layerid", layer.ID).click(layerHasParam++, layerclick);
if (layer.IconColor.length == 9)
layer.IconColor = "#" + layer.IconColor.substring(3);
var img = $("<img></img>").attr("src", layer.LegendUrl).css({ "width": 18, "vertical-align": "middle" });
var span = $("<span></span>").text(layer.Title).css({ "margin-left": 10, "vertical-align": "middle" });
li.append(img).append(span);
ul.append(li);
var tb = $("<table class='tb_parameter'></table>").data("layerid", layer.ID);
if (layerHasParam == 1)
li.addClass("selected");
else
tb.css('display', 'none');
pdiv.append(tb);
if (criteriaparam && criteriaparam.length > 0)
createParameters(criteriaparam, tb, 1);
if (alertparam && alertparam.length > 0)
createParameters(alertparam, tb, 2);
}
}
}
}
function createParameters(params, tb, type) {
var tr = $("<tr></tr>").append("<td colspan='2' style='padding-left:10px;font-weight:bold;font-size:16px;'>Criteria</td>");
tb.append(tr);
for (var j = 0; j < params.length; j++) {
var param = params[j];
var tr_param = $("<tr></tr>");
tb.append(tr_param);
tr_param.append($("<td></td>").addClass('td_paramtype').html(param.Caption));
var td = $("<td></td>");
var ipt = createParameterInput(param, type, j);
parameterinput.push(ipt);
if (param.DataType == 3 && param.DisplayStyle != 1 && param.DisplayStyle != 2) {
setParameterDatimeTimePicker(ipt);
}
td.append(ipt);
tr_param.append(td);
}
}
function FALSE() { return false; }
function createParameterInput(param, type) {
var paramvalue = getParameterValue(param.ID, type);
if (paramvalue == null)
paramvalue = param.DefaultValue;
if (param.DisplayStyle == 0) {//inputbox
return $("<input type='text' />").val(paramvalue).data("parameter", param).data('commoninput', true)
.attr("paramcaption", param.Name.toLowerCase())
.keyup(function () {
$("[paramcaption='" + param.Name.toLowerCase() + "']").val($(this).val());
}).change(function () {
$("[paramcaption='" + param.Name.toLowerCase() + "']").val($(this).val());
});
}
else if (param.DisplayStyle == 1 || param.DisplayStyle == 2) {//Dropdown or Combobox
var defaultcheckall = false;
if (param.IsAllAllowed && paramvalue === ALL_VALUE)
defaultcheckall = true;
if (param.IsField && param.MutipleSelect) {//多选
var divcontrol = $('<div class="div_filter"></div>').data("parameter", param);
var seldiv = $('<div class="left dropdown"></div>');
var span = $('<span class="text_span"></span>');
var spanimg = $('<span class="fa dropdown_button">&#xf078;</span>');
var divpanel = $('<div class="div_panel" style="display: none;z-index:10;margin-top:20px;margin-left:-1px;"></div>');
var ul = $('<ul></ul>');
divpanel.append(ul).mousedown(FALSE);
seldiv.append(span).append(spanimg).append(divpanel);
seldiv.mousedown(function () {
$('.div_panel').each(function () {
var t = $(this);
if (!t.is(divpanel))
t.css('display', 'none');
});
var display = divpanel.css('display');
if (display == 'none') {
divpanel.css({ 'display': 'block' });
} else {
divpanel.css('display', 'none');
}
return false;
});
var itemclick = function (isall, checked) {
var chks = ul.find('input');
if (isall) {
chks.prop('checked', checked);
if (checked) {
span.attr('title', ALL_TEXT).text(ALL_TEXT);
param.ParameterValue = ALL_VALUE;
}
else {
span.attr('title', "").text("");
param.ParameterValue = "";
}
return;
}
else {
if (chkall)
chkall.prop('checked', false);//(ALL)取消选中
}
var texts = [];
var paramvalues = [];
for (var i = 0; i < chks.length; i++) {
var c = $(chks[i]);
if (c.prop('checked')) {
var text = c.next('label').text();
if (!text) text = c.val();
texts.push(text);
paramvalues.push(c.val());
}
}
texts = texts.join(', ');
span.attr('title', texts).text(texts);
paramvalues = paramvalues.join('^');
param.ParameterValue = paramvalues;
};
var chkall = undefined;
if (param.IsAllAllowed) {
var liall = $('<li></li>');
chkall = $('<input type="checkbox" id="chkall" style="width:16px;"/>');
if (defaultcheckall)
chkall.attr('checked', true);
chkall.change(function () {//全选
itemclick(true, $(this).prop('checked'));
});
liall.append(chkall);
liall.append($('<label for="chkall"></label>').text(ALL_TEXT));
ul.append(liall);
}
var ds = getLookupDatasource(param.LookupDatasourceID)
if (ds && ds.Items) {
var paramvalueAry = paramvalue.split("^");
var texts = [];
for (var s = 0; s < ds.Items.length; s++) {
var item = ds.Items[s];
var txt = param.DisplayCaptionField ? item.Value : item.Key;
var li = $('<li></li>');
var chk = $('<input type="checkbox" style="width:16px;"/>').val(item.Key).attr("id", "chkp" + ++paramindex);
chk.change(function () {
itemclick(false, $(this).prop('checked'));
});
li.append(chk);
li.append($('<label for=' + ("chkp" + paramindex) + '></label>').text(txt));
ul.append(li);
if (defaultcheckall || paramvalueAry.indexOf(item.Key) > -1) {//选中默认值
chk.attr('checked', true);
var text = chk.next('label').text();
if (!text) text = chk.val();
texts.push(text);
}
}
if (defaultcheckall)
texts = ALL_TEXT;
else
texts = texts.join(', ');
span.attr('title', texts).text(texts);
param.ParameterValue = paramvalue;
}
divcontrol.append(seldiv);
return divcontrol;
}
else {
var sel = $("<select></select>").data("parameter", param).data('commoninput', true)
.attr("paramcaption", param.Name.toLowerCase())
.change(function () {
$("[paramcaption='" + param.Name.toLowerCase() + "']").val($(this).val());
});
var ds = getLookupDatasource(param.LookupDatasourceID)
if (ds && ds.Items) {
if (param.IsField && param.IsAllAllowed) {
var opall = $("<option></option>").val(ALL_VALUE).text(ALL_TEXT);
sel.append(opall);
}
for (var s = 0; s < ds.Items.length; s++) {
var item = ds.Items[s];
var opt = $("<option></option>").val(item.Key);
var txt = param.DisplayCaptionField ? item.Value : item.Key;
opt.text(txt);
sel.append(opt);
}
sel.val(paramvalue);
}
return sel;
}
}
}
function getLookupDatasource(dsid) {
var mal = $("#selMapAlertLayer").find("option:selected").data("mal");
if (mal && mal.LookupDataSources) {
for (var i = 0; i < mal.LookupDataSources.length; i++) {
var ds = mal.LookupDataSources[i];
if (ds.ID.toLowerCase() == dsid.toLowerCase())
return ds;
}
}
return null;
}
function layerclick(e) {
$('#ul_parameter li').removeClass("selected");
$(this).addClass("selected");
var index = e.data;
var tbs = $('.tb_parameter');
tbs.hide();
$(tbs[index]).show();
}
function getParameterValue(paramid, paramtype) {
if (parametervalues && parametervalues.length > 0) {
for (var i = 0; i < parametervalues.length; i++) {
var layer = parametervalues[i];
var params;
if (paramtype == 1)
params = layer.CriteriaSQLParameters;
else
params = layer.AlertSQLParameters;
if (layer && (params || params)) {
for (var j = 0; j < params.length; j++) {
var param = params[j];
if (param.ID == paramid)
return param.ParameterValue;
}
}
}
}
return null;
}
function openSetAlertLayerParameters() {
setAlertLayerParameters();
showmaskbg(true);
$('#dialog_parameter .dialog-title span.title').text('Pivots');
$('#dialog_parameter')
.attr('act', 'edit')
.css({
'width': 570,
'top': (document.documentElement.clientHeight - $('#dialog_parameter').height()) / 4,
'left': (document.documentElement.clientWidth - $('#dialog_parameter').width()) / 2
})
.showDialog();
pivotsDialogOpend = true;
}
var parametervalues;
function setParameterCompleted() {
parametervalues = getAlertLayerParameters();
machineObject.searchMachine(false);
$('#dialog_parameter').hideDialog();
showmaskbg(false);
pivotsDialogOpend = false;
}
+4 -4
View File
@@ -110,7 +110,7 @@ if (typeof $mapcontrol !== 'object') {
$("#basemapGallery").hide();
});
var basemap = "topo";
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.40/esri/images/basemap/topo.jpg')");
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.44/esri/images/basemap/topo.jpg')");
$("#basemapTitle").text(GetTextByKey("P_MAP_TOPOGRAPHIC", "Topographic"));
var basemapGallery = new BasemapGalleryC({
@@ -123,7 +123,7 @@ if (typeof $mapcontrol !== 'object') {
url: "http://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer"
})],
title: GetTextByKey("P_MAP_IMAGERY", "Imagery"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/satellite.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/satellite.jpg"
});
basemapGallery.add(satellitemap);
@@ -132,7 +132,7 @@ if (typeof $mapcontrol !== 'object') {
url: "http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"
})],
title: GetTextByKey("P_MAP_TOPOGRAPHIC", "Topographic"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/topo.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/topo.jpg"
});
basemapGallery.add(topomap);
@@ -142,7 +142,7 @@ if (typeof $mapcontrol !== 'object') {
url: "http://server.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"
})],
title: GetTextByKey("P_MAP_STREETS", "Streets"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/streets.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/streets.jpg"
});
basemapGallery.add(streetmap);
+185 -6
View File
@@ -10,7 +10,6 @@ var groupAssets = [[]];
var jobsiteAssets = [[]];
function updateAssets() {
assetDictionary = [[]];
groupAssets = [[]];
jobsiteAssets = [[]];
@@ -95,7 +94,8 @@ if (typeof (AssetObject) != "function") {
bodyContentStyle: { top: null },
bodyContainerHeight: 0,
bodyContainerStyle: { height: null },
scrollTop: 0
scrollTop: 0,
HistoryTitle: GetTextByKey("P_MA_LOCATIONHISTORY", "Location History")
},
computed: {
bodyClientRowCount: function () {
@@ -149,6 +149,11 @@ if (typeof (AssetObject) != "function") {
linkMachineClick: function (m) {
linkMachineClick(m);
this.refresh();
if (assetsummaryctr)
assetsummaryctr.status = 1;
$("#assetsummary").hide();
$("#assetsummarytrigle").hide();
},
locationHistoryClick: function (m, ev) {
if (selectedAsset)
@@ -178,7 +183,7 @@ if (typeof (AssetObject) != "function") {
$("#assetsummarytrigle").css({ 'left': left + 1, 'top': $(ev.target).offset().top - 60 });
if (assetsummaryctr)
assetsummaryctr.status = 1;
assetsummaryctr = new $assetsummary($("#assetsummary"), m.CompanyID, m.ID, m.AlertTips, 0);
assetsummaryctr = new $assetsummary($("#assetsummary"), m.CompanyID || "", m.ID, m.ViewAlertTypes, m.AlertTips, 0);
},
assetSummaryMouseleave: function (m, ev) {
if (assetsummaryctr)
@@ -228,7 +233,8 @@ if (typeof (AssetObject) != "function") {
bodyContentStyle: { top: null },
bodyContainerHeight: 0,
bodyContainerStyle: { height: null },
scrollTop: 0
scrollTop: 0,
HistoryTitle: GetTextByKey("P_MA_LOCATIONHISTORY", "Location History")
},
computed: {
bodyClientRowCount: function () {
@@ -487,6 +493,36 @@ if (typeof (AssetObject) != "function") {
displayFilerIcon();
}
this.searchMachine1 = function (isauto) {
if (inSearchingMachine)
return;
inSearchingMachine = true;
$('#loadingDiv').show();
currentShownIndex = -1;
allMachineCheckBox.splice(0, allMachineCheckBox.length);//清空CheckBox数组
//this.getMachines(isauto);//getMachines放在loadMapAlertLayer加载完成后执行
if (allBasicAssetsObj && !BasicAssetsExpire) {
if (!IsDealer && MapViewSearchAssetsApiAddress != "")
this.loadMapAlertLayer1(isauto);
else //Dealer站点用旧方式
this.loadMapAlertLayer(isauto);
}
else {
if (!IsDealer && MapViewSearchAssetsApiAddress != "")
this.getAssetBasicInfos1(function () {
_this.loadMapAlertLayer1(isauto);
});
else//Dealer站点用旧方式
this.getAssetBasicInfos(function () {
_this.loadMapAlertLayer(isauto);
});
}
this.getCompanyLocations();
displayFilerIcon();
}
this.getAssetBasicInfos = function (next) {
if (inGettingAllBasicAssets)
@@ -516,6 +552,76 @@ if (typeof (AssetObject) != "function") {
showMachineAlert();
});
}
this.getAssetBasicInfos1 = function (next) {
var mal = $("#selMapAlertLayer").val();
if (!mal) mal = "";
var item = {
'ViewID': mal,
'ContractorID': companyids,
'SearchText': htmlencode($("#txtMachineSearchText").val()),
'Onroad': $("#selOnroad").val(),
'Layers': parametervalues,
'ExcludeNoLocation': $("#exclude00Div").attr("state") != "0", //$("#chkExcludeNoLoc").prop("checked"),
'Attachment': $("#selAttachment").val()
};
_network.apipost(MapViewSearchAssetsApiAddress, companyid, item, function (data) {
inGettingAllBasicAssets = false;
if (data !== "0") {
data = convertAssetBasicObjs(data);
allBasicAssetsObj = new AllBasicAssetsObject();
allBasicAssetsObj.setAssets(data);
BasicAssetsExpire = false;
if (allBasicAssetsObj_Timeout)
clearTimeout(allBasicAssetsObj_Timeout)
allBasicAssetsObj_Timeout = setTimeout(function () {
BasicAssetsExpire = true;
}, 5 * 60 * 1000);
if (next)
next();
}
else {
showMachineAlert();
}
}, function (request, textStatus, errorThrown) {
inGettingAllBasicAssets = false;
showMachineAlert();
});
}
function convertAssetBasicObjs(data) {
if (typeof data === 'string')
data = data.split(String.fromCharCode(175));
if (data == '') return [];
var assets = [];
for (var i = 0; i < data.length; i++) {
var a = {};
var s = data[i];
var ss = s.split(String.fromCharCode(170));
a.Id = Number(ss[0]);
a.VIN = ss[1];
a.Name = ss[2];
a.MakeName = ss[3];
a.ModelName = ss[4];
a.TypeName = ss[5];
a.OnRoad = ss[6] == "1";
a.Attachment = ss[7] == "1";
if (ss[8])
a.AssetGroups = ss[8].split(',');
else
a.AssetGroups = ["-1"];
if (ss[9])
a.JobSites = ss[9].split(',');
else
a.JobSites = ["-1"];
assets.push(a);
}
return assets;
}
var notificationAssetQueue = [];
this.getAssetBasicInfoByAssets = function (aids) {
@@ -591,8 +697,53 @@ if (typeof (AssetObject) != "function") {
$('#loadingDiv').hide();
});
}
this.getMachines1 = function (isauto) {
var mal = $("#selMapAlertLayer").val();
if (!mal) mal = "";
var item = {
'IsAutoRefresh': isauto,
'ViewID': mal,
'ContractorID': companyids,
'SearchText': htmlencode($("#txtMachineSearchText").val()),
'Onroad': Number($("#selOnroad").val()),
'Layers': parametervalues,
'ExcludeNoLocation': $("#exclude00Div").attr("state") != "0", //$("#chkExcludeNoLoc").prop("checked"),
'Attachment': Number($("#selAttachment").val())
};
_network.apipost(MapViewQueryViewAssetsApiAddress, companyid, item, function (data) {
if (data !== "0") {
mapHelper.clearMachine();
allAssets = convertAssetObjs(data);
updateAssets();
_this.getAssetGroups(item);//Asset取完再取group
jobsiteObject.searchJobSite(isauto);//Asset取完再取jobsite
showAssets();
if (isFirstLoad || $("#autoRecenterDiv").attr("state") == "1") {
isFirstLoad = false;
zoomMap();
}
getNowFormatDate();
}
else {
showMachineAlert();
}
inSearchingMachine = false;
$('#loadingDiv').hide();
}, function (request, textStatus, errorThrown) {
inSearchingMachine = false;
showMachineAlert();
$('#loadingDiv').hide();
});
}
function convertAssetObjs(data) {
if (typeof data === 'string')
data = data.split(String.fromCharCode(175));
if (data == '') return [];
var assets = [];
for (var i = 0; i < data.length; i++) {
var a = {};
@@ -612,6 +763,7 @@ if (typeof (AssetObject) != "function") {
a.IconUrl = ss[3];
a.AlertTips = ss[4];
a.Priority = Number(ss[5]);
a.ViewAlertTypes = ss[6];
if (allBasicAssetsObj) {
var ta = allBasicAssetsObj.getAsset(a.ID);
@@ -838,12 +990,12 @@ if (typeof (AssetObject) != "function") {
sel.dropdownVals(userParams.MapViewContratorID.split(","));
}
$("#contractorCtrl").css("display", "inline-flex");
$("#contentCtrl").css("top", 115 + 30);
}
else {
$("#btnToggleTimeline").show();
$("#btnImportShapeFile").show();
}
// $("#contentCtrl").css("top", $("#divleft1").height() + $("#divleft2").height());//移到splitIcon事件里面执行
}
@@ -903,6 +1055,30 @@ if (typeof (AssetObject) != "function") {
$('#loadingDiv').hide();
});
}
this.loadMapAlertLayer1 = function (isauto) {
var sel = $("#selMapAlertLayer");
var selmal = sel.val();//记录已选择的值
if (!selmal) selmal = userParams.MapAlertLayer;
var p = companyids + ";" + selmal;
_network.mapviewquery("GetMapAlertLayers", p, function (data) {
if (data && data.length > 0) {
$("#mapAlertLayerDiv").show();
$("#splitIconRight").show();
$("#rightCtrl").show();
showMapAlertLayer(data);
}
else {
$("#mapAlertLayerDiv").hide();
$("#splitIconRight").hide();
$("#rightCtrl").hide();
}
_this.getMachines1(isauto);
}, function () {
$('#loadingDiv').hide();
});
}
var _websocket;
function openmsgwebsocket() {
@@ -921,7 +1097,10 @@ if (typeof (AssetObject) != "function") {
}
}
openmsgwebsocket();
try {
openmsgwebsocket();
}
catch { }
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ var PopupViewShowing = false;
function machineDetailClick(m) {
if (m) {
showMachineDetail(m.CompanyID, m.ID, m.VIN);
showMachineDetail(m.CompanyID || "", m.ID, m.VIN);
clearLocationHistory();//关闭历史记录
$("#locationhistoryDiv").hide();
+2 -1
View File
@@ -43,7 +43,8 @@ if (typeof (JobsiteObject) != "function") {
bodyContentStyle: { top: null },
bodyContainerHeight: 0,
bodyContainerStyle: { height: null },
scrollTop: 0
scrollTop: 0,
HistoryTitle: GetTextByKey("P_MA_LOCATIONHISTORY", "Location History")
},
computed: {
bodyClientRowCount: function () {
+70 -153
View File
@@ -17,6 +17,36 @@ $(function () {
});
}());
function getMapAlertLayerLang(texts, defaulttext) {
if (!texts || texts.length == 0)
return defaulttext;
var fr_langs = ["fr-fr", "fr-ca"];
for (var i = 0; i < texts.length; i++) {
var t = texts[i];
if (_fleet.currentLang === t.Key) {
if (t.Value === "") {
if (fr_langs.indexOf(t.Key) >= 0) {//需先找父语种 fr 是否有值
for (var j = 0; j < texts.length; j++) {
if (texts[j].Key === "fr") {
if (texts[j].Value === "")
return defaulttext
else
return texts[j].Value;
}
}
}
else
return defaulttext;
}
else
return t.Value;
}
}
return defaulttext;
}
function showMapAlertLayer(data) {
var opt = $('<option></option>').val("").text("(None)");
var sel = $("#selMapAlertLayer");
@@ -24,7 +54,7 @@ function showMapAlertLayer(data) {
sel.append(opt);
for (var i = 0; i < data.length; i++) {
var mal = data[i];
opt = $('<option></option>').val(mal.ID).text(mal.Name).data("mal", mal);
opt = $('<option></option>').val(mal.ID).text(getMapAlertLayerLang(mal.LocalNames, mal.Name)).data("mal", mal);
sel.append(opt);
}
if (userParams && userParams.MapAlertLayer) {
@@ -51,13 +81,13 @@ function showMapAlertLayerDetail() {
td.append($("<img></img>").attr("src", layer.LegendUrl).css({ "width": 18, "vertical-align": "middle" }));
tr.append(td);
td = $("<td></td>").html(layer.Title).css({ "padding-left": 10, "width": 220 });
td = $("<td></td>").html(getMapAlertLayerLang(layer.LocalTitles, layer.Title)).css({ "padding-left": 10, "width": 220 });
tr.append(td);
}
}
var staticlegend = ["InMotion", "StoppedOn", "StoppedOff", "CGain", "CLoss", "RoadClosure", "LaneClosure"];
var staticlegendtitle = ["In Motion", "Stopped On", "Stopped Off", "Connectivity Recovery", "Connectivity Loss", "Road Closure", "Lane Closure"];
var staticlegend = ["InMotion", "StoppedOn", "StoppedOff", "CGain", "CLoss", "RoadClosure", "LaneClosure", "DriverInsights", "SeatBelt"];
var staticlegendtitle = [GetTextByKey("P_MA_INMOTION", "In Motion"), GetTextByKey("P_MA_STOPPEDON", "Stopped On"), GetTextByKey("P_MA_STOPPEDOFF", "Stopped Off"), GetTextByKey("P_MA_CONNECTIVITYRECOVERY", "Connectivity Recovery"), GetTextByKey("P_MA_CONNECTIVITYLOSS", "Connectivity Loss"), GetTextByKey("P_MA_ROADCLOSURE", "Road Closure"), GetTextByKey("P_MA_LANECLOSURE", "Lane Closure"), GetTextByKey("P_MA_DRIVERINSIGHTS", "Driver Insights"), GetTextByKey("P_MV_SEATBELTNOTDETECTED", "Seat Belt Not Detected")];
for (var i = 0; i < staticlegend.length; i++) {
var tr = $("<tr style='border-bottom: 1px solid lightgray;'></tr>");
tb.append(tr);
@@ -71,13 +101,13 @@ function showMapAlertLayerDetail() {
tr.append(td);
}
var harshdrivinglegend = ["#ff3f48cc", "#ff00a8f3", "#fffff200", "#ffff7f27", "#ffec1c24"];
var harshdrivingtitle = ["Hard Acceleration", "Hard Brake", "Hard Turn", "Speeding: Low Severity", "Speeding: High Severity"];
var harshdrivinglegend = ["#ff3f48cc", "#ff00a8f3", "#ffff89e6", "#ffff7f27", "#ffec1c24"];
var harshdrivingtitle = [GetTextByKey("P_MA_HARDACCELERATION", "Hard Acceleration"), GetTextByKey("P_MA_HARDBRAKE", "Hard Brake"), GetTextByKey("P_MA_HARDTURN", "Hard Turn"), GetTextByKey("P_MA_SPEEDINGLOWSEVERITY", "Speeding: Low Severity"), GetTextByKey("P_MA_SPEEDINGHIGHSEVERITY", "Speeding: High Severity")];
for (var i = 0; i < harshdrivinglegend.length; i++) {
var tr = $("<tr style='border-bottom: 1px solid lightgray;'></tr>");
tb.append(tr);
var ironurl = userParams.MachineIconURL.toLowerCase().replace("machinetypeicon.ashx", "machinemovingicon.ashx");
var ironurl = userParams.MachineMovingIconURL;
var url = ironurl + "?tp=0&bkcolor=" + encodeURIComponent(harshdrivinglegend[i]) + "&heading=45";
var td = $("<td></td>").css("width", 30);
td.append($("<img></img>").attr("src", url).css({ "width": 18, "vertical-align": "middle" }));
@@ -114,7 +144,15 @@ function getAlertLayerParameters() {
for (var l = 0; l < parameterinput.length; l++) {
var ipt = parameterinput[l];
var param = ipt.data("parameter");
if (ipt.data('commoninput'))
if (ipt.data('inputtype') == "dropdown") {
if (ipt.allselected())
param.ParameterValue = ALL_VALUE;
else if (param.IsField && param.MutipleSelect)
param.ParameterValue = ipt.dropdownVals().join(',');
else
param.ParameterValue = ipt.dropdownVal();
}
else
param.ParameterValue = ipt.val();
}
}
@@ -146,7 +184,7 @@ function setAlertLayerParameters() {
var li = $("<li class='nav_item'></li>").data("layerid", layer.ID).click(layerHasParam++, layerclick);
var img = $("<img></img>").attr("src", layer.LegendUrl).css({ "width": 18, "vertical-align": "middle" });
var span = $("<span></span>").text(layer.Title).css({ "margin-left": 10, "vertical-align": "middle" });
var span = $("<span></span>").text(getMapAlertLayerLang(layer.LocalTitles, layer.Title)).css({ "margin-left": 10, "vertical-align": "middle" });
li.append(img).append(span);
ul.append(li);
var tb = $("<table class='tb_parameter'></table>").data("layerid", layer.ID);
@@ -189,7 +227,7 @@ function createParameters(params, tb) {
var tr_param = $("<tr></tr>");
tb.append(tr_param);
tr_param.append($("<td></td>").addClass('td_paramtype').html(param.Caption));
tr_param.append($("<td></td>").addClass('td_paramtype').html(getMapAlertLayerLang(param.LocalCaptions, param.Caption)));
var td = $("<td></td>");
var ipt = createParameterInput(param);
@@ -211,7 +249,7 @@ function createParameterInput(param) {
paramvalue = param.DefaultValue;
if (param.DisplayStyle == 0) {//inputbox
return $("<input type='text' />").val(paramvalue).data("parameter", param).data('commoninput', true)
return $("<input type='text' />").val(paramvalue).data("parameter", param)
.attr("paramcaption", param.Name.toLowerCase())
.keyup(function () {
$("[paramcaption='" + param.Name.toLowerCase() + "']").val($(this).val());
@@ -220,149 +258,27 @@ function createParameterInput(param) {
});
}
else if (param.DisplayStyle == 1 || param.DisplayStyle == 2) {//Dropdown or Combobox
var defaultcheckall = false;
if (param.IsAllAllowed && paramvalue === ALL_VALUE)
defaultcheckall = true;
if (param.IsField && param.MutipleSelect) {//多选
var divcontrol = $('<div class="div_filter"></div>').data("parameter", param);
var seldiv = $('<div class="left dropdown"></div>');
var span = $('<span class="text_span"></span>');
var spanimg = $('<span class="fa dropdown_button">&#xf078;</span>');
var divpanel = $('<div class="div_panel" style="display: none;z-index:10;margin-left:-1px;position:fixed;"></div>');
var ul = $('<ul></ul>');
divpanel.append(ul).mousedown(FALSE);
seldiv.append(span).append(spanimg).append(divpanel);
seldiv.mousedown(function (e) {
$('.div_panel').each(function () {
var t = $(this);
if (!t.is(divpanel))
t.css('display', 'none');
});
var display = divpanel.css('display');
if (display == 'none') {
var t = $(e.target);
divpanel.css('top', seldiv.offset().top + seldiv.height());
if (seldiv.offset().top + seldiv.height() + divpanel.height() > $(document).height())
divpanel.css({ 'bottom': 0 });
else
divpanel.css({ 'bottom': 'unset' });
divpanel.css({ 'display': 'block' });
} else {
divpanel.css('display', 'none');
}
return false;
});
var itemclick = function (isall, checked) {
var chks = ul.find('input');
if (isall) {
chks.prop('checked', checked);
if (checked) {
span.attr('title', ALL_TEXT).text(ALL_TEXT);
param.ParameterValue = ALL_VALUE;
}
else {
span.attr('title', "").text("");
param.ParameterValue = "";
}
return;
}
else {
if (chkall)
chkall.prop('checked', false);//(ALL)取消选中
}
var texts = [];
var paramvalues = [];
for (var i = 0; i < chks.length; i++) {
var c = $(chks[i]);
if (c.prop('checked')) {
var text = c.next('label').text();
if (!text) text = c.val();
texts.push(text);
paramvalues.push(c.val());
}
}
texts = texts.join(', ');
span.attr('title', texts).text(texts);
paramvalues = paramvalues.join('^');
param.ParameterValue = paramvalues;
};
var chkall = undefined;
if (param.IsAllAllowed) {
var liall = $('<li></li>');
chkall = $('<input type="checkbox" id="chkall' + (++idindex) + '" style="width:16px;"/>');
if (defaultcheckall)
chkall.attr('checked', true);
chkall.change(function () {//全选
itemclick(true, $(this).prop('checked'));
});
liall.append(chkall);
liall.append($('<label for="chkall' + idindex + '"></label>').text(ALL_TEXT));
ul.append(liall);
}
var ds = getLookupDatasource(param.LookupDatasourceID)
if (ds && ds.Items) {
var paramvalueAry = paramvalue.split("^");
var texts = [];
for (var s = 0; s < ds.Items.length; s++) {
var item = ds.Items[s];
var txt = param.DisplayCaptionField ? item.Value : item.Key;
var li = $('<li></li>');
var chk = $('<input type="checkbox" style="width:16px;"/>').val(item.Key).attr("id", "chkp" + ++paramindex);
chk.change(function () {
itemclick(false, $(this).prop('checked'));
});
li.append(chk);
li.append($('<label for=' + ("chkp" + paramindex) + '></label>').text(txt));
ul.append(li);
if (defaultcheckall || paramvalueAry.indexOf(item.Key) > -1) {//选中默认值
chk.attr('checked', true);
var text = chk.next('label').text();
if (!text) text = chk.val();
texts.push(text);
}
}
if (defaultcheckall)
texts = ALL_TEXT;
else
texts = texts.join(', ');
span.attr('title', texts).text(texts);
param.ParameterValue = paramvalue;
}
divcontrol.append(seldiv);
return divcontrol;
}
else {
var sel = $("<select></select>").data("parameter", param).data('commoninput', true)
.attr("paramcaption", param.Name.toLowerCase())
.change(function () {
$("[paramcaption='" + param.Name.toLowerCase() + "']").val($(this).val());
});
var ds = getLookupDatasource(param.LookupDatasourceID)
if (ds && ds.Items) {
if (param.IsField && param.IsAllAllowed) {
var opall = $("<option></option>").val(ALL_VALUE).text(ALL_TEXT);
sel.append(opall);
}
for (var s = 0; s < ds.Items.length; s++) {
var item = ds.Items[s];
var opt = $("<option></option>").val(item.Key);
var txt = param.DisplayCaptionField ? item.Value : item.Key;
opt.text(txt);
sel.append(opt);
}
sel.val(paramvalue);
}
return sel;
var divcontrol = $('<div class="div_filter"></div>').data("parameter", param).data('inputtype', "dropdown");
var ds = getLookupDatasource(param.LookupDatasourceID);
var source = [...ds.Items];
if (param.IsAllAllowed && !(param.IsField && param.MutipleSelect))//单选加入all选项
source.splice(0, 0, { Key: ALL_VALUE, Value: ALL_TEXT });
divcontrol.css('width', 200).dropdown(source, {
search: true,
multiselect: param.IsField && param.MutipleSelect,
valueKey: 'Key',
allowselectall: param.IsAllAllowed,
textKey: param.DisplayCaptionField ? "Value" : "Key"
});
if (param.IsField && param.MutipleSelect) {
if (paramvalue == ALL_VALUE)
divcontrol.allselected(true);
else if (paramvalue)
divcontrol.dropdownVals(paramvalue.split(','));
}
else
divcontrol.dropdownVal(paramvalue);
return divcontrol;
}
}
@@ -392,6 +308,7 @@ function getParameterValue(paramid, isCriteria) {
if (parametervalues && parametervalues.length > 0) {
for (var i = 0; i < parametervalues.length; i++) {
var layer = parametervalues[i];
if (!layer.Pivots) continue;
var params = [];
for (var j = 0; j < layer.Pivots.length; j++) {
if (layer.Pivots[j].IsCriteriaSQL == isCriteria)
+237 -51
View File
@@ -31,6 +31,8 @@ if (typeof (MapObject) !== "function") {
ColorC = undefined;
ClusterLayerC = undefined;
ArcGISDynamicMapServiceLayerC = undefined;
WMSLayerC = undefined;
WMSLayerInfoC = undefined;
On = undefined;
Dom = undefined;
@@ -66,21 +68,21 @@ if (typeof (MapObject) !== "function") {
if (userParams) {
if (userParams.BaseMap == "Imagery") {
basemap = "satellite";
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.40/esri/images/basemap/satellite.jpg')");
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.44/esri/images/basemap/satellite.jpg')");
$("#basemapTitle").text(GetTextByKey("P_MAP_IMAGERY", "Imagery"));
}
else if (userParams.BaseMap == "Streets") {
basemap = "streets";
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.40/esri/images/basemap/streets.jpg')");
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.44/esri/images/basemap/streets.jpg')");
$("#basemapTitle").text(GetTextByKey("P_MAP_STREETS", "Streets"));
}
else {
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.40/esri/images/basemap/topo.jpg')");
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.44/esri/images/basemap/topo.jpg')");
$("#basemapTitle").text(GetTextByKey("P_MAP_TOPOGRAPHIC", "Topographic"));
}
}
else {
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.40/esri/images/basemap/topo.jpg')");
$("#basemapImg").css("background-image", "url('https://js.arcgis.com/3.44/esri/images/basemap/topo.jpg')");
$("#basemapTitle").text(GetTextByKey("P_MAP_TOPOGRAPHIC", "Topographic"));
}
mapObj.MyMap = new MapC(this.mapContainer, {
@@ -159,7 +161,7 @@ if (typeof (MapObject) !== "function") {
url: "http://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer"
})],
title: GetTextByKey("P_MAP_IMAGERY", "Imagery"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/satellite.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/satellite.jpg"
});
basemapGallery.add(satellitemap);
@@ -168,7 +170,7 @@ if (typeof (MapObject) !== "function") {
url: "http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"
})],
title: GetTextByKey("P_MAP_TOPOGRAPHIC", "Topographic"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/topo.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/topo.jpg"
});
basemapGallery.add(topomap);
@@ -178,7 +180,7 @@ if (typeof (MapObject) !== "function") {
url: "http://server.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"
})],
title: GetTextByKey("P_MAP_STREETS", "Streets"),
thumbnailUrl: "https://js.arcgis.com/3.40/esri/images/basemap/streets.jpg"
thumbnailUrl: "https://js.arcgis.com/3.44/esri/images/basemap/streets.jpg"
});
basemapGallery.add(streetmap);
@@ -251,6 +253,8 @@ if (typeof (MapObject) !== "function") {
"esri/Color",
"extras1/clusterlayer",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/layers/WMSLayer",
"esri/layers/WMSLayerInfo",
"esri/urlUtils",
"dojo/on",
"dojo/dom",
@@ -284,6 +288,8 @@ if (typeof (MapObject) !== "function") {
Color,
ClusterLayer,
ArcGISDynamicMapServiceLayer,
WMSLayer,
WMSLayerInfo,
urlUtils,
on,
dom) {
@@ -317,6 +323,8 @@ if (typeof (MapObject) !== "function") {
ColorC = Color;
ClusterLayerC = ClusterLayer;
ArcGISDynamicMapServiceLayerC = ArcGISDynamicMapServiceLayer;
WMSLayerC = WMSLayer;
WMSLayerInfoC = WMSLayerInfo;
On = on;
Dom = dom;
@@ -369,8 +377,24 @@ if (typeof (MapObject) !== "function") {
this.showWeatherLayer = function (state) {
if (state) {
if (!this.WeatherLayer)
this.WeatherLayer = new ArcGISDynamicMapServiceLayerC("https://new.nowcoast.noaa.gov/arcgis/rest/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer");
if (!this.WeatherLayer) {
//this.WeatherLayer = new ArcGISDynamicMapServiceLayerC("https://new.nowcoast.noaa.gov/arcgis/rest/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer");
var layer1 = new WMSLayerInfoC({
name: 'base_reflectivity_mosaic',
title: 'Weahter'
});
var resourceInfo = {
extent: new ExtentC(-126.4, 31.0 - 109.7, 41.5, {
wkid: 4326
}),
layerInfos: [layer1]
};
this.WeatherLayer = new WMSLayerC("https://nowcoast.noaa.gov/geoserver/weather_radar/wms", {
resourceInfo: resourceInfo,
visibleLayers: ['base_reflectivity_mosaic']
});
}
this.WeatherLayer.refreshInterval = 5;
this.MyMap.addLayer(this.WeatherLayer);
}
@@ -395,6 +419,7 @@ if (typeof (MapHelper) !== "function") {
this.unShownJobSiteIDs = [];//不需要显示的JobSiteID
var toolTipAssetSummary;
var toolTipJobsiteSummary;
var isHistoryTooltip = false;
function afterMapInitialized() {
var alwaysShow = false;
@@ -420,6 +445,7 @@ if (typeof (MapHelper) !== "function") {
//delete window.currentRouteStopName;
} else {
alwaysShow = true;
isHistoryTooltip = false;
}
}
});
@@ -435,11 +461,12 @@ if (typeof (MapHelper) !== "function") {
});
mapObj.BaseMapLayer.on("click", function (e) {
if (e.graphic) {
if (e.graphic && !e.graphic.isHistoryLine) {
mapObj.BaseMachineLayer.clearSingles();
e.graphic.getDojoShape().moveToFront();
showInfoWindow(e);
alwaysShow = true;
isHistoryTooltip = false;
}
});
@@ -459,11 +486,16 @@ if (typeof (MapHelper) !== "function") {
});
mapObj.HisptoryPointLayer.on("click", function (e) {
if (e.graphic) {
if (e.graphic && !e.graphic.isCamSymbol) {
mapObj.MyMap.infoWindow.clearFeatures();
if (e.graphic.StartOrEndPoint)
e.graphic.StartOrEndPoint.getDojoShape().moveToFront();
if (e.graphic.CameraGraphic)
e.graphic.CameraGraphic.getDojoShape().moveToFront();
e.graphic.getDojoShape().moveToFront();
//showInfoWindow(e);
alwaysShow = true;
isHistoryTooltip = true;
mapObj.MyMap.infoWindow.setFeatures(locationHistoryPointGraphics);
var index = locationHistoryPointGraphics.indexOf(e.graphic);
@@ -490,6 +522,7 @@ if (typeof (MapHelper) !== "function") {
mapObj.MyMap.infoWindow.clearFeatures();
e.graphic.getDojoShape().moveToFront();
alwaysShow = true;
isHistoryTooltip = false;
var singles = [];
for (var ii in machineGraphics) {
@@ -502,6 +535,11 @@ if (typeof (MapHelper) !== "function") {
if (singles.length > 0) {
mapObj.MyMap.infoWindow.setFeatures(singles);
mapObj.MyMap.infoWindow.show(e.screenPoint, mapObj.MyMap.getInfoWindowAnchor(e.screenPoint));
var esripopop = $(".esriPopupWrapper");
$(".maximize").css("display", "none");
esripopop.find(".next").removeAttr("title");
esripopop.find(".prev").removeAttr("title");
esripopop.find(".close").removeAttr("title");
}
else//shape
showInfoWindow(e);
@@ -546,7 +584,7 @@ if (typeof (MapHelper) !== "function") {
var assetInfos = null;
if (mapObj.MyMap.infoWindow.features && mapObj.MyMap.infoWindow.features.length > 0)
assetInfos = mapObj.MyMap.infoWindow.features.map(function (item) { return item.attributes });
toolTipAssetSummary = new $assetsummary("assetDetailCtrl", f.attributes.CompanyID, f.attributes.ID, f.attributes.AlertTip, 1, assetInfos);
toolTipAssetSummary = new $assetsummary("assetDetailCtrl", f.attributes.CompanyID || "", f.attributes.ID, f.attributes.ViewAlertTypes, f.attributes.AlertTip, 1, assetInfos);
var esripopop = $(".esriPopupWrapper");
esripopop.find(".tempdropdown").remove();
@@ -675,6 +713,9 @@ if (typeof (MapHelper) !== "function") {
var esripopop = $(".esriPopupWrapper");
esripopop.find(".tempdropdown").remove();
esripopop.find(".title").unbind().removeClass("titlelink");
esripopop.find(".next").removeAttr("title");
esripopop.find(".prev").removeAttr("title");
esripopop.find(".close").removeAttr("title");
$(".esriPopupWrapper").find(".tempdropdown").remove();
if (enableInfoWindow && e.graphic && e.graphic.attributes) {
$(".maximize").css("display", "none");
@@ -688,7 +729,7 @@ if (typeof (MapHelper) !== "function") {
mapObj.MyMap.infoWindow.setContent("<div id='assetDetailCtrl'></div>");
if (toolTipAssetSummary)
toolTipAssetSummary.status = 1;
toolTipAssetSummary = new $assetsummary("assetDetailCtrl", e.graphic.attributes.CompanyID, e.graphic.attributes.ID, e.graphic.attributes.AlertTip, 1);
toolTipAssetSummary = new $assetsummary("assetDetailCtrl", e.graphic.attributes.CompanyID || "", e.graphic.attributes.ID, e.graphic.attributes.ViewAlertTypes, e.graphic.attributes.AlertTip, 1);
} else {
var currentattrs = mapObj.MyMap.infoWindow.currentattributes;
if (!currentattrs || e.graphic.attributes.ID != currentattrs.ID) {
@@ -735,6 +776,7 @@ if (typeof (MapHelper) !== "function") {
this.showAssetDetailInfo = function (assetdetail) {
var attrs = mapObj.MyMap.infoWindow.currentattributes;
if (attrs && attrs.Type === 0 && attrs.ID == assetdetail.ID) {
assetdetail.ViewAlertTypes = attrs.ViewAlertTypes;
assetdetail.AlertTip = attrs.AlertTip;
var popContent = getAssetPopupContent(assetdetail);
@@ -755,8 +797,8 @@ if (typeof (MapHelper) !== "function") {
var ps = [];
var infowindowassetexist = false;//infowindow显示的机器是否在查询结果里
var infowindowassetid = -1;
if (toolTipAssetSummary)
toolTipAssetSummary.clearCache();
if (typeof clearAssetsummaryCache === "function")
clearAssetsummaryCache();
if (toolTipAssetSummary && toolTipAssetSummary.status == 0)
infowindowassetid = toolTipAssetSummary.assetid;
for (var i = 0; i < machines.length; i++) {
@@ -764,8 +806,13 @@ if (typeof (MapHelper) !== "function") {
var p = this.createMachinePoint(machine);
ps.push(p);
shownMachines["MachineID" + machine.ID] = p;
if (infowindowassetid == machine.ID)
if (infowindowassetid == machine.ID) {
infowindowassetexist = true;
if (toolTipAssetSummary && toolTipAssetSummary.status == 0) {
toolTipAssetSummary.viewalerttypes = machine.ViewAlertTypes;
toolTipAssetSummary.alerttips = machine.AlertTips;
}
}
}
if (toolTipAssetSummary && toolTipAssetSummary.status == 0) {
if (infowindowassetexist) {
@@ -789,7 +836,7 @@ if (typeof (MapHelper) !== "function") {
popContent += "<b>" + GetTextByKey("P_MV_TYPE_COLON", "Type:") + " </b>" + machine.AssetType + "<br/>";
var attributes = {
"Type": 0,//用于区分InfoWindow是否是Asset
"CompanyID": machine.CompanyID,
"CompanyID": machine.CompanyID || "",
"ID": machine.ID,
"Name": htmlencode(machine.Name),
"Name2": htmlencode(machine.Name2),
@@ -802,7 +849,8 @@ if (typeof (MapHelper) !== "function") {
//"EngineHours": machine.EngineHours,
//"Odometer": machine.Odometer,
//"OdometerUOM": machine.OdometerUOM,
"AlertTip": htmlencode(machine.AlertTips),
"ViewAlertTypes": machine.ViewAlertTypes,
"AlertTip": machine.AlertTips,
"IconUrl": machine.IconUrl,
//"EmptyIconUrl": machine.IconUrl.replace(new RegExp("typeid=\\d+&", "i"), "typeid=-1&").replace(new RegExp("mid=\\d+&", "i"), ""),
"EmptyIconUrl": machine.IconUrl.replace("typeid", "typeid=-1&t").replace("mid", "m"),
@@ -1061,20 +1109,27 @@ if (typeof (MapHelper) !== "function") {
var locationHistoryPolylines = [];
var locationLineGraphics = [];
var locationHistoryPointGraphics = [];
this.showLocationHistoryFromStart = function (m, locs, toindex, needCenter) {//从开始位置显示到指定索引的索引Location
this.clearLocationHistory();
var point;
this.showLocationHistoryFromStart = function (m, locs, toindex, needCenter, noClear, color, width) {//从开始位置显示到指定索引的索引Location
if (noClear) {
lastLocation = null;
} else {
this.clearLocationHistory();
}
for (var i = 0; i < locs.length && i <= toindex; i++) {
var loc = locs[i];
point = this.showLocationHistory(m, loc, false);
}
if (needCenter) {
mapObj.MyMap.centerAt(point);
var flag = null;
if (noClear) {
if (i == 0) {
flag = 0;
} else if (i == locs.length - 1 || i == toindex) {
flag = 1;
}
}
this.showLocationHistory(m, loc, (i == toindex) && needCenter, color, width, flag);
}
}
this.showLocationHistory = function (m, loc, needCenter) {
this.showLocationHistory = function (m, loc, needCenter, color, width, flag) {
var point = new PointC({
longitude: loc.Longitude,
latitude: loc.Latitude
@@ -1093,24 +1148,38 @@ if (typeof (MapHelper) !== "function") {
polyLine.StartTime = lastLocation.LocationTime;
polyLine.EndTime = loc.LocationTime;
var lineGraphic = this.createLocationHistoryLineGraphic(polyLine);
var lineGraphic = this.createLocationHistoryLineGraphic(polyLine, color, width);
locationLineGraphics["l" + lastLocation.LogId] = lineGraphic;
lineGraphic.isHistoryLine = true;
mapObj.BaseMapLayer.add(lineGraphic);
}
else {
var level = mapObj.MyMap.getLevel();
if (level < 12)
if (level < 12) {
level = 12
mapObj.MyMap.setLevel(level);
mapObj.MyMap.setLevel(level);
}
}
var startOrEndPoint = null;
if (flag == 0) {
startOrEndPoint = this.createLocationHistorySymbolPoint(point, [34, 139, 34]);
} else if (flag == 1) {
startOrEndPoint = this.createLocationHistorySymbolPoint(point, [255, 0, 0]);
}
lastLocation = loc;
var gpoint = this.createLocationHistoryPoint(m, point);
gpoint.StartOrEndPoint = startOrEndPoint;
if (gpoint.StartOrEndPoint)
mapObj.HisptoryPointLayer.add(gpoint.StartOrEndPoint);
if (gpoint.CameraGraphic)
mapObj.HisptoryPointLayer.add(gpoint.CameraGraphic);
mapObj.HisptoryPointLayer.add(gpoint);
locationHistoryPointGraphics.push(gpoint);
if (needCenter)
mapObj.MyMap.centerAt(point);
if (needCenter) {
setTimeout(function () { mapObj.MyMap.centerAt(point) }, 100);
}
return point;
}
@@ -1123,9 +1192,18 @@ if (typeof (MapHelper) !== "function") {
}
locationLineGraphics = [];
for (var i in locationHistoryPointGraphics) {
if (locationHistoryPointGraphics[i].StartOrEndPoint)
mapObj.HisptoryPointLayer.remove(locationHistoryPointGraphics[i].StartOrEndPoint);
if (locationHistoryPointGraphics[i].CameraGraphic)
mapObj.HisptoryPointLayer.remove(locationHistoryPointGraphics[i].CameraGraphic);
mapObj.HisptoryPointLayer.remove(locationHistoryPointGraphics[i]);
}
locationHistoryPointGraphics = [];
if (isHistoryTooltip) {
isHistoryTooltip = false;
mapObj.MyMap.infoWindow.hide();
}
}
var lastRouteLine;
@@ -1363,10 +1441,87 @@ if (typeof (MapHelper) !== "function") {
mapObj.MyMap.setExtent(tempExtent, true);
}
this.createLocationHistoryPoint = function (m, point) {
var picSymbol = new PictureMarkerSymbolC(point.loc.IconURL, 14, 14);//url,width,height
this.createLocationHistorySymbolPoint = function (point, color) {
var symbol = new SimpleMarkerSymbolC({
color: [255, 255, 255],
size: 8,
style: 'esriSMSCircle',
outline: {
color: color,
width: 6,
style: 'esriSLSSolid'
}
});
// Location History 中构造设置不生效,原因未知
if (symbol.size == 0) {
symbol.setSize(8);
}
if (symbol.outline.width == 0) {
symbol.outline.setWidth(8);
}
var g = new GraphicC(point, symbol);
return g;
};
var popContent = "<b>" + GetTextByKey("P_MV_NAME_COLON", "Name:") + " </b>" + htmlencode(m.Name) + "<br/>";
var inMotionIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVDhPtVItT8RAEB1ZWbnmksrKSmQVGlmJrOw/2BWXQAIhCJIicRjkJeCKQ5w4WbmyAlGBKG6Z3c4c2+1eguElr5vOx5s3ycD/QkK+uduc41tQ5A+QkICCK+SENO2+NfYlPmNeUGUEdpKCnhvErTAW+UPuiwxYV1KHh3my9gpNvaudgHpXvoDluHaioA2KTKc7J9B/9os48ZU6EfN0tzOT7TOCNWZKyFjA7r5Isn1GZA0rcMECdZhk+8PX4N7oGhK/JFD6CbZ/GA4m2SZHsdUaEi5ZIPUT1v44jSa7z9x/ep0aPer1GosDU9Bxwk4sn8pFcfFYOEdeTFMnAc8Wg5O137w1fuGR1Uv1u8aJY6rEjfgOG33aAVjXUEcEs5OPsJF44oxjkHCGrJEK2cQbAX4AQa0yMfhNcXQAAAAASUVORK5CYII=";
var inMotionIcon_seatbelt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI9SURBVDhPvVQhjOJQEK1EInGLRCKRSOTKypVIJK4/gQTEJVtBsgiSIkhAXAKCZBEksEEgEBUnKhBsgkCc6CWIboKYnff5A21hb3PmXvJS/u/M+/NmfrH+OxzHyTPLMRbMq38DJ1aUUj6Tut0u9ft9/cSaGfD7JxP6d3BglhO8TqdDQRAQEPwO6O39jfyDr9fb7ZZ6vR6EXzk+Z1JvgZcctJtMJnSMjlSf1ynTzJClLHrZvOgnaP+06XA80Gq1okaj8Yfz7reBxYbT6VRXUugULgK5HzldWXpvsVvQZrNBpWsjcQWfYsMmKsu7+UsiWJ1WtaBaqsR+tp3VlaK/nF83UmfAKkMnx5NAVAKgl+l3lUGFwjBElaGR0tUVms0mRafo0jOh2BXEbQt34Y5c10WV517yj0dMDb1LB4tdQdo2OA7GNBqNIGiLYBXDiE9SKHbRK+CebWfh0HK5hKASQXswGOjkeKDYReVohYinbXu+R7hqKEwES+12m8IoTATCLvZk6pgq+pW2jQPxFbFOUQsCmBKmVe6XL4GoKL4Gi91iotc47HQ6YcoRC2aMnK5SwTZ6BHuwW5vVEmJCfCliG4fO53MIekbqDKjzps+g4a8hPbgPN0Jx4sDn9TPt93uIHTg/a6SuQA9ardYHPn5UWuqVvhRDZRAz969iJG7BL0t8YoCpRVFE6/1aXydcDVQEIfTM2ERlX4sJOAj2W0z9nc5mM33P8MQa+0yP425tfgdOwr90jamYdbO+TjMBy/oEcsmWzBePQsYAAAAASUVORK5CYII=";
var stoppedOnIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADvSURBVDhPnZItD8JADIZfiUQikUgkjiX7wCKRk0gEnjkSBIoEP8NPQILjJyCRSCRupb3rLdtyLNnepLlc7572ei3+iRJMKERAMabqahfNMShi7Nm+DFHViggXPh/p1bokA194NqGqcdC3vEYRK5MxwssHNI0DfGovYMfZHG4DojyzdkjtXlbnk70NcDWg1mlrlAtO+c5mk9VJzsUntsDY1Fo6usAJluBa173gGBm0l33gVGoelo5usB0e/rBbF1jaakCRjKL58WqrtC1eX3NQGF6VLWsxzrpRpC59wcML+UbTJ44+YzsydC9CnPwQ8AONg7vacAr1YwAAAABJRU5ErkJggg==";
var stoppedOnIcon_seatbelt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIYSURBVDhPvZQxaFpRFIYdMzpmzOjY0a1ZAkKXdqpDh9ApUAgpZJAuPtCgdKmlQhwsShDiUiJUqAUhgoQMDnbKGwwE6pAu5RVCscXh7//fd2818aVtHPrD4XrvPed7555zr7H/rmw2u0Zbn7OE3bqbGJjyPG9IQ6VSQb1eN6PmNJ/7m9b1z6JjnAG1crkM3/dh9Jnjp2PgfGimo9EI1WpV4A/0X7Whi9ImnS5arRam36+AtxngwQqwEbtue2ng6yX6/T5yudw3xkWXgbDDdrsdZvI0sQiat8erJuvBYKBMTy1iJn4lrWOazJ6sRUNu2qO4yVT1ZXzGokLpqBTweit03l0HDrzQXm6Gc41uTXP5vUghCAJlGViUyS6Rz+eBn5NZzRTkdJC1axydtK812ZcLlEolZRnWkj8eqmumds7pLsCTIzSbTQHTDrhlmvF+fzkg13u9noCeA6YbjUZ415YBfqxBV02JOWCyWCwCV8FyQJZKr4icewYoqUvq1u/u/SuQV2w6narLEwJXLM5k6Zlj65mp0/PXxn0kao1l6na7AtYsKpToXBxSwPFh9JO7ae9eYTweC3bJ+LhFzaQaFAqFH3r8JtPtZDTIPjvB7P1LWcSiuJnkF311bTLhRT87Bfaf84j3gTfPDEg1s8dUZrfDnOik4xdo5p12Oh1zzzRqrnVajX6Lx/ybGKR/6R2aR8vY+ayb1xSL/QL9uQvrk6zAAAAAAABJRU5ErkJggg==";
var stoppedOffIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADWSURBVDhPjZItFsIwEIRXIpFIZGUlskdAIpFIjlCHrOQIPQKykiMgI5FIHOHbNq/N9gcy781LOpnJbprIErxIBguYB+k3MK4+Ihf4Zu5jotWMm2C1YCHH8IgDY7L+ZCxCpAOCVnSxcYn4XoxDBwjX3lBV3jfNlHUdb3Brg3xo1eGMapyDc304cNue1Yjp4b22fDJierjUynqXg5gePmp4bcT0cPd4aL3pxYQwftcGFQiZ+eP/aR8K4UPKBnjOIWLBonZwHweU6NOnOQeMO6hXWGql+ZDIF0fPnCjLPKZjAAAAAElFTkSuQmCC";
var driverInsightIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFWSURBVDhPY6Ap2FEZqbG9OtxhZ1WoAVSIMNhfH8+xsyqsfUdl2PedVeH/d9fF/AfRILyjKnz5lpJQCahSTACyCaj5OkwDCN/ZuxrOhuLnIFdBtSAA1Ob7aIr///7+5f/epiQUsR2V4e8xXLKzMnw6siIQPj278T8IXFwxEUUcirdDtUJsh/kZGYOcDwJPzx5AEYfh7eXhCmADIH7HVPD23lWwAd/evcKQA2GgpQFgA7ZXhWagS4L8DQI/Pr0H00f6C1HkwbgyvAFiADiuUSXPL+kBB+Ch7hywITe2LESRB+HtVeEJYAP21/sLoEs+OrkLrglk2Murp1DkIRgpgQGjcD+yJLoGEB85UYGiHKoVAkDJFhYTIGefmF6DpDgcHAbIYlgT087KsAiQIegJB4Zh4jsqwgqgWjAByCXA0D2OrhmKsSdjbGBbVZgFOHqBUQWyEbtGBgYAaNW8JHqlggcAAAAASUVORK5CYII=";
var driverInsightIcon_seatbelt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJVSURBVDhPvVQxSBtRGM7o6NjR0bGjY0fHbs3gULro0MFuUkpzmsAFFIwQaMCDpBBswCVDxNhGOIyl1SOEDHrFSBWjFQV7IuKpR/n7fy/vJbm7tKWLH3yc773///L9//+ekQdHLBYbYj7p4bA8+j9w4qimaXUmZTIZyuVy4os10+bz5zL07+DAQU7IptNpsm2bgOvzE7r4vkNXPw7EutlskmEYEF7l+EcyNQwcctBBsVikO/eG9taW6NPbMVp7/azzBRuFBbq9cqharVI8Hr/kvP5tYLEPpVJJONmcf9URAPfXl31rUx8Xri3LgtMvUqIL/pUoyoSzjdmXvmTQc69pfeaFbw9rOEV/OX9KSrWBUhm0WzR8SaC1OC16h1KDZ7WcTo7jwKUjpYS74UQiQb+8e1+vFFEucFIzQ2fgzc9zSqVScNnuJf/xFFND7/oloFcAEvudn+1sU6FQgGBUCU5gGEdbH0PB6BOAXgHBYYH7lWUyTROCmhKM5vN54SQYXM/PiYFgUBD9VnofijnmVuCqwZgSHEkmkyIxGAzXSgTiKC8Yg1bhFbHOYyEIYEqYlmVM+4KDAlj3Dg7OPc/DlF0WHJBywqWGsvHMVAKCv75700kG0cPePbSpUqlAMCul2oA6b9YZdNr4LESDF1lR7R9urlCr1YLYKecPSqku0ANd12/x+OF0K+BOUT07iMn7NyolwuDDEf5FG1NzXZecoz0xGFwNOIIQeibLhLM/iylwEMrXmeKdlstlcc/wxRr7zCzHhcv8FzgJ/6UnmRpzSq670/QhEvkNNxMGho8aL+YAAAAASUVORK5CYII=";
var cameraIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAVCAYAAAAnzezqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC8ElEQVR42uyVb2jUdRzHX5/fvxv73e7WOb3WjbuWLTRTnJZJZLmghAzWsywMrSCiB1GQIIgJghD9gbACgwIHkYtiPTEXQjI0NdzahN2EtE7L7drmzd3d5u5+9/vz7YH3zCiYO33SC77wffDhy5v35/P+fuSzM1kO/jLx2rmJa68USp5CRDFfFJiGGA/caQ+8u6l1T7IxNO54ChH46VKB0aKDLkKgoGtwnE1tMYzBsdn3TmfyOwDE0LgpBFwvYCiTX7Ov788Hd3ekNpq6zBQdn5IXIAi6JhiASPV+6OzkS9GwRc/W+0k0WLjB/A0QAU2ENw//ztF0bk1fKrqqpTF08kKuxGLbpN7SuDLrrj9xqbAvW3Ba0hPXDhvFkqfdF6/n0VQES79JB6o8lGjgaDrHham5EKLQBTQh2j82u+dIOveqW/btugaT/svFbRoaKHX9LBR+9TERUbapU3T8zv2nskM9P2ffikdCdu/r7bywegle2ReDGqIJie/PT3/Rn8m/XKn4vPFUK7s7kjTZJt8MT4JS1ESAVDPRk84dcPKO3d52Bx88s5Qn7mm8obY2DoiAr0QXsd/pbGPHYy2ELf0fS2siQFWH6qvnl9O5fNG/t6kmAqouxMPmf88Jt5n/BWg1i6FS9IxMUSh7t0GACOjC+70Z1n0yyJHzV29xCpQCEZa1RvvGpp3pzZ8Osf3bX7l4tXxrZ+CRZGTX9oebN9+bjGS6jl9m7UcDfHl2EgBdpMYtAPJlt67JNk9vWbV42bPr7vrQBefFg8M83ZVmtOiAJhgE17dXsIACKn4AChpDJqYmTJc8d8PdkbdXxOsPfHdu6vPekdzjKIhFQzPGimY7P/LXbGznDxdZuqgO15//XtZEmHN9ugbGMev0SnsiPNEcthCZo+IrdOG351Y2bcymIlu+Hr6y/sm2WLexbW18694fnUP7j/0RA7wF+IeFkG7t7Eh+vCEVHan4AYmIxZnRGWYcj0BBPGx2hy29u8HS+HsA3l0gQ1y8X+cAAAAASUVORK5CYII=";
this.createLocationHistoryPoint = function (m, point) {
var picSymbol = null;
if (point.loc.Abnormal)
picSymbol = new PictureMarkerSymbolC(point.loc.IconURL, 14, 14);//url,width,height
else {
if (point.loc.DriverInsight != 0)//DriverInsights
picSymbol = new PictureMarkerSymbolC(point.loc.SeatBelt == 2 ? driverInsightIcon_seatbelt : driverInsightIcon, 14, 14);//url,width,height
else {
if (point.loc.MoveStatus == 1)//InMotion
picSymbol = new PictureMarkerSymbolC(point.loc.SeatBelt == 2 ? inMotionIcon_seatbelt : inMotionIcon, 14, 14);//url,width,height
else if (point.loc.MoveStatus == 2)//StoppedOn
picSymbol = new PictureMarkerSymbolC(point.loc.SeatBelt == 2 ? stoppedOnIcon_seatbelt : stoppedOnIcon, 14, 14);//url,width,height
else if (point.loc.MoveStatus == 3)//StoppedOff
picSymbol = new PictureMarkerSymbolC(stoppedOffIcon, 14, 14);//url,width,height
else
picSymbol = new PictureMarkerSymbolC(point.loc.IconURL, 14, 14);//url,width,height
}
picSymbol.setAngle(point.loc.Heading);
}
var existsurl = false;
var divContent = "<div style='min-height:200px;'>";
var urlContent = "<div class='divicon_left'>";
if (point.loc.SmartWitnessVideoUrl && point.loc.SmartWitnessVideoUrl.length > 0) {
existsurl = true;
for (var i = 0; i < point.loc.SmartWitnessVideoUrl.length; i++) {
var v = point.loc.SmartWitnessVideoUrl[i];
if (v.Key == "Driver Cam")
urlContent += "<a style='cursor:pointer;margin-left:5px;' onclick='openVideoDialog(\"" + encodeURIComponent(v.Value) + "\")'><img style='width:50px;' src='" + _network.root + "img/DriverCam.png?v=1'/></a>";
else
urlContent += "<a style='cursor:pointer;margin-left:5px;' onclick='openVideoDialog(\"" + encodeURIComponent(v.Value) + "\")'><img style='width:50px;' src='" + _network.root + "img/RoadCam.png?v=1'/></a>";
urlContent += "<br/>";
}
}
if (point.loc.FromSmartWitness && enableSmartWitness) {
if (existsurl)
urlContent += "<br/>";
existsurl = true;
urlContent += "<a style='cursor:pointer;' onclick='openRequestVideoDialog(" + m.ID + "," + point.loc.LogId + ")' title='" + GetTextByKey("P_MV_VIDEOREQUEST", "Video Request") + "'><img style='width:50px;' src='" + _network.root + "img/RequestVideo.png?v=1'></a>";
assetHisLocations[point.loc.LogId] = point.loc;//assetHisLocations定义在asset.js中
}
var popContent = "";
if (existsurl) {
urlContent += "</div>";
divContent += urlContent;
popContent += "<div style='margin-left:60px;'>";
}
else
popContent += "<div>";
popContent += "<div><b>" + GetTextByKey("P_MV_NAME_COLON", "Name:") + " </b>" + htmlencode(m.Name) + "<br/>";
popContent += "<b>" + GetTextByKey("P_MV_NAMECUSTOM_COLON", "Name (Custom):") + " </b> " + htmlencode(m.Name2) + "<br/>";
popContent += "<b>" + GetTextByKey("P_MV_SN_COLON", "SN:") + " </b> " + m.VIN + "<br/>";
popContent += "<b>" + GetTextByKey("P_MV_LATITUDE_COLON", "Latitude:") + " </b>" + point.loc.Latitude + "<br/>";
@@ -1385,17 +1540,30 @@ if (typeof (MapHelper) !== "function") {
popContent += "<b>" + GetTextByKey("P_MV_STREET_COLON", "Street:") + "</b>" + point.loc.Street + "<br/>";
if (point.loc.LocationTimeText !== "")
popContent += "<b>" + GetTextByKey("P_MV_TIME_COLON", "Time:") + " </b>" + point.loc.LocationTimeText + "<br/>";
if (point.loc.SmartWitnessVideoUrl && point.loc.SmartWitnessVideoUrl.length > 0) {
for (var i = 0; i < point.loc.SmartWitnessVideoUrl.length; i++) {
var v = point.loc.SmartWitnessVideoUrl[i];
popContent += "<br/><a style='cursor:pointer;' onclick='openVideoDialog(\"" + encodeURIComponent(v.Value) + "\")'>" + htmlencode(v.Key) + "</a>";
}
popContent += "<br/>";
}
if (point.loc.FromSmartWitness && enableSmartWitness) {
popContent += "<br/><span class='iconvideo' style='cursor:pointer;' onclick='openRequestVideoDialog(" + m.ID + "," + point.loc.LogId + ")' title='" + GetTextByKey("P_MV_VIDEOREQUEST", "Video Request") + "'></span>";
assetHisLocations[point.loc.LogId] = point.loc;//assetHisLocations定义在asset.js中
}
var driverInsight = "";
if (point.loc.DriverInsight === 1)//ADAS
driverInsight = GetTextByKey("P_MV_ADVANCEDDRIVERASSISTANCESYSTEMS", "Advanced Driver Assistance Systems");
else if (point.loc.DriverInsight === 2)//ADAS_LDWL
driverInsight = GetTextByKey("P_MV_LANEDEPARTUREWARNINGLEFTSIDE", "Lane Departure Warning (left side)");
else if (point.loc.DriverInsight === 3)//ADAS_LDWR
driverInsight = GetTextByKey("P_MV_LANEDEPARTUREWARNINGRIGHTSIDE", "Lane Departure Warning (right side)");
else if (point.loc.DriverInsight === 4)//ADAS_FCW
driverInsight = GetTextByKey("P_MV_FORWARDCOLLISIONWARNING", "Forward Collision Warning");
else if (point.loc.DriverInsight === 5)//ADAS_HMW
driverInsight = GetTextByKey("P_MV_TAILGATING", "Tailgating");
else if (point.loc.DriverInsight === 6)//ADAS_DISTRACT
driverInsight = GetTextByKey("P_MV_DISTRACTIONS", "Distractions"); //GetTextByKey("P_MV_HEADWAYMONITORINGWARNING", "Headway Monitoring Warning");
else if (point.loc.DriverInsight === 7)//ADAS_PHONE
driverInsight = GetTextByKey("P_MV_PHONEATEARCALLING", "Phone at Ear (Calling)"); //GetTextByKey("P_MV_DISTRACTIONS", "Distractions");
else if (point.loc.DriverInsight === 20)//DSM
driverInsight = GetTextByKey("P_MV_DRIVERSTATEMONITORING", "Driver State Monitoring");// GetTextByKey("P_MV_PHONEATEARCALLING", "Phone at Ear (Calling)");
else if (point.loc.DriverInsight === 21)//DSM_FATIGUE
driverInsight = GetTextByKey("P_MV_FATIGUE", "Fatigue"); //GetTextByKey("P_MV_DRIVERSTATEMONITORING", "Driver State Monitoring");
else if (point.loc.DriverInsight === 22)//DSM_DISTRACT
driverInsight = GetTextByKey("P_MV_DISTRACTIONS", "Distractions");// GetTextByKey("P_MV_FATIGUE", "Fatigue");
else if (point.loc.DriverInsight === 23)//DSM_PHONE
driverInsight = GetTextByKey("P_MV_PHONEATEARCALLING", "Phone at Ear (Calling)");
var harshDriving = "";
if (point.loc.HarshDringEvent === 1)
@@ -1411,29 +1579,47 @@ if (typeof (MapHelper) !== "function") {
else if (point.loc.SpeedingBehavior === 2)
speeding = GetTextByKey("P_MV_SPEEDINGHIGHSEVERITY", "Speeding: High Severity");
if (speeding !== "" || harshDriving !== "") {
if (driverInsight !== "" || speeding !== "" || harshDriving !== "") {
popContent += "<br/>";
if (driverInsight !== "")
popContent += driverInsight + "<br/>";
if (harshDriving !== "")
popContent += harshDriving + "<br/>";
if (speeding !== "")
popContent += speeding + "<br/>";
}
popContent += "</div>";
divContent += popContent;
divContent += "</div>";
var g = new GraphicC(point, picSymbol);
g.setAttributes({ "infoContent": popContent, "name": htmlencode(m.DisplayName), "Type": 2 });
g.setAttributes({ "infoContent": divContent, "name": htmlencode(m.DisplayName), "Type": 2 });
if (point.loc.SmartWitnessVideoUrl && point.loc.SmartWitnessVideoUrl.length > 0) {
var camSymbol = new PictureMarkerSymbolC(picSymbol.toJson());
camSymbol.setUrl(cameraIcon);
camSymbol.setAngle(0);
camSymbol.setWidth(24);
camSymbol.setHeight(18);
camSymbol.setOffset(3, 0);
var gcam = new GraphicC(point, camSymbol);
gcam.isCamSymbol = true;
//gcam.setAttributes({ "infoContent": popContent, "name": htmlencode(m.DisplayName), "Type": 2 });
g.CameraGraphic = gcam;
}
return g;
}
this.createLocationHistoryLineGraphic = function (polyline, color) {
this.createLocationHistoryLineGraphic = function (polyline, color, width) {
if (!color)
color = [225, 95, 72];
var lineSymbol = new SimpleLineSymbolC({
color: color,
width: 5
width: width || 5
});
if (lineSymbol.width == 0) //在单独Location History页面中,width设置可能无效,原因不详
lineSymbol.width = 5;
lineSymbol.width = width || 5;
var g = new GraphicC(polyline, lineSymbol);
+16 -1
View File
@@ -64,7 +64,7 @@ function initMapMenuItems(data) {
if (!wspItemAdded) {
items['sep1'] = "---------";
var item = {};
item.name = "Dashboards";
item.name = GetTextByKey("P_MAIN_DASHBOARDS", "Dashboards");
item.icon = createicon;
item.items = wspitems;
items['wsp'] = item;
@@ -173,6 +173,9 @@ function getitemname(id, name) {
else if (id === "nav_alertsmanagement") {
name = GetTextByKey("P_ALERTSMANAGEMENTNEW", name);
}
else if (id === "nav_alertsmappings") {
name = GetTextByKey("P_ALERTMAPPINGS", name);;
}
else if (id === "nav_workorder") {
name = GetTextByKey("P_WORKORDERNEW", name);
}
@@ -191,6 +194,15 @@ function getitemname(id, name) {
else if (id === "nav_scheduler") {
name = GetTextByKey("P_JS_SCHEDULER", name);
}
else if (id === "nav_surveymanagementresult") {
name = GetTextByKey("P_WOS_SURVEYMANAGEMENTRESULT", name);
}
else if (id === "nav_wosurveytemplate") {
name = GetTextByKey("P_WOS_TEMPLATES", name);
}
else if (id === "nav_wosurveytemplatereport") {
name = GetTextByKey("P_WOS_TEMPLATES_REPORT", name);
}
//Credentials
else if (id === "nav_credential") {
name = GetTextByKey("P_CREDENTIALS", name);
@@ -248,5 +260,8 @@ function getitemname(id, name) {
else if (id === "nav_addjobsite") {
name = GetTextByKey("P_JS_ADDJOBSITE", name);
}
else if (id === "nav_assethistory") {
name = GetTextByKey("P_MA_ASSETHISTORY", name);
}
return name;
}
+361 -33
View File
@@ -25,6 +25,7 @@ function resetMachineState() {
machineStates = [];
clearLocationHistory();
$("#locationhistoryDiv").hide();
resiezrightCtrl();
$("#tripDiv").hide();
allJobsites = [];
@@ -56,16 +57,19 @@ function onPlayClick(last) {
function openSetLocationHistory() {
$('#dialog_locationhistory .dialog-title span.title').text(GetTextByKey("P_MA_LOCATIONHISTORY", 'Location History'));
getLocationPrimaryDataSource();
$("#btnLoadTrip").hide();
getAssetDatasources();
$('#locationhistoryDiv').show();
if ($("#rightCtrl").width() == 0)
$("#splitIconRight").click();
resiezrightCtrl();
}
function locationHistoryClick(e) {
locationTimeperiodChange();
$('#tripDiv').hide();
$('#tbTrips').empty();
$("#btnClearTrip").trigger('click');
if (PopupViewShowing) {
if (e) {
@@ -76,7 +80,7 @@ function locationHistoryClick(e) {
'height': document.documentElement.clientHeight - 150
})
.showDialogfixed();
execIframeFunc("getlocationhis", [e.data.CompanyID, e.data.ID, e.data.DisplayName], "iframelochis");
execIframeFunc("getlocationhis", [e.data.CompanyID || "", e.data.ID, e.data.DisplayName], "iframelochis");
}
return;
}
@@ -97,14 +101,15 @@ function locationHistoryClick(e) {
}
function locationTimeperiodChange() {
var currentdate = getCurrentDate();
var cdate = getCurrentDate();
if (!cdate) cdate = currentdate;
var timeperiod = $("#dialog_timeperiod").val();
var disabled = false;
if (timeperiod !== "4") {
disabled = true;
var time = new Date(currentdate);
var nowtime = new Date(currentdate);
var time = new Date(cdate);
var nowtime = new Date(cdate);
var hours = nowtime.getHours();
var minutes = nowtime.getMinutes();
if (timeperiod === "2") {
@@ -142,6 +147,13 @@ function locationTimeperiodChange() {
$('#dialog_endtimeminute').val(setTimeSelect(minutes));
}
}
$('#dateFrom').attr("disabled", disabled);
$('#dialog_starttimehour').attr("disabled", disabled);
$('#dialog_starttimeminute').attr("disabled", disabled);
$('#dateTo').attr("disabled", disabled);
$('#dialog_endtimehour').attr("disabled", disabled);
$('#dialog_endtimeminute').attr("disabled", disabled);
}
var lastHisFromDT;
@@ -163,31 +175,36 @@ function getLocationHistory(last) {
return;
}
if ($.playBar.getAllTime() > 0 && lastHisFromDT == dtfrom && lastHisToDT == dtto)
return 1;
else {
$.playBar.Clear();
LocationHistoryInfo = null;
mapHelper.clearLocationHistory();
lastHisFromDT = dtfrom;
lastHisToDT = dtto;
}
var cid = currentLocationHistoryMachine.CompanyID;
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
var p = mid + ";" + dtfrom + ";" + dtto;
var notShow00loc = $("#chkExclude00Loc").is(":checked");
p += ";" + cid + ";" + (notShow00loc ? "1" : "0") + ";" + Datasource;
$("#btnHisLoading").show();
_network.mapviewquery("GetHistoryLocation", p, function (data) {
$("#btnHisLoading").hide();
if (data && data.Machine.ID === currentLocationHistoryMachine.ID) {
showLocationHistory(data, last);
if ($("#selLocDatasource").val() == "0") {
if ($.playBar.getAllTime() > 0 && lastHisFromDT == dtfrom && lastHisToDT == dtto)
return 1;
else {
$.playBar.Clear();
LocationHistoryInfo = null;
mapHelper.clearLocationHistory();
lastHisFromDT = dtfrom;
lastHisToDT = dtto;
}
}, function () {
$("#btnHisLoading").hide();
});
$("#btnHisLoading").show();
_network.mapviewquery("GetHistoryLocation", p, function (data) {
$("#btnHisLoading").hide();
if (data && data.Machine.ID === currentLocationHistoryMachine.ID) {
showLocationHistory(data, last);
}
}, function () {
$("#btnHisLoading").hide();
});
}
else {
getMultipleHistoryLocation(dtfrom, dtto);
}
}
function showLocationHistory(data, last) {
@@ -380,7 +397,7 @@ function requestVideo() {
else
loc = assetHisLocations[parseInt($('#dialog_hlogid').val())];
var cid = loc.CompanyID;
var cid = loc.CompanyID || "";
var logid = loc.LogId;
var src = loc.DataSource;
var subsrc = loc.SubSource;
@@ -404,23 +421,69 @@ function openTrips(detail) {
getAssetTripLins(detail);
}
function openTheft(callback) {
var dtfrom = $("#dateFrom").val();
var dtto = $("#dateTo").val();
function getLocationPrimaryDataSource() {
var start_hour = $('#dialog_starttimehour').val();
var start_minute = $('#dialog_starttimeminute').val();
var end_hour = $('#dialog_endtimehour').val();
var end_minute = $('#dialog_endtimeminute').val();
dtfrom = dtfrom.replace("-", "/") + " " + start_hour + ":" + start_minute + ":" + "00";
dtto = dtto.replace("-", "/") + " " + end_hour + ":" + end_minute + ":" + "59";
if (new Date(dtfrom) > new Date(dtto)) {
_dialog.showAlert(GetTextByKey("P_MV_FROMDATETIMEMUSTBEPRIORTOTODATETIME", 'From Date/Time must be prior to To Date/Time.'), GetTextByKey("P_MA_LOCATIONHISTORY", 'Location History'));
return;
}
if (typeof callback === 'function') {
callback();
}
getTheftDatasources(dtfrom, dtto);
}
var prumaryDatasource = null;
function getAssetDatasources() {
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
var p = mid + ";" + cid;
var container = $('#containerTheft').empty();
var dstype = $('#selLocDatasource').val();
prumaryDatasource = null;
_network.mapviewquery("GetAssetLocationDataSources", p, function (data) {
for (var i = 0; i < data.length; i++) {
var ds = data[i];
ds.color = ds.IsPrimary ? [225, 95, 72] : lineColors[i % 16];
if (ds.IsPrimary)
prumaryDatasource = ds.DataSource;
var item = $('<div class="theft-datasource-item"></div>');
var label = $('<label></label>');
label.append($('<input type="checkbox"></input>').data('ds', ds).val(String(i)).prop({
'disabled': dstype == '0',
'checked': dstype != '0' || ds.IsPrimary
}));
_network.mapviewquery("GetLocationPrimaryDataSource", p, function (data) {
if (data && data.Item1.toLowerCase() === "calamp")
label.append($('<span class="theft-datasource-line"></span>').css({
'background-color': '#' + ds.color.map(function (c) { return Number(c).toString(16).padStart(2, '0') }).join(''),
'height': ds.IsPrimary ? 5 : 3
}));
label.append($('<span></span>').text(ds.DisplayName));
item.append(label);
container.append(item);
}
if (prumaryDatasource && prumaryDatasource.toLowerCase() === "calamp" && dstype == '0')
$("#btnLoadTrip").show();
else
$("#btnLoadTrip").hide();
}, function () {
resiezrightCtrl();
});
}
function getAssetTripLins(detail) {
var cid = currentLocationHistoryMachine.CompanyID;
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
var dtfrom = $("#dateFrom").val();
var dtto = $("#dateTo").val();
@@ -439,7 +502,7 @@ function getAssetTripLins(detail) {
if (detail)
$("#tripDiv").css({ 'left': 'unset', 'right': 11, 'bottom': 0, 'height': '65%' });
else
$("#tripDiv").css({ 'left': 0, 'right': 'unset', 'bottom': 52, 'height': 450 });
$("#tripDiv").css({ 'left': 0, 'right': 'unset', 'bottom': 1, 'height': 450 });
$("#tripDiv").show();
@@ -452,6 +515,232 @@ function getAssetTripLins(detail) {
});
}
var lineColors = [//colorSet Array
[0x43, 0x86, 0xd8],
[0xff, 0x9a, 0x2e],
[0xdb, 0x44, 0x3f],
[0xa8, 0xd4, 0x4f],
[0x85, 0x60, 0xb3],
[0x3c, 0xbf, 0xe3],
[0xaf, 0xd8, 0xf8],
[0x00, 0x8e, 0x8e],
[0x8B, 0xBa, 0x00],
[0xfa, 0xbd, 0x0f],
[0xfa, 0x6e, 0x46],
[0x9d, 0x08, 0x0d],
[0xa1, 0x86, 0xbe],
[0xcc, 0x66, 0x00],
[0xfd, 0xc6, 0x89]
];
var dsLocations;
function changeLocDatasource() {
var dstype = $('#selLocDatasource').val();
if (dstype == "0") {//Primary Only
if (prumaryDatasource && prumaryDatasource.toLowerCase() === "calamp")
$("#btnLoadTrip").show();
else
$("#btnLoadTrip").hide();
$('#playBarContainer').show();
$('#btnTheftModeReload').hide();
}
else if (dstype == "1") {//Multipe Line
$("#btnClearTrip").trigger('click');
$('#btnLoadTrip').hide();
$('#playBarContainer').hide();
$('#btnTheftModeReload').show();
}
else {//Single Line
$("#btnClearTrip").trigger('click');
$('#btnLoadTrip').hide();
$('#playBarContainer').hide();
$('#btnTheftModeReload').show();
}
$('#containerTheft').find('input[type="checkbox"]').each(function () {
var t = $(this);
var ds = t.data('ds');
t.prop({
'disabled': dstype == '0',
'checked': dstype != '0' || ds.IsPrimary
});
});
resiezrightCtrl();
}
function resiezrightCtrl() {
setTimeout(function () {
$("#divLegend").css('max-height', $("#rightCtrl").height() - ($("#locationhistoryDiv").is(":hidden") ? 0 : $("#locationhistoryDiv").height()) - 50);
});
}
function getMultipleHistoryLocation(dtfrom, dtto) {
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
//$("#theftLoading").show();
var notShow00loc = $("#chkExclude00Loc").is(":checked");
var p = mid + ";" + dtfrom + ";" + dtto + ";" + cid + ";" + (notShow00loc ? "1" : "0") + ";";
var container = $('#containerTheft');
var datas = [];
container.find('input[type="checkbox"]').each(function () {
var t = $(this);
if (t.prop('checked')) {
datas.push(t.data('ds'));
}
});
dsLocations = [];
var tasks = datas.map(function (ds, index, array) {
return new Promise(function (resolve) {
_network.mapviewquery('GetHistoryLocation', p + ds.DataSource + ';' + ds.SubSource, function (data) {
if (data?.Machine?.ID === currentLocationHistoryMachine.ID) {
data.DataSource = ds;
dsLocations[index] = data;
}
resolve(data);
}, resolve);
});
});
clearLocationHistory();
Promise.all(tasks).then(function () {
if ($("#selLocDatasource").val() == "1") {
for (var i = 0; i < dsLocations.length; i++) {
var data = dsLocations[i];
if (data.Locations.length > 0) {
mapHelper.showLocationHistoryFromStart(data.Machine, data.Locations, data.Locations.length - 1, i == dsLocations.length - 1, true,
data.DataSource.IsPrimary ? null : data.DataSource.color,
data.DataSource.IsPrimary ? null : 3);
}
}
}
else {
var data = null;
var locs = [];
for (var i = 0; i < dsLocations.length; i++) {
data = dsLocations[i];
if (data.Locations.length > 0)
locs = locs.concat(data.Locations);
}
if (data && locs.length > 0) {
locs.sort(function (a, b) {
if (a.LocationTime == b.LocationTime) {
return 0;
}
return a.LocationTime > b.LocationTime ? 1 : -1;
});
mapHelper.showLocationHistoryFromStart(data.Machine, locs, locs.length - 1, true, true, null, null);
}
}
});
}
function getTheftDatasources(dtfrom, dtto) {
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
$("#theftLoading").show();
var p = mid + ";" + cid;
var container = $('#containerTheft').empty();
_network.mapviewquery("GetTheftDatasources", p, function (data) {
// draw locations
mapHelper.clearLocationHistory();
var cid = currentLocationHistoryMachine.CompanyID || "";
var mid = currentLocationHistoryMachine.ID;
var notShow00loc = $("#chkExclude00Loc").is(":checked");
var p = mid + ";" + dtfrom + ";" + dtto + ";" + cid + ";" + (notShow00loc ? "1" : "0") + ";";
dsLocations = [];
var tasks = data.map(function (ds, index, array) {
return new Promise(function (resolve) {
_network.mapviewquery('GetHistoryLocation', p + ds.DataSource + ';' + ds.SubSource, function (data) {
if (data?.Machine?.ID === currentLocationHistoryMachine.ID) {
ds.color = ds.IsPrimary ? [225, 95, 72] : lineColors[index % 16];
ds.count = data?.Locations?.length;
data.DataSource = ds;
dsLocations[index] = data;
if (ds.count > 0) {
mapHelper.showLocationHistoryFromStart(data.Machine, data.Locations, data.Locations.length - 1, index == array.length - 1, true,
ds.IsPrimary ? null : ds.color,
ds.IsPrimary ? null : 3);
}
}
resolve(data);
resiezrightCtrl();
}, resolve);
});
});
Promise.all(tasks).then(function () {
function sourcechanged() {
mapHelper.clearLocationHistory();
var datas = [];
container.find('input[type="checkbox"]').each(function () {
var t = $(this);
if (t.prop('checked')) {
datas.push(dsLocations[t.val()]);
}
});
if ($("#selLocDatasource").val() == "1") {
for (var i = 0; i < datas.length; i++) {
var data = datas[i];
mapHelper.showLocationHistoryFromStart(data.Machine, data.Locations, data.Locations.length - 1, i == datas.length - 1, true,
data.DataSource.IsPrimary ? null : data.DataSource.color,
data.DataSource.IsPrimary ? null : 3);
}
}
else {
var data = null;
var locs = [];
for (var i = 0; i < datas.length; i++) {
data = datas[i];
locs = locs.concat(data.Locations);
}
if (data && locs.length > 0) {
locs.sort(function (a, b) {
if (a.LocationTime == b.LocationTime) {
return 0;
}
return a.LocationTime > b.LocationTime ? 1 : -1;
});
mapHelper.showLocationHistoryFromStart(data.Machine, locs, locs.length - 1, true, true, null, null);
}
}
}
$("#selLocDatasource").off("change").on('change', sourcechanged);
for (var i = 0; i < data.length; i++) {
var ds = data[i];
if (ds.color == null) {
continue;
}
var item = $('<div class="theft-datasource-item"></div>');
var label = $('<label></label>');
label.append($('<input type="checkbox"></input>').data('ds', ds).val(String(i)).prop({
'disabled': !(ds.count > 0),
'checked': ds.count > 0
}).on('change', sourcechanged));
label.append($('<span class="theft-datasource-line"></span>').css({
'background-color': '#' + ds.color.map(function (c) { return Number(c).toString(16).padStart(2, '0') }).join(''),
'height': ds.IsPrimary ? 5 : 3
}));
label.append($('<span></span>').text(ds.DisplayName));
item.append(label);
container.append(item);
}
$("#theftLoading").hide();
});
}, function () {
});
}
function showAssetTripLins(data) {
var tb = $("#tbTrips");
tb.empty();
@@ -635,3 +924,42 @@ function setAttachemntIcon(filetype, sdown) {
sdown.attr('src', 'img/icon/txt.jpg')
}
}
function initaiwebsocket() {
var _aiwebsocket;
function openaimsgwebsocket() {
if (typeof AiNotifyAddress !== "undefined") {
_aiwebsocket = new $websocket(AiNotifyAddress);
_aiwebsocket.onreceive = onaimsgreceived;
_aiwebsocket.connect();
}
}
function onaimsgreceived(data) {
console.log(JSON.stringify(data));
if (data) {
if (data.CMD == "100") {//Locate Asset
var m = getAsset(data.Args.Id);
if (m)
mapHelper.locateMachine(m);
}
}
}
openaimsgwebsocket();
}
function OnRightExpend(e) {
var t = $(e);
var tid = t.attr("target");
if (t.hasClass("iconchevrondown")) {
t.removeClass("iconchevrondown").addClass("iconchevronright");
$("#" + tid).hide();
}
else {
t.removeClass("iconchevronright").addClass("iconchevrondown");
$("#" + tid).show();
}
resiezrightCtrl();
}
+1
View File
@@ -0,0 +1 @@
function openAddEnginHours(n){primarydatadourceMVEH=undefined;assetdataEH=n;var i=customerdatetime.split(" "),r=i[0],t=i[1].split(":"),u=t[0].length==1?"0"+t[0]:t[0],f=t[1];$("#dialogaddgenginehours_enginehours").val("");$("#dialogadd_enginehourstimezone").val(customertimezone?customertimezone:"UTC");$("#dialogaddenginehours_date").val(r);$("#dialogaddenginehours_timehour").val(u);$("#dialogaddenginehours_timeminute").val(f);$("#dialogaddenginehours_Notes").val("");assetdataEH.TelematicsEnabled&&!assetdataEH.EngineHours.IsEmpty&&(assetdataEH.EngineHours.DataSource.toLowerCase()=="calamp"||assetdataEH.EngineHours.DataSource.toLowerCase()=="pedigree")?(isAddEH=!1,primarydatadourceMVEH=assetdataEH.EngineHours.DataSource):isAddEH=!0;$("#dialog_addenginehours .dialog-title span.title").text(isAddEH?GetTextByKey("P_MV_ADDENGINEHOURS","Add Engine Hours"):GetTextByKey("P_MV_ADJUSTENGINEHOURS","Adjust Engine Hours"));showmaskbg(!0);$("#dialog_addenginehours").attr("act","add").css({top:(document.documentElement.clientHeight-$("#dialog_addenginehours").height())/3,left:(document.documentElement.clientWidth-$("#dialog_addenginehours").width())/2}).showDialogfixed();$("#dialogaddgenginehours_enginehours").focus()}function OnAddEngineHours(){var t,i,n,f,r,u;if($("#addenginehoursmask").show(),t=isAddEH?GetTextByKey("P_MV_ADDENGINEHOURS","Add Engine Hours"):GetTextByKey("P_MV_ADJUSTENGINEHOURS","Adjust Engine Hours"),i=$("#selContractor").val(),i||(i=""),n={CustomerID:i,AssetID:assetdataEH.Id,EngineHours:$("#dialogaddgenginehours_enginehours").val(),EngineHoursDate:$("#dialogaddenginehours_date").val(),Notes:$("#dialogaddenginehours_Notes").val(),DataSource:primarydatadourceMVEH},n.EngineHours!==""){if(isNaN(n.EngineHours)){_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSFORMATERROR","Engine Hours format error."),t);$("#addenginehoursmask").hide();return}if(n.EngineHours<=0){_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSMUSTBEGREATERTHAN0","Engine Hours must be greater than 0."),t);$("#addenginehoursmask").hide();return}}else{_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSCANNOTBEEMPTY","Engine Hours cannot be empty."),t);$("#addenginehoursmask").hide();return}if(n.EngineHoursDate===""){_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSDATECANNOTBEEMPTY","Engine Hours Date cannot be empty."),t);$("#addenginehoursmask").hide();return}f=$("#dialogadd_enginehourstimezone").find("option:selected").attr("offset");n.OffsetMinute=f;var e=$("#dialogadd_enginehourstimezone").find("option:selected").text(),o=$("#dialogaddenginehours_timehour").val(),s=$("#dialogaddenginehours_timeminute").val();n.EngineHoursDate=n.EngineHoursDate.replace("-","/")+" "+o+":"+s+":00";r=o+":"+s;u="";u=isAddEH?GetTextByKey("P_MV_UPDATEENGINEHOURS","Do you want to update the engine hours to reflect: {0} hours at {1} {2}?").replace("{0}",n.EngineHours).replace("{1}",r).replace("{2}",e):GetTextByKey("P_MV_UPDATEENGINEHOURS1","If you proceed, engine hours will be updated to reflect: {0} hours at {1} <br/> {2}. <br/><br/>Note that this asset is telematic enabled and the primary data source is {3}.<br/><br/> Would you like to proceed?").replace("{0}",n.EngineHours).replace("{1}",r).replace("{2}",e).replace("{3}",assetdataEH.EngineHours.DataSourceName);showConfirm1(u,t,function(){$("#addenginehoursmask").hide();isAddEH?AddManuallyInputEngineHours(n,t):CheckEngineHourMinimumTime(n,t)},function(){$("#addenginehoursmask").hide()})}function AddManuallyInputEngineHours(n,t){var i=JSON.stringify(n);i=htmlencode(i);devicerequest("AddManuallyInputEngineHours",i,function(n){n!=="OK"?_dialog.showAlert(n,t):_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSUPDATESUCCESSFUL","Engine Hours Update Successful."),t);$("#dialog_addenginehours").hideDialog();$("#addenginehoursmask").hide()},function(n){console.log(n);_dialog.showAlert(GetTextByKey("P_MV_FAILEDTOADDENGINEHOURS","Failed to add Engine Hours."),t);$("#addenginehoursmask").hide()})}function CheckEngineHourMinimumTime(n,t){var i=JSON.stringify(n);i=htmlencode(i);devicerequest("CheckEngineHourMinimumTime",i,function(i){if(i>0){i==1?_dialog.showAlert(GetTextByKey("P_MV_CHECKENGINEHOURSMINNIMUMTIME","The adjustment cannot be completed as provided. The engine hours reading date provided cannot be prior to initial telematic data available for the asset."),t):_dialog.showAlert(GetTextByKey("P_MV_CHECKENGINEHOURSMINNIMUMTIME1","The adjustment cannot be completed as provided. The engine hours reading date provided must be prior to or equal to the latest telematic data available for the asset."),t);$("#addenginehoursmask").hide();return}SaveAdjustEngineHours(n,t)},function(){})}function SaveAdjustEngineHours(n,t){var i=JSON.stringify(n);i=htmlencode(i);devicerequest("SaveAdjustEngineHours",i,function(n){n!=="OK"?_dialog.showAlert(n,t):_dialog.showAlert(GetTextByKey("P_MV_ENGINEHOURSUPDATESUCCESSFUL","Engine Hours Update Successful."),t);$("#dialog_addenginehours").hideDialog();$("#addenginehoursmask").hide()},function(n){consLine truncated
+20 -38
View File
@@ -32,8 +32,7 @@ function showSearchList(grid_dt, data) {
}
r.Text = false;
r.Email = false;
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
grid_dt.setData(rows);
@@ -44,24 +43,17 @@ function openSavedSearches() {
showmaskbg(true);
$('#dialog_savedsearches .dialog-title span.title').text(GetTextByKey("P_MV_SAVEDSEARCHES", 'Saved Searches'));
$('#dialog_savedsearches')
.attr('act', 'edit')
.css({
'width': 450,
'top': (document.documentElement.clientHeight - $('#dialog_savedsearches').height()) / 4,
'left': (document.documentElement.clientWidth - $('#dialog_savedsearches').width()) / 2
})
.showDialogfixed();
}).showDialogfixed();
showGridList(savedsearches_dt)
}
var savedsearches_dt;
function InitSavedSearchGrid() {
savedsearches_dt = new GridView('#savedsearchlist');
savedsearches_dt.lang = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
};
savedsearches_dt = createGridView('#savedsearchlist');
var list_columns = [
{ name: 'Name', caption: GetTextByKey("P_MV_SEARCHNAME", "Search Name"), valueIndex: 'Name', css: { 'width': 250, 'text-align': 'left' } },
{ name: 'IsDefault', caption: GetTextByKey("P_MV_DEFAULT", "Default"), valueIndex: 'IsDefaultText', css: { 'width': 70, 'text-align': 'left' } },
@@ -82,49 +74,50 @@ function InitSavedSearchGrid() {
if (list_columns[hd].type) {
col.type = list_columns[hd].type;
}
if (col.name === "Apply") {
col.isurl = true;
col.text = "\uf1da";
col.sortable = false;
col.resizable = false;
col.type = GridView.ColumnTypes.Icon;
col.text = 'history';
col.iconType = 'fa-light';
col.events = {
onclick: function () {
onLoadSavedSearches(this);
}
};
col.classFilter = function (e) {
return "icon-col";
}
col.attrs = { 'title': GetTextByKey("P_MV_APPLY", 'Apply') };
}
else if (col.name === "Delete") {
col.isurl = true;
col.text = "\uf00d";
col.sortable = false;
col.resizable = false;
col.type = GridView.ColumnTypes.Icon;
col.text = 'times';
col.iconType = 'fa-light';
col.events = {
onclick: function () {
OnDeleteSavedSearches(this);
}
};
col.classFilter = function (e) {
return "icon-col";
};
col.attrs = { 'title': GetTextByKey("P_MV_DELETE", 'Delete') };
}
columns.push(col);
}
savedsearches_dt.canMultiSelect = false;
savedsearches_dt.multiSelect = false;
savedsearches_dt.columns = columns;
savedsearches_dt.init();
savedsearches_dt.selectedrowchanged = function (rowindex) {
savedsearches_dt.onSelectedRowChanged = function (rowindex) {
var rowdata = savedsearches_dt.source[rowindex];
if (rowdata) {
$('#savedsearch_searchname').val(rowdata.Values.Name);
$('#savedsearch_searchname').val(rowdata.Name);
}
};
savedsearches_dt.rowdblclick = function (rowindex) {
savedsearches_dt.onRowDblClicked = function (rowindex) {
var rowdata = savedsearches_dt.source[rowindex];
if (rowdata) {
onLoadSavedSearches(rowdata.Values);
onLoadSavedSearches(rowdata);
}
};
}
@@ -210,12 +203,7 @@ function openSaveSearch() {
var savesearch_dt;
function InitSaveSearchGrid() {
savesearch_dt = new GridView('#savesearchlist');
savesearch_dt.lang = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
};
savesearch_dt = createGridView('#savesearchlist');
var list_columns = [
{ name: 'Name', caption: GetTextByKey("P_MV_SEARCHNAME", "Search Name"), valueIndex: 'Name', css: { 'width': 250, 'text-align': 'left' } },
{ name: 'IsDefault', caption: GetTextByKey("P_MV_DEFAULT", "Default"), valueIndex: 'IsDefaultText', css: { 'width': 70, 'text-align': 'left' } }
@@ -239,12 +227,6 @@ function InitSaveSearchGrid() {
savesearch_dt.canMultiSelect = false;
savesearch_dt.columns = columns;
savesearch_dt.init();
savesearch_dt.selectedrowchanged = function (rowindex) {
var rowdata = savesearch_dt.source[rowindex];
if (rowdata) {
}
}
}
function onSaveSearch() {
+4 -3
View File
@@ -8,7 +8,8 @@ function initshape() {
shapevm = new Vue({
el: '#shapeList',
data: {
shapes: []
shapes: [],
DeleteTitle: GetTextByKey("P_MV_DELETE", "Delete")
},
methods: {
reload: function (data) {
@@ -111,7 +112,7 @@ function deleteShapeClick(e) {
return;
}
var item = {
'Key': e.data.CompanyID,
'Key': e.data.CompanyID || "",
'Value': e.data.ID
};
showmaskbg(true);
@@ -207,7 +208,7 @@ function SaveImportShapeFile() {
function getShapeFileData(s, needLocate) {
var item = {
'Key': s.CompanyID,
'Key': s.CompanyID||"",
'Value': s.ID,
'Tag1': s.FileName
};
+2 -2
View File
@@ -33,11 +33,11 @@
var t = TransitionTime(allTime);
$('.BarFinishTime').html(t.StringTime);
$('#btnPlay').click(function () {
$('#btnPlay').on('click', function () {
if ($.playBar.onPlayClick)
$.playBar.onPlayClick(false);
}).attr("title", GetTextByKey("P_MV_PLAYBACK", "Playback"));
$('#btnPlayEnd').click(function () {
$('#btnPlayEnd').on('click', function () {
if ($.playBar.onPlayClick)
$.playBar.onPlayClick(true);
}).attr("title", GetTextByKey("P_MV_QUICKLOADSKIPTOEND", "Quick Load/Skip to End"));
+1
View File
@@ -0,0 +1 @@
function htmlencode(n,t){return t?t.text(n).html():$("<span><\/span>").text(n).html()}function htmldecode(n,t){return t?t.html(n).text():$("<span><\/span>").html(n).text()}function replaceHtmlText(n){var t;return n?(n.indexOf("&")>-1&&(t=new RegExp("&","g"),n=n.replace(t,"&amp;")),n.indexOf("<")>-1&&(t=new RegExp("<","g"),n=n.replace(t,"&lt;")),n.indexOf(">")>-1&&(t=new RegExp(">","g"),n=n.replace(t,"&gt;")),n.indexOf("\r\n")>-1&&(t=new RegExp("\r\n","g"),n=n.replace(t,"<br/>")),n.indexOf("\n")>-1&&(t=new RegExp("\n","g"),n=n.replace(t,"<br/>")),n.indexOf(" ")>-1&&(t=new RegExp(" ","g"),n=n.replace(t," &nbsp;")),n):""}function getStrength(n){var e,t;if(typeof n!="string"||n.length<8)return 0;var i=0,r=0,u=0,f=0;for(e=0;e<n.length;e++)t=n[e],t>="A"&&t<="Z"?r++:t>="a"&&t<="z"?i++:t>="0"&&t<="9"?u++:f++;return i==n.length||r==n.length||u==n.length||f==n.length?0:i+r==n.length||i+u==n.length||i+f==n.length||r+u==n.length||r+f==n.length||u+f==n.length||r==0||i==0||u==0?1:2}function isEmail(n){return/^\w[-\w.+]*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(n)}function checkPhoneNumber(n){return/^[1-9]\d{9,}$/.test(n)?!0:/^\+?[1-9][\d-]{9,}\d$/.test(n)&&/^[1-9]\d{9,}$/.test(n.replace("+","").replace(new RegExp("-","g"),""))?!0:!1}function convertDateFormat(n){const t=new Date(n),i=t.getMonth()+1,r=t.getDate(),u=t.getFullYear();return`${u}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}`}function getInnerOffset(n){return{left:n[0].offsetLeft,top:n[0].offsetTop}}function writelog_ironintel(n,t,i,r){var u=String.fromCharCode(170),e=n+u+t+u+i+u+r,o={MethodID:3,ClientData:e},f=new XMLHttpRequest;f.open("POST",_network.root+"commonsvc.ashx",!0);f.send(JSON.stringify(o))}function writeexlog(n,t){var i,r="";t&&(i=t.message,r=t.stack);writelog_ironintel("Error",n,i,r)}function setTableSort(n,t){var i=$("#"+n);i.find("th").each(function(){var n=$(this),r=n.attr("sort"),u,f;r&&(u=$("<span class='sorticon sorticonasc'><\/span>"),n.append(u),f=$("<span class='sorticon sorticondesc'><\/span>"),n.append(f),n.click(function(){n.data("sort")=="asc"?(n.data("sort","desc"),i.find(".sorticon").hide(),f.show(),i.data("sortPath",r).data("desc",!0),t&&t(r,!0)):(n.data("sort","asc"),i.find(".sorticon").hide(),u.show(),i.data("sortPath",r).data("desc",!1),t&&t(r,!1))}))})}function sortTableData(n,t){var i=n.data("sortPath"),r=n.data("desc");i&&t.sort(dataSort(i,r))}function sortTableSubData(n,t){var i=n.data("sortPath"),r=n.data("desc");i&&t.sort(subDataSort(i,r))}function dataSort(n,t){return function(i,r){var u=i[n],f=r[n];return u==f?0:u==null?t?1:-1:f==null?t?-1:1:(typeof u=="string"&&(u=u.toLowerCase(),f=f.toLowerCase()),u<f?t?1:-1:t?-1:1)}}function subDataSort(n,t){return function(i,r){for(var e=n.split("."),u=i[e[0]],f=r[e[0]],o=1;o<e.length;o++)u=u[e[o]],f=f[e[o]];return u==f?0:u==null?t?1:-1:f==null?t?-1:1:(typeof u=="string"&&(u=u.toLowerCase(),f=f.toLowerCase()),u<f?t?1:-1:t?-1:1)}}function resetSort(n){n?n.find(".sorticon").hide():$(".sorticon").hide()}function execIframeFunc(n,t,i){if(document.getElementById(i)){var r=document.getElementById(i).contentWindow[n];return r?t==null?r():r.apply(this,t):null}}function formatNumber(n){var t,i,r;return isNaN(n)?n:(t=0,i=n.toString().split("."),i.length===2&&(t=i[1].length),r=n.toFixed(t)+(t>0?"":".00"),r.replace(/(\d)(?=(\d{3})+\.)/g,"$1,"))}function isMobile(){for(var t=["Android","iPhone","SymbianOS","Windows Phone","iPad","iPod"],i=navigator.userAgent,n=0;n<t.length;n++)if(i.indexOf(t[n])>0)return!0;return!1}function getAddressLabel(n){var i,t;return(n.Address||"").length>0?(t=[],t.push(n.Address),n.City==n.Region?t.push(n.City):t.push(n.City,n.Region),(n.Postal||"").length>0&&t.push(n.Postal),i=t.join(", ")):i=n.Match_addr,i}function Guid(){"use strict";this.date=new Date;typeof this.create!="function"&&(Guid.prototype.create=function(){var t;this.date=new Date;var n="",i=this.hexadecimal(this.getGUIDDate(),16),r=this.hexadecimal(this.getGUIDTime(),16);for(t=0;t<9;t++)n+=Math.floor(Math.random()*16).toString(16);for(n+=i,n+=r;n.length<32;)n+=Math.floor(Math.random()*16).toString(16);return this.formatGUID(n)},Guid.prototype.getGUIDDate=function(){return this.date.getFullYear()+this.addZero(this.date.getMonth()+1)+this.addZero(this.date.getDay())},Guid.prototype.getGUIDTime=function(){return this.addZero(this.date.getHours())+this.addZero(this.date.getMinutes())+this.addZero(this.date.getSeconds())+this.addZero(parseInt(this.date.getMilliseconds()/10))},Guid.prototype.addZero=function(n){return!isNaN(Number(n))&&n>=0&&n<10?"0"+Math.floor(n):n.toString()},Guid.prototype.hexadecimal=function(n,t,i){return i!=undefined?parseInt(n.toString(),i).toString(t):parseInt(n.toString()).toString(t)},Guid.prototype.formatGUID=function(n){var t=n.slice(0,8)+"-",i=n.slice(8,12)+"-",r=n.slice(12,16)+"-",u=n.slice(16,20)+"-",f=n.slice(20);return t+i+r+u+f})}function converthtmlurl(n){return n==null?"":n.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g,"&nbsp;").replace(/(https?|ftLine truncated
+8
View File
@@ -205,6 +205,14 @@
else {
msg.Message = htmlencode(msg.Message);
}
if (msg.Message.indexOf("\r\n") > -1) {
var reg = new RegExp("\r\n", "g");
msg.Message = msg.Message.replace(reg, "<br/>");
}
if (msg.Message.indexOf("\n") > -1) {
var reg = new RegExp("\n", "g");
msg.Message = msg.Message.replace(reg, "<br/>");
}
}
vusermsg.reload(data);
}
+678 -44
View File
@@ -15,7 +15,7 @@ if (typeof _fleet !== 'object') {
return 'zh-TW';
case 'pt-br':
return 'pt-BR';
case 'pt-pt':
case 'pt':
return 'pt-PT';
default:
return lang.split('-')[0];
@@ -96,6 +96,58 @@ if (typeof _network !== 'object') {
_network.mainpagequery = function (method, param, callback, error, nolog) {
_network.request("IronIntelMain.aspx?tp=ashx", -1, method, param, callback, error, nolog);
}
_network.apiget = function (url, custid, data, callback, error, nolog) {
$.ajax({
url: url,
headers: { 'CustId': custid },
type: 'GET',
dataType: 'text',
//contentType: 'text/plain',
cache: false,
data: data,
async: true,
xhrFields: {
withCredentials: true
},
success: callback,
error: function (request, textStatus, errorThrown) {
if (error)
error(request, textStatus, errorThrown);
if (!nolog) {
if (request && request.readyState == 0)
console.log(request);
else
writelog_ironintel("_network.apiget", url + "." + JSON.stringify(data), JSON.stringify(request), textStatus + errorThrown);
}
}
});
}
_network.apipost = function (url, custid, data, callback, error, nolog) {
$.ajax({
url: url,
headers: { 'CustId': custid },
type: 'POST',
dataType: 'text',
contentType: 'text/plain',
cache: false,
data: typeof data === 'string' ? data : JSON.stringify(data),
async: true,
xhrFields: {
withCredentials: true
},
success: callback,
error: function (request, textStatus, errorThrown) {
if (error)
error(request, textStatus, errorThrown);
if (!nolog) {
if (request && request.readyState == 0)
console.log(request);
else
writelog_ironintel("_network.apiget", url + "." + JSON.stringify(data), JSON.stringify(request), textStatus + errorThrown);
}
}
});
}
function getFilterHandlerURL() {
if (typeof sitePath !== 'string')
@@ -223,7 +275,7 @@ if (typeof $websocket !== 'function') {
function dragTitle(ev) {
if (ev.target && ev.target.nodeName === 'EM')
return false;
return;
var dialog = ev.data;
@@ -258,7 +310,7 @@ if (typeof $websocket !== 'function') {
e.cancelBubble = true;
};
return false;
return;
}
$.fn.dialog = function (closefunc, removable) {
@@ -457,9 +509,17 @@ if (typeof $websocket !== 'function') {
this.hide();
};
function clearDropdowns() {
function clearDropdowns(flag) {
var dropdownpanel = $('.dropdown-wrapper .dropdown-panel.active');
dropdownpanel.removeClass('active');
if (flag) {
$('.dropdown-panel-sep.active').removeClass('active');
//var activeSeps = $('.dropdown-panel-sep.active');
//if (activeSeps.length > 0) {
// activeSeps.removeClass('active');
// //setTimeout(function () { activeSeps.remove(); }, 1000);
//}
}
var dd = dropdownpanel.parent().data('dropdown');
if (dd && dd.multiselect && dd.oncollapsed)
dd.oncollapsed();
@@ -467,7 +527,7 @@ if (typeof $websocket !== 'function') {
$(function () {
$(document)
.on('mousedown.dropdown', clearDropdowns)
.on('mousedown.dropdown', '.dropdown-wrapper .dropdown-panel', function (e) { e.stopPropagation() });
.on('mousedown.dropdown', '.dropdown-wrapper .dropdown-panel, .dropdown-panel-sep', function (e) { e.stopPropagation() });
});
var Dropdown = function () { };
@@ -477,7 +537,7 @@ if (typeof $websocket !== 'function') {
var list;
var checkbox = li.children('input');
if (checkbox.attr('isall') == '1') {
li.parent().find('input').prop('checked', this.__isallchecked = checkbox.prop('checked'));
li.parent().find('input:enabled').prop('checked', this.__isallchecked = checkbox.prop('checked'));
list = [];
} else {
if (checkbox.prop('checked')) {
@@ -522,11 +582,14 @@ if (typeof $websocket !== 'function') {
var scrolled = null;
var valueKey = this.valueKey;
var textKey = this.textKey;
var enableKey = this.enableKey;
var htmlKey = this.htmlKey;
var multiselect = this.multiselect;
var allowselectall = this.allowselectall !== false;
var search = this.search;
var This = this;
var allchecked = this.__isallchecked;
if (multiselect) { // && source == this.source
if (multiselect && allowselectall) { // && source == this.source
var liall = $('<li></li>');
list.append(liall.append(
$('<input type="checkbox" isall="1"></input>').prop('checked', allchecked).on('change', function () { triggerMultiSelect.call(This, liall) }),
@@ -534,7 +597,7 @@ if (typeof $websocket !== 'function') {
));
}
for (var i = 0; i < source.length; i++) {
if (i >= 200) break;
if (search && i >= 200) break;
var item = source[i];
var li = $('<li></li>').data('item', item).attr({
'value': item[valueKey],
@@ -549,8 +612,17 @@ if (typeof $websocket !== 'function') {
lbl = $('<label></label>').text(item[textKey]);
}
var chkbox = $('<input type="checkbox" class="dataitem"></input>');
if (allchecked || selectedlist.filter(function (s) { return s[valueKey] === item[valueKey] }).length > 0) {
if (item.__selected)
chkbox.prop('checked', true);
if (item.sublevel > 0)
chkbox.css("margin-left", "" + (20 * item.sublevel) + "px");
if (allchecked || selectedlist.filter(function (s) { return s[valueKey] === item[valueKey] }).length > 0) {
if (!enableKey || item[enableKey] !== false)
chkbox.prop('checked', true);
}
if (enableKey) {
var enable = item[enableKey];
chkbox.prop('disabled', enable === false);
}
!function (l) {
chkbox.on('change', function () {
@@ -585,14 +657,18 @@ if (typeof $websocket !== 'function') {
options = {};
}
this.multiselect = options.multiselect;
this.allowselectall = options.allowselectall;
this.search = options.search;
this.parent = options.parent;
this.textKey = options.textKey || 'text';
this.valueKey = options.valueKey || 'value';
this.enableKey = options.enableKey;
this.htmlKey = options.htmlKey || 'html';
this.searchKeys = options.searchKeys;
this.disabled = options.disabled || false;
this.maxlength = options.maxlength || 500;
this.miniWidth = options.miniWidth || false;
this.holder = options.holder;
this.searchPlaceholder = options.searchPlaceholder || (GetTextByKey('P_WO_SEARCH', 'Search') + '...');
var container = $('<div class="dropdown-wrapper"></div>');
container.data('dropdown', this);
@@ -703,7 +779,7 @@ if (typeof $websocket !== 'function') {
}
var valueKey = this.valueKey;
var textKey = this.textKey;
var itemlist = this.source.filter(function (i) { return selectedlist.indexOf(i[valueKey]) >= 0 });
var itemlist = this.source.filter(function (i) { i.__selected = selectedlist.indexOf(i[valueKey]) >= 0; return selectedlist.indexOf(i[valueKey]) >= 0 });
if (itemlist.length == 0) {
this.label.removeData('selectedlist').html('&nbsp;');
return false;
@@ -733,6 +809,7 @@ if (typeof $websocket !== 'function') {
var This = this;
var textKey = this.textKey;
var valueKey = this.valueKey;
var enableKey = this.enableKey;
var searchKeys = this.searchKeys;
if (!searchKeys || searchKeys.length == 0) searchKeys = [textKey];
if (this.dropdownContainer == null) {
@@ -757,7 +834,7 @@ if (typeof $websocket !== 'function') {
source = source.filter(function (i) {
for (var k = 0; k < searchKeys.length; k++) {
var text = i[searchKeys[k]].toLowerCase();
if (text.indexOf(key) >= 0) return true;
if (i.__selected || text.indexOf(key) >= 0) return true;
}
return false;
});
@@ -771,18 +848,28 @@ if (typeof $websocket !== 'function') {
var list = $('<ul class="dropdown-list"></ul>');
if (this.multiselect) {
list.on('mouseup', function (e) {
var li = $(e.target);
if (li.is('input[type="checkbox"]')) {
var t = $(e.target);
var li = t;
if (t.is('input[type="checkbox"]') || t.is('label'))
li = t.parent();
var item = li.data('item');
if (t.is('input[type="checkbox"]')) {
if (item)
item.__selected = !t.prop('checked');
return;
}
if (li.is('label')) {
li = li.parent();
if (item && enableKey && item[enableKey] === false) {
return;
}
if (li.is('li')) {
e.preventDefault();
var checkbox = li.children('input[type="checkbox"]');
var checked = !checkbox.prop('checked');
checkbox.prop('checked', checked);
if (checkbox.attr("isall") !== "1")
item.__selected = checked;
triggerMultiSelect.call(This, li);
}
});
@@ -791,7 +878,7 @@ if (typeof $websocket !== 'function') {
var li = $(e.target);
if (li.is('li')) {
var item = li.data('item');
clearDropdowns();
clearDropdowns(true);
if (item[textKey] == null || String(item[textKey]).trim() == '') {
This.label.data('selected', item).val(item[valueKey]).html('&nbsp;');
} else {
@@ -808,7 +895,12 @@ if (typeof $websocket !== 'function') {
}
panel.append(list);
this.dropdownContainer = panel;
this.container.append(panel);
if (this.holder instanceof $) {
panel.addClass('dropdown-panel-sep');
this.holder.append(panel);
} else {
this.container.append(panel);
}
}
var source = this.source;
if (typeof this.sourceFilter === 'function') {
@@ -834,6 +926,15 @@ if (typeof $websocket !== 'function') {
this.dropdownContainer.css('margin-top', '').removeClass('slide-up');
}
this.dropdownContainer.css('min-width', this.container.width() + 2);
if (this.miniWidth) {
this.dropdownContainer.css('width', this.container.width() + 2);
}
if (this.holder != null) {
this.dropdownContainer.offset({
'top': offset.top + 28,
'left': offset.left
});
}
this.dropdownContainer.addClass('active');
var panel = this.dropdownContainer;
setTimeout(function () { panel.children('.dropdown-search').children('input[type="text"]').focus().val("") }, 120);
@@ -863,11 +964,20 @@ if (typeof $websocket !== 'function') {
return this;
};
$.fn.dropdownDisabled = function (flag) {
this.data('dropdown').setDisabled(flag);
var dropdown = this.data('dropdown');
if (!dropdown) return;
dropdown.setDisabled(flag);
return this;
};
$.fn.dropdownItem = function () {
var dropdown = this.data('dropdown');
if (!dropdown) return;
var item = dropdown.selected;
return item;
};
$.fn.dropdownVal = function (value) {
var dropdown = this.data('dropdown');
if (!dropdown) return;
if (value === void 0) {
var item = dropdown.selected;
return item && item[dropdown.valueKey];
@@ -881,6 +991,7 @@ if (typeof $websocket !== 'function') {
};
$.fn.dropdownVals = function (list) {
var dropdown = this.data('dropdown');
if (!dropdown) return;
if (list === void 0) {
if (dropdown == null) {
return [];
@@ -888,14 +999,44 @@ if (typeof $websocket !== 'function') {
var list = dropdown.selectedlist;
return list.map(function (it) { return it[dropdown.valueKey] });
}
dropdown.__isallchecked = false;
dropdown.selectlist(list);
return this;
};
$.fn.dropdownTexts = function () {
var dropdown = this.data('dropdown');
if (dropdown == null) {
return [];
}
var list = dropdown.selectedlist;
return list.map(function (it) { return it[dropdown.textKey] });
};
$.fn.dropdownSource = function (source) {
this.data('dropdown').setSource(source);
var dropdown = this.data('dropdown');
if (!dropdown) return;
dropdown.setSource(source);
return this;
};
$.fn.allselected = function (checked) {
var dropdown = this.data('dropdown');
if (!dropdown) return;
if (checked === void 0) {
return dropdown.__isallchecked;
}
dropdown.__isallchecked = checked;
dropdown.label.text(GetTextByKey('P_GRID_ALL', '(All)'));
//this.find('input[isall="1"]').prop('checked', checked).change();
return this;
};
$.fn.allowselectall = function (checked) {
var dropdown = this.data('dropdown');
if (!dropdown) return;
if (checked === void 0) {
return dropdown.allowselectall;
}
dropdown.allowselectall = checked;
return this;
};
})();
if (typeof _dialog !== 'object') {
@@ -1148,6 +1289,16 @@ function checkPhoneNumber(num) {
return false;
}
function convertDateFormat(dateString) {
const date = new Date(dateString);
const month = date.getMonth() + 1; //月份是从0开始的
const day = date.getDate();
const year = date.getFullYear();
// 使用两位数表示月份和日期
return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
}
function getInnerOffset(ele) {
// _this.chartDiv.offset().left - (_this.container ? _this.getContainer().offset().left : 0) + _this.getContainer().scrollLeft();
//var offset = ele.offset();
@@ -1447,6 +1598,22 @@ $.isGuid = function (v) {
return /^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$/.test(v);
}
$.generateUUID = function () {
var d = new Date().getTime();
var d2 = ((typeof performance !== 'undefined') && performance.now && (performance.now() * 1000)) || 0;
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16;
if (d > 0) {
r = (d + r) % 16 | 0;
d = Math.floor(d / 16);
} else {
r = (d2 + r) % 16 | 0;
d2 = Math.floor(d2 / 16);
}
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
};
function converthtmlurl(msg) {
if (msg == null) {
@@ -1456,9 +1623,9 @@ function converthtmlurl(msg) {
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/ /g, '&nbsp;')
.replace(/(https?|ftp):\/\/[\w-_]+(\.[\w-_]+)+\/?[^\s\r\n"'$]*/g, '<a href="$&" target="_blank">$&</a>')
.replace(/\r\n/g, '<br/>')
.replace(/\n/g, '<br/>')
.replace(/(https?|ftp):\/\/[\w-_]+(\.[\w-_]+)+\/?[^\s\r\n"'\*$]*/g, '<a href="$&" target="_blank">$&</a>');
.replace(/\n/g, '<br/>');
//const p = /(http|ftp|https):\/\/.+?(\s|\r\n|\r|\n|\"|\'|\*|$)/g;
//var r = msg.match(p);
@@ -1497,14 +1664,14 @@ function formatUrl(msg) {
//const urlReg = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/ig;
//const urlArrray = str.match(urlReg);
const p = /(http|ftp|https):\/\/.+?(\s|\r\n|\r|\n|\"|\'|\*|$)/g;
const p = /(http|ftp|https):\/\/.+?(\<|\s|\r\n|\r|\n|\"|\'|$)/g;
var r = msg.match(p);
msg = htmlencode(msg);
var rs = [];
if (r && r.length > 0) {
for (var i = 0; i < r.length; i++) {
var t = r[i].replace("\"", "").replace("\'", "").replace("\r\n", "").replace("\r", "").replace("\n", "").replace(" ", "");
var t = r[i].replace("\"", "").replace("\'", "").replace("\r\n", "").replace("\r", "").replace("\n", "").replace(" ", "").replace("<", "");
if (rs.indexOf(t) < 0)
rs.push(htmlencode(t));
}
@@ -1632,31 +1799,498 @@ function showConfirm(msg, title, fok, fcancel) {
}
}
function showConfirmYesNoCancel(msg, title, fok, fcancel, fclose) {
if (window.parent && typeof window.parent.showconfirm == 'function') {
window.parent.showConfirmYesNoCancel(msg, title, fok, fcancel, fclose);
} else {
showmaskbg(true);
_dialog.showConfirmYesNoCancel(msg, title, function (e) {
showmaskbg(false);
if (typeof fok === 'function') {
fok(e);
}
}, function () {
if (fcancel)
fcancel();
showmaskbg(false);
}, function () {
if (fclose)
fclose();
showmaskbg(false);
});
}
showmaskbg(true);
_dialog.showConfirmYesNoCancel(msg, title, function (e) {
showmaskbg(false);
if (typeof fok === 'function') {
fok(e);
}
}, function () {
if (fcancel)
fcancel();
showmaskbg(false);
}, function () {
if (fclose)
fclose();
showmaskbg(false);
});
}
function showConfirmOKCancel(msg, title, fok, fcancel, fclose) {
showmaskbg(true);
_dialog.showConfirmOKCancel(msg, title, function (e) {
showmaskbg(false);
if (typeof fok === 'function') {
fok(e);
}
}, function () {
if (fcancel)
fcancel();
showmaskbg(false);
}, function () {
if (fclose)
fclose();
showmaskbg(false);
});
}
function showAlert(msg, title, icon, next) {
if (window.parent && typeof window.parent.showalert == 'function') {
window.parent.showalert(msg, title, icon, next);
} else {
if (msg && msg.hasOwnProperty('LGID')) {
if (!msg.LGID.startWith('LHBIS_') && !msg.LGID.startWith('FI_HOST_')) {
msg.LGID = 'LHBIS_FIC_CLIENT_MODULES_' + msg.LGID;
}
msg = GetLanguageByKey(msg.LGID, msg.Default);
} else if (title === true) {
msg = msg.escapeHtml().replace(/\n/g, '<br/>');
title = undefined;
}
_dialog.showAlert(msg, title, icon, next);
}
}
}
function createGridView(parent, fulllang) {
var grid = new GridView(parent);
grid.langs = getGridLanguages(fulllang);
return grid;
}
function createGridView1(parent, fulllang) {
var grid = new GridView1(parent);
grid.langs = getGridLanguages(fulllang);
return grid;
}
function getGridLanguages(full) {
if (full) {
return {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset"),
null: GetTextByKey("P_GRID_NULL", "(Null)"),
// 内置多列排序面板中的资源
sort: GetTextByKey("P_GRID_SORT", "Sort"),
addLevel: GetTextByKey("P_GRID_ADDLEVEL", "Add Level"),
deleteLevel: GetTextByKey("P_GRID_DELETELEVEL", "Delete Level"),
copyLevel: GetTextByKey("P_GRID_COPYLEVEL", "Copy Level"),
column: GetTextByKey("P_GRID_COLUMN", "Column"),
order: GetTextByKey("P_GRID_ORDER", "Order"),
asc: GetTextByKey("P_GRID_ASC", "Ascending"),
desc: GetTextByKey("P_GRID_DESC", "Descending"),
cancel: GetTextByKey("P_GRID_CANCEL", "Cancel"),
duplicatePrompt: GetTextByKey("P_GRID_DUPLICATEPROMPT", "{column} is being sorted more than once. Delete the duplicate sort criteria and try again."),
requirePrompt: GetTextByKey("P_GRID_REQUIREPROMPT", "All sort criteria must have a column specified. Check the selected sort criteria and try again.")
};
}
return {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset"),
null: GetTextByKey("P_GRID_NULL", "(Null)")
};
}
function getdaytext(day) {
var text = day;
switch (day) {
case "Sunday":
text = GetTextByKey("P_CM_SUNDAY", "Sunday");
break;
case "Monday":
text = GetTextByKey("P_CM_MONDAY", "Monday");
break;
case "Tuesday":
text = GetTextByKey("P_CM_TUESDAY", "Tuesday");
break;
case "Wednesday":
text = GetTextByKey("P_CM_WEDNESDAY", "Wednesday");
break;
case "Thursday":
text = GetTextByKey("P_CM_THURSDAY", "Thursday");
break;
case "Friday":
text = GetTextByKey("P_CM_FRIDAY", "Friday");
break;
case "Saturday":
text = GetTextByKey("P_CM_SATURDAY", "Saturday");
break;
}
return text;
}
var libui = window['lib-ui'];
if (libui != null) {
var CheckboxColumn = Object.create(libui.GridCheckboxColumn, {
setValue: {
value: function (element, val) {
if (element.tagName !== 'LABEL') {
element.innerText = val;
} else {
Object.getPrototypeOf(this).setValue(element, val);
}
}
},
setEnabled: {
value: function (element, enabled) {
if (element.tagName === 'LABEL') {
Object.getPrototypeOf(this).setEnabled(element, enabled);
}
}
},
toString: {
value: function () { return 'Checkbox' }
}
});
var NoteColumn = Object.create(libui.GridColumn, {
canEdit: {
get: function () { return true }
},
create: {
value: function (col, index, grid) {
var flex = libui.createElement('div', 'cell-flex');
var iconedit = libui.createIcon('fa-light', 'pen');
iconedit.classList.add('cell-flex-icon');
iconedit.style.display = 'none';
flex.append(iconedit, libui.createElement('span', 'cell-flex-memo'));
if (!col.readonly) {
if (typeof col.onClicked === 'function') {
iconedit.addEventListener('click', function () {
var item = grid.source[grid.startIndex + index];
col.onClicked.call(col, item, flex);
});
}
}
return flex;
}
},
getElement: {
value: function (element) {
return element.children[1];
}
},
setValue: {
value: function (element, val) {
element.children[1].innerHTML = converthtmlurl(val || '');
}
},
//getValue: {
// value: function (e) {
// var label = e.target.querySelector('.cell-flex-memo');
// if (label != null) {
// return label.innerText;
// }
// return e.target.innerText;
// }
//},
setEditing: {
value: function (element, editing) {
var icon = element.children[0];
icon.style.display = editing && !icon.disabled ? '' : 'none';
}
},
setEnabled: {
value: function (element, enabled, editing) {
var icon = element.children[0];
icon.disabled = enabled === false;
icon.style.display = editing && enabled !== false ? '' : 'none';
}
},
toString: {
value: function () { return 'Note' }
}
});
var CommunicationColumn = Object.create(NoteColumn, {
create: {
value: function (col, index, grid) {
var flex = libui.createElement('div', 'cell-flex');
var span = libui.createElement('span', 'cell-flex-icon');
span.style.display = 'none';
span.title = GetTextByKey('P_WO_COMMUNICATIONACKNOWLEDGED', 'Communication Acknowledged');
var iconedit = libui.createIcon('fa-light', 'clipboard-check');
span.appendChild(iconedit);
flex.append(span, libui.createElement('span', 'cell-flex-memo'));
if (!col.readonly) {
if (typeof col.onClicked === 'function') {
iconedit.addEventListener('click', function () {
var item = grid.source[grid.startIndex + index];
col.onClicked.call(col, item, flex);
});
}
}
return flex;
}
},
setValue: {
value: function (element, val) {
element.children[1].innerHTML = window['lib-utility'].escapeEmoji(val || '');
}
},
toString: {
value: function () { return 'Communication' }
}
});
var ContactsColumn = Object.create(libui.GridColumn, {
create: {
value: function () {
return libui.createElement('span', 'span-contacts');
}
},
setValue: {
value: function (element, contacts) {
element.innerText = contacts.join('\n');
}
},
toString: {
value: function () { return 'Contacts' }
}
});
var ThumbnailUrlColumn = Object.create(libui.GridColumn, {
create: {
value: function () {
return libui.createElement('img', '');
}
},
setValue: {
value: function (element, val, vals, col) {
var filetype = vals.values.FileType;
var sdown = $(element);
if (imgTypes.indexOf(vals.values.FileType.toLowerCase()) >= 0) {
sdown.css('width', 30).css('height', 30).css('vertical-align', 'middle');
sdown.attr('src', vals.values.ThumbnailUrl);
}
else {
sdown.css('width', 30).css('height', 30).css('line-height', 40).css('vertical-align', 'middle');;
if ([".doc", ".docx"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/word.jpg')
} else if ([".xls", ".xlsx"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/excel.jpg')
} else if ([".ppt", ".pptx"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/ppt.jpg')
} else if ([".pdf", ".xps"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/pdf.jpg')
} else if ([".mp4", ".mov", ".avi", ".mkv", ".3gp", ".ts", ".m2ts"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/vedio.jpg')
} else if ([".zip", ".rar", ".7z"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/zip.jpg')
} else if ([".msg"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/msg.jpg')
} else if ([".xml"].indexOf(filetype) >= 0) {
sdown.attr('src', '../img/icon/xml.jpg')
} else {
sdown.attr('src', '../img/icon/txt.jpg')
}
}
}
},
toString: {
value: function () { return 'Thumbnail' }
}
});
var SchedulesColumn = Object.create(libui.GridColumn, {
createCaption: {
value: function () {
if (!assetsObj?.HasSchedule) {
return;
}
var container = $('<span></span>').css({ position: 'relative', height: 26, width: '100%', display: 'block' });
var left = 0;
for (var i = 0; i < assetsObj.Labels.length; i++) {
var label = assetsObj.Labels[i];
var sp = $('<span class="span-caption"></span>').text(label.Key).css({ left: left });
left += parseInt(label.Value) * 5;
container.append(sp);
}
//grid_dt.resize();
//var totalDays = (led.getTime() - fbd.getTime()) / (1000 * 60 * 60 * 24);
//var interval = parseInt(totalDays / labelCount);
//if (totalDays % labelCount != 0)
// interval += 1;
//var d = new Date(assetsObj.BeginDate);
//var w = col.width / labelCount;
//for (var i = 0; i < labelCount; i++) {
// var label = new DateFormatter().formatDate(d, 'm/d/Y');
// var sp = $('<span class="span-caption"></span>').text(label).css({ left: w * i });
// container.append(sp);
// d = new Date(d.getTime() + interval * 1000 * 60 * 60 * 24);
//}
return container[0];
}
},
create: {
value: function () {
var container = document.createElement('div');
container.style.cssText = 'position: relative; height: 20px';
return container;
}
},
setValue: {
value: function (element, _val, row, col) {
element.replaceChildren();
var item = row.values;
if (item.ScheduleParts && assetsObj?.HasSchedule) {
var labelCount = 4;
var totalDays = assetsObj.TotalDays;
var interval = parseInt(totalDays / labelCount);
if (totalDays % labelCount != 0) {
interval += 1;
}
totalDays = interval * labelCount;
var d = new Date(assetsObj.BeginDate);
for (var i = 0; i < item.ScheduleParts.length; i++) {
var sp = item.ScheduleParts[i];
var bdate = new Date(sp.BeginDate);
var edate = new Date(sp.EndDate);
var l = (bdate.getTime() - d.getTime()) / (1000 * 60 * 60 * 24) / totalDays * col.width;
var w = (edate.getTime() - bdate.getTime()) / (1000 * 60 * 60 * 24) / totalDays * col.width;
var color = "";
if (sp.Schedules.length == 1) {
color = sp.Schedules[0].Color;
} else {
for (var j = 0; j < sp.Schedules.length; j++) {
if (color !== "")
color += ","
color += sp.Schedules[j].Color;
}
}
var df = new DateFormatter();
var title = df.formatDate(bdate, 'm/d/Y') + " - " + df.formatDate(new Date((edate.getTime() - 1000 * 60 * 60 * 24)), 'm/d/Y') + "\n";
for (var j = 0; j < sp.Schedules.length; j++) {
var bd = new Date(sp.Schedules[j].BeginDate);
var ed = new Date(sp.Schedules[j].EndDate);
title += sp.Schedules[j].JobSiteName + ": " + df.formatDate(bd, 'm/d/Y') + " - " + df.formatDate(ed, 'm/d/Y');
if (sp.Schedules[j].PointOfContact)
title += "\n " + GetTextByKey("P_JS_CONTACT_COLON", "Contact: ") + " " + sp.Schedules[j].PointOfContact;
if (sp.Schedules[j].Creator)
title += "\n " + GetTextByKey("P_JS_CREATOR_COLON", "Creator: ") + " " + sp.Schedules[j].Creator;
if (j != sp.Schedules.length - 1)
title += "\n";
}
var bar = libui.createElement('span', 'span-bar');
bar.style.cssText = 'left: ' + l + 'px; width: ' + Math.max(1, w - 1) + 'px; border-left: 1px solid transparent';
if (sp.Schedules.length == 1) {
bar.style.backgroundColor = color;
} else {
//bar.css("background", "url(img/gridline.jpg) repeat 20px 20px");
//bar.css("background", "linear-gradient(45deg," + color + ")");
//bar.css("background-image", "repeating-linear-gradient(45deg,white, white 5px,#ff9900 5px,#ff9900 7px)");
//bar.css("background-image", "repeating-linear-gradient(135deg,blue 1px, transparent 0), repeating-linear-gradient(45deg, red 1px, transparent 0)");
//bar.css("background-size", "5px 5px");
//bar.css("background-image", "url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><g fill='orange' fill-opacity='1'><path fill-rule='evenodd' d='M0 0h4v4H0V0zm4 4h4v4H4V4z'/></g></svg>\")");
bar.style.backgroundImage = "url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><g fill-opacity='0.5'><path d='M0 0L8 8z M0 8L8 0z' style='fill:white;stroke:gray;stroke-width:1'/></g></svg>\")";
}
bar.title = title;
if (!IsReadOnly && typeof col.onScheduleClicked === 'function') {
bar.addEventListener('dblclick', (function (sp) { return col.onScheduleClicked.bind(col, item, sp) })(sp));
}
element.append(bar);
}
}
}
},
toString: {
value: function () { return 'Schedules' }
}
});
var DispatchSchedulesColumn = Object.create(SchedulesColumn, {
createCaption: {
value: function (col) {
if (!dispatchAssetsObj?.HasSchedule) {
return;
}
var labelCount = 4;
var totalDays = dispatchAssetsObj.TotalDays;
var interval = parseInt(totalDays / labelCount);
if (totalDays % labelCount != 0) {
interval += 1;
}
var container = $('<span></span>').css({ position: 'relative', height: 26, width: '100%', display: 'block' });
var d = new Date(dispatchAssetsObj.BeginDate);
var w = col.width / labelCount;
for (var i = 0; i < labelCount; i++) {
var label = new DateFormatter().formatDate(d, 'm/d/Y');
var sp = $('<span class="span-caption"></span>').text(label).css({ left: w * i });
container.append(sp);
d = new Date(d.getTime() + interval * 1000 * 60 * 60 * 24);
}
return container[0];
}
},
setValue: {
value: function (element, _val, row, col) {
element.replaceChildren();
var item = row.values;
if (item.ScheduleParts && dispatchAssetsObj?.HasSchedule) {
var labelCount = 4;
var totalDays = dispatchAssetsObj.TotalDays;
var interval = parseInt(totalDays / labelCount);
if (totalDays % labelCount != 0) {
interval += 1;
}
totalDays = interval * labelCount;
var d = new Date(dispatchAssetsObj.BeginDate);
for (var i = 0; i < item.ScheduleParts.length; i++) {
var sp = item.ScheduleParts[i];
var bdate = new Date(sp.BeginDate);
var edate = new Date(sp.EndDate);
var l = (bdate.getTime() - d.getTime()) / (1000 * 60 * 60 * 24) / totalDays * col.width;
if (l < i + 1) {
l = i + 1;
}
var w = (edate.getTime() - bdate.getTime()) / (1000 * 60 * 60 * 24) / totalDays * col.width;
if (w < 1) {
w = 1;
}
var color = "";
if (sp.Schedules.length == 1) {
color = sp.Schedules[0].Color;
} else {
for (var j = 0; j < sp.Schedules.length; j++) {
if (color !== "")
color += ","
color += sp.Schedules[j].Color;
}
}
var title = "";
var df = new DateFormatter();
for (var j = 0; j < sp.Schedules.length; j++) {
var bd = new Date(sp.Schedules[j].BeginDate);
var ed = new Date(sp.Schedules[j].EndDate);
title += sp.Schedules[j].JobSiteName + ": " + df.formatDate(bd, 'm/d/Y') + " - " + df.formatDate(ed, 'm/d/Y');
if (j != sp.Schedules.length - 1) {
title += "\n";
}
}
var bar = libui.createElement('span', 'span-bar');
bar.style.cssText = 'left: ' + l + 'px; width: ' + w + 'px';
if (sp.Schedules.length == 1) {
bar.style.backgroundColor = color;
} else {
bar.style.backgroundImage = "url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><g fill-opacity='0.5'><path d='M0 0L8 8z M0 8L8 0z' style='fill:white;stroke:gray;stroke-width:1'/></g></svg>\")";
}
bar.title = title;
element.append(bar);
}
}
}
},
toString: {
value: function () { return 'DispatchSchedules' }
}
});
}