@sd-angular/core 1.1.97 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.min.js +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.js +22 -0
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.min.js +1 -1
- package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.js +1 -1
- package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.min.js +1 -1
- package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +25 -1
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.js +1 -1
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.min.js +1 -1
- package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.js +1 -1
- package/bundles/sd-angular-core-input.umd.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.min.js +1 -1
- package/bundles/sd-angular-core-input.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.js +1 -1
- package/bundles/sd-angular-core-popover.umd.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.min.js +1 -1
- package/bundles/sd-angular-core-popover.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.js +7 -1
- package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.min.js +2 -2
- package/bundles/sd-angular-core-select-editor.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.js +1 -1
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.min.js +1 -1
- package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.js +2 -0
- package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.min.js +2 -2
- package/bundles/sd-angular-core-side-drawer.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js +3 -0
- package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.min.js +1 -1
- package/bundles/sd-angular-core-upload-file.umd.min.js.map +1 -1
- package/common/src/lib/typings/string.extension.d.ts +2 -0
- package/date-time/sd-angular-core-date-time.metadata.json +1 -1
- package/esm2015/autocomplete/src/lib/autocomplete.component.js +2 -2
- package/esm2015/common/src/lib/typings/string.extension.js +23 -1
- package/esm2015/date-time/src/lib/date-time.component.js +2 -2
- package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +26 -2
- package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
- package/esm2015/input/src/lib/input.component.js +2 -2
- package/esm2015/input-number/src/lib/input-number.component.js +2 -2
- package/esm2015/popover/src/lib/directives/popover-trigger.directive.js +2 -2
- package/esm2015/select/src/lib/select.component.js +2 -2
- package/esm2015/select-editor/src/lib/select-editor.component.js +9 -3
- package/esm2015/side-drawer/src/lib/side-drawer/side-drawer.component.js +3 -1
- package/esm2015/upload-file/src/lib/upload-file.component.js +4 -1
- package/fesm2015/sd-angular-core-autocomplete.js +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-common.js +22 -0
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-date-time.js +1 -1
- package/fesm2015/sd-angular-core-date-time.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +25 -1
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-input-number.js +1 -1
- package/fesm2015/sd-angular-core-input-number.js.map +1 -1
- package/fesm2015/sd-angular-core-input.js +1 -1
- package/fesm2015/sd-angular-core-input.js.map +1 -1
- package/fesm2015/sd-angular-core-popover.js +1 -1
- package/fesm2015/sd-angular-core-popover.js.map +1 -1
- package/fesm2015/sd-angular-core-select-editor.js +8 -2
- package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-select.js +1 -1
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/fesm2015/sd-angular-core-side-drawer.js +2 -0
- package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-file.js +3 -0
- package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.d.ts +3 -0
- package/grid-material/src/lib/models/grid-column.model.d.ts +5 -2
- package/input/sd-angular-core-input.metadata.json +1 -1
- package/input-number/sd-angular-core-input-number.metadata.json +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-1.1.97.tgz → sd-angular-core-1.2.0.tgz} +0 -0
- package/select/sd-angular-core-select.metadata.json +1 -1
- package/select-editor/sd-angular-core-select-editor.metadata.json +1 -1
- package/select-editor/src/lib/select-editor.component.d.ts +3 -0
- package/side-drawer/sd-angular-core-side-drawer.metadata.json +1 -1
- package/side-drawer/src/lib/side-drawer/side-drawer.component.d.ts +1 -0
- package/upload-file/sd-angular-core-upload-file.metadata.json +1 -1
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};Object.create;function a(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function s(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e}Object.create;function l(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function c(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}Array.prototype.search=function(e,t){var r=this;if(!(null==e?void 0:e.toString()))return r;if(Array.isArray(t)){var n=t.filter((function(e){return null!=e&&""!==e}));return n.length?r.filter((function(t){return null!=t&&n.some((function(r){return String.aliasIncludes(t[r],e)}))})):r.filter((function(t){return null!=t&&String.aliasIncludes(t,e)}))}return t?r.filter((function(r){return null!=r&&String.aliasIncludes(r[t],e)})):r.filter((function(t){return null!=t&&String.aliasIncludes(t,e)}))},Array.prototype.paging=function(e,t){void 0===t&&(t=0);return this.filter((function(r,n){return n>=t*e&&n<(t+1)*e}))},Array.prototype.toObject=function(e){return e?this.filter((function(e){return null!=e})).reduce((function(t,r){var n;return t[null===(n=r[e])||void 0===n?void 0:n.toString()]=r,t}),{}):this.filter((function(e){return null!=e})).reduce((function(e,t){return e[null==t?void 0:t.toString()]=t,e}),{})},Array.prototype.union=function(e){for(var t,r,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];var i=this,u=function(t,r,n){return null!=t&&n.findIndex((function(r){return e?r[e]===t[e]:r===t}))===r};if(!(null==n?void 0:n.length))return i.filter(u);try{for(var l=a(n),c=l.next();!c.done;c=l.next()){var f=c.value;Array.isArray(f)&&(i=s(i,f).filter(u))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(t)throw t.error}}return i},Array.prototype.asObservable=function(){return t.of(this)},Array.search=function(e,t,r){return Array.isArray(e)?e.search(t,r):[]},Array.union=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return[].union.apply([],s([e],t))},Array.toObject=function(e,t){return Array.isArray(e)?e.toObject(t):{}},Date.equal=function(e,t){return!Date.isDate(e)&&!Date.isDate(t)||!(!Date.isDate(e)||!Date.isDate(t))&&new Date(e).getTime()===new Date(t).getTime()},Date.parseFrom=function(e,t){if(!e)return null;if(!t)return null;e=e.toString();var r=t.indexOf("dd")>-1&&t.indexOf("MM")>-1&&t.indexOf("yyyy")>-1,n=t.indexOf("HH")>-1||t.indexOf("mm")>-1||t.indexOf("ss")>-1,o="";if(r){var i=e.substr(t.indexOf("dd"),"dd".length),a=e.substr(t.indexOf("MM"),"MM".length);if(!(+(s=e.substr(t.indexOf("yyyy"),"yyyy".length))>0&&+a>0&&+i>0))return null;o+=a+"/"+i+"/"+s}else{var u=new Date,s=u.getFullYear().toString();o+=(a=(u.getMonth()+1).toString().padStart(2,"0"))+"/"+(i=u.getDate().toString().padStart(2,"0"))+"/"+s}n&&(o+=" "+((t.indexOf("HH")>-1?e.substr(t.indexOf("HH"),"HH".length):"00")||"00")+":"+((t.indexOf("mm")>-1?e.substr(t.indexOf("mm"),"mm".length):"00")||"00")+":"+((t.indexOf("ss")>-1?e.substr(t.indexOf("ss"),"ss".length):"00")||"00"));return Date.isDate(o)?new Date(o):null},Date.isDate=function(e){if(!e)return!1;var t=new Date(e);return!isNaN(t.getTime())},Date.toFormat=function(e,t){return Date.isDate(e)?new Date(e).toFormat(t):""},Date.addMiliseconds=function(e,t){return Date.isDate(e)?new Date(e).addMiliseconds(t):null},Date.addHours=function(e,t){return Date.isDate(e)?new Date(e).addHours(t):null},Date.addDays=function(e,t){return Date.isDate(e)?new Date(e).addDays(t):null},Date.addMonths=function(e,t){return Date.isDate(e)?new Date(e).addMonths(t):null},Date.begin=function(e){return Date.isDate(e)?new Date(Date.toFormat(e,"MM/dd/yyyy")):null},Date.end=function(e){return Date.isDate(e)?new Date(e).addDays(1).begin().addMiliseconds(-1):null},Date.prototype.begin=function(){return new Date(this.toFormat("MM/dd/yyyy"))},Date.prototype.end=function(){return this.addDays(1).begin().addMiliseconds(-1)},Date.prototype.addMiliseconds=function(e){var t=this;return t.setMilliseconds(t.getMilliseconds()+e),t},Date.prototype.addHours=function(e){var t=this;return t.setHours(t.getHours()+e),t},Date.prototype.addDays=function(e){var t=this;return t.setDate(t.getDate()+e),t},Date.prototype.addMonths=function(e){var t=this;return t.setMonth(t.getMonth()+e),t},Date.prototype.toFormat=function(e){var t=this,r=e;return r=(r=(r=(r=(r=(r=r.replace("yyyy",t.getFullYear().toString())).replace("MM",(t.getMonth()+1).toString().padStart(2,"0"))).replace("dd",t.getDate().toString().padStart(2,"0"))).replace("HH",t.getHours().toString().padStart(2,"0"))).replace("mm",t.getMinutes().toString().padStart(2,"0"))).replace("ss",t.getSeconds().toString().padStart(2,"0"))},Number.toVNCurrency=function(e){if(!(e=(null!=e?e:"").toString().replace(/,/g,"")))return null;var t=+e;return Number.isNaN(t)?null:t.toLocaleString("vi-VN")},Number.isPositiveInteger=function(e){if(!e)return!1;return/^([0-9]*)$/.test(e)&&+e>0},Number.isPositiveNumber=function(e){if(!e)return!1;return/^([0-9]*)(\.[0-9]+$){0,1}$/.test(e)&&+e>0},Number.isNumber=function(e){return null!=e&&""!==e&&!Number.isNaN(+e)},String.isValidEmail=function(e){if(!e)return!1;return/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(e)},String.isValidPhone=function(e){if(!e)return!1;return/^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/.test(e)},String.isValidCode=function(e){if(!e)return!1;return/^[a-zA-Z0-9\@\_\-]{2,20}$/.test(e)},String.changeAliasLowerCase=function(e){var t,r=null!==(t=null==e?void 0:e.toString())&&void 0!==t?t:"";return r=(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r.toString().toLowerCase()).replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a")).replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e")).replace(/ì|í|ị|ỉ|ĩ/g,"i")).replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o")).replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u")).replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y")).replace(/đ/g,"d")).replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g," ")).replace(/ + /g," ")).trim()},String.aliasIncludes=function(e,t){return String.changeAliasLowerCase(e).includes(String.changeAliasLowerCase(t))},String.format=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var n=0;n<t.length;n++){var o=new RegExp("\\{"+n+"\\}","gi");e=e.replace(o,t[n])}return e},String.templateToDisplay=function(e,t){var r,n;if(!e)return e;var o=e.match(/\$\{([A-Za-z._\-]*)\}/g)||[];try{for(var i=a(o),u=i.next();!u.done;u=i.next()){var s=u.value,l=s.slice(2,s.length-1);l&&(e=e.replace(s,(null==t?void 0:t[l])||""))}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return e};var f,d=new r.InjectionToken("sd.firebase.configuration"),p=new r.InjectionToken("sd.form.configuration"),h=function(e){function r(r,n,o){void 0===n&&(n=null),void 0===o&&(o=null);var i=e.call(this,r,n,o)||this;return i.sdChanges=new t.Subject,i.untouchChanges=new t.Subject,i.touchChanges=new t.Subject,i.pristineChanges=new t.Subject,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(r,e),r.prototype.markAsUntouched=function(t){var r=(void 0===t?{}:t).onlySelf;e.prototype.markAsUntouched.call(this,{onlySelf:r}),this.untouchChanges.next(!0),this.sdChanges.next(!0)},r.prototype.markAsTouched=function(t){var r=(void 0===t?{}:t).onlySelf;e.prototype.markAsTouched.call(this,{onlySelf:r}),this.touchChanges.next(!0),this.sdChanges.next(!0)},r.prototype.markAsPristine=function(t){e.prototype.markAsPristine.call(this,t),this.pristineChanges.next(!0),this.sdChanges.next(!0)},r}(n.FormControl),y=function(){function e(){f.set(this,(function(){var e,t=navigator.userAgent,r=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if(/trident/i.test(r[1]))return{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""};if("Chrome"===r[1]){if(null!=(e=t.match(/\bEdg\/(\d+)/)))return{name:"Edge(Chromium)",version:e[1]};if(null!=(e=t.match(/\bOPR\/(\d+)/)))return{name:"Opera",version:e[1]}}return r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&r.splice(1,1,e[1]),{name:r[0],version:r[1]}}));var e=l(this,f).call(this);this.browerName=e.name,this.browserVersion=e.version}return Object.defineProperty(e.prototype,"isChrome",{get:function(){return"Chrome"===this.browerName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFirefox",{get:function(){return"Firefox"===this.browerName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSafari",{get:function(){return"Safari"===this.browerName},enumerable:!1,configurable:!0}),e}();f=new WeakMap,y.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new y},token:y,providedIn:"root"}),y.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],y.ctorParameters=function(){return[]};var g,m=function(e){this.templateRef=e};m.decorators=[{type:r.Directive,args:[{selector:"[sdViewDef]"}]}],m.ctorParameters=function(){return[{type:r.TemplateRef}]};var v,D=function(){function e(e,t){var r=this;this.vcRef=e,this.templateRef=t,this.context={},g.set(this,(function(){r.vcRef.clear(),r.vcRef.createEmbeddedView(r.templateRef,r.context)}))}return Object.defineProperty(e.prototype,"sdLet",{set:function(e){this.context.$implicit=this.context.sdLet=e,l(this,g).call(this)},enumerable:!1,configurable:!0}),e}();g=new WeakMap,D.decorators=[{type:r.Directive,args:[{selector:"[sdLet]"}]}],D.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef}]},D.propDecorators={sdLet:[{type:r.Input}]};var b=function(){function e(e,t,r){this.elementRef=e,this.renderer=t,this.browserService=r,v.set(this,"hidden")}return e.prototype.onMouseOver=function(){c(this,v,this.browserService.isFirefox?"auto":"overlay"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,v))},e.prototype.onMouseOut=function(){c(this,v,"hidden"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,v))},e.prototype.ngOnInit=function(){this.renderer.setStyle(this.elementRef.nativeElement,"-webkit-transform","translate3d(0, 0, 0)"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,v))},e}();v=new WeakMap,b.decorators=[{type:r.Directive,args:[{selector:"[sdScroll]"}]}],b.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:y}]},b.propDecorators={onMouseOver:[{type:r.HostListener,args:["mouseover"]}],onMouseOut:[{type:r.HostListener,args:["mouseout"]}]};var S=function(e){this.templateRef=e};S.decorators=[{type:r.Directive,args:[{selector:"[sdSuffix]"}]}],S.ctorParameters=function(){return[{type:r.TemplateRef}]};var w=function(){};w.decorators=[{type:r.NgModule,args:[{imports:[o.CommonModule],declarations:[m,D,b,S],exports:[m,D,b,S],providers:[]}]}],e.FIREBASE_CONFIG=d,e.FORM_CONFIG=p,e.SdBrowserService=y,e.SdCommonModule=w,e.SdFormControl=h,e.SdLetDirective=D,e.SdScrollDirective=b,e.SdSuffixDirective=S,e.SdViewDefDirective=m,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};Object.create;function a(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function u(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}Object.create;function l(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function c(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}Array.prototype.search=function(e,t){var r=this;if(!(null==e?void 0:e.toString()))return r;if(Array.isArray(t)){var n=t.filter((function(e){return null!=e&&""!==e}));return n.length?r.filter((function(t){return null!=t&&n.some((function(r){return String.aliasIncludes(t[r],e)}))})):r.filter((function(t){return null!=t&&String.aliasIncludes(t,e)}))}return t?r.filter((function(r){return null!=r&&String.aliasIncludes(r[t],e)})):r.filter((function(t){return null!=t&&String.aliasIncludes(t,e)}))},Array.prototype.paging=function(e,t){void 0===t&&(t=0);return this.filter((function(r,n){return n>=t*e&&n<(t+1)*e}))},Array.prototype.toObject=function(e){return e?this.filter((function(e){return null!=e})).reduce((function(t,r){var n;return t[null===(n=r[e])||void 0===n?void 0:n.toString()]=r,t}),{}):this.filter((function(e){return null!=e})).reduce((function(e,t){return e[null==t?void 0:t.toString()]=t,e}),{})},Array.prototype.union=function(e){for(var t,r,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];var i=this,s=function(t,r,n){return null!=t&&n.findIndex((function(r){return e?r[e]===t[e]:r===t}))===r};if(!(null==n?void 0:n.length))return i.filter(s);try{for(var l=a(n),c=l.next();!c.done;c=l.next()){var f=c.value;Array.isArray(f)&&(i=u(i,f).filter(s))}}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(t)throw t.error}}return i},Array.prototype.asObservable=function(){return t.of(this)},Array.search=function(e,t,r){return Array.isArray(e)?e.search(t,r):[]},Array.union=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return[].union.apply([],u([e],t))},Array.toObject=function(e,t){return Array.isArray(e)?e.toObject(t):{}},Date.equal=function(e,t){return!Date.isDate(e)&&!Date.isDate(t)||!(!Date.isDate(e)||!Date.isDate(t))&&new Date(e).getTime()===new Date(t).getTime()},Date.parseFrom=function(e,t){if(!e)return null;if(!t)return null;e=e.toString();var r=t.indexOf("dd")>-1&&t.indexOf("MM")>-1&&t.indexOf("yyyy")>-1,n=t.indexOf("HH")>-1||t.indexOf("mm")>-1||t.indexOf("ss")>-1,o="";if(r){var i=e.substr(t.indexOf("dd"),"dd".length),a=e.substr(t.indexOf("MM"),"MM".length);if(!(+(u=e.substr(t.indexOf("yyyy"),"yyyy".length))>0&&+a>0&&+i>0))return null;o+=a+"/"+i+"/"+u}else{var s=new Date,u=s.getFullYear().toString();o+=(a=(s.getMonth()+1).toString().padStart(2,"0"))+"/"+(i=s.getDate().toString().padStart(2,"0"))+"/"+u}n&&(o+=" "+((t.indexOf("HH")>-1?e.substr(t.indexOf("HH"),"HH".length):"00")||"00")+":"+((t.indexOf("mm")>-1?e.substr(t.indexOf("mm"),"mm".length):"00")||"00")+":"+((t.indexOf("ss")>-1?e.substr(t.indexOf("ss"),"ss".length):"00")||"00"));return Date.isDate(o)?new Date(o):null},Date.isDate=function(e){if(!e)return!1;var t=new Date(e);return!isNaN(t.getTime())},Date.toFormat=function(e,t){return Date.isDate(e)?new Date(e).toFormat(t):""},Date.addMiliseconds=function(e,t){return Date.isDate(e)?new Date(e).addMiliseconds(t):null},Date.addHours=function(e,t){return Date.isDate(e)?new Date(e).addHours(t):null},Date.addDays=function(e,t){return Date.isDate(e)?new Date(e).addDays(t):null},Date.addMonths=function(e,t){return Date.isDate(e)?new Date(e).addMonths(t):null},Date.begin=function(e){return Date.isDate(e)?new Date(Date.toFormat(e,"MM/dd/yyyy")):null},Date.end=function(e){return Date.isDate(e)?new Date(e).addDays(1).begin().addMiliseconds(-1):null},Date.prototype.begin=function(){return new Date(this.toFormat("MM/dd/yyyy"))},Date.prototype.end=function(){return this.addDays(1).begin().addMiliseconds(-1)},Date.prototype.addMiliseconds=function(e){var t=this;return t.setMilliseconds(t.getMilliseconds()+e),t},Date.prototype.addHours=function(e){var t=this;return t.setHours(t.getHours()+e),t},Date.prototype.addDays=function(e){var t=this;return t.setDate(t.getDate()+e),t},Date.prototype.addMonths=function(e){var t=this;return t.setMonth(t.getMonth()+e),t},Date.prototype.toFormat=function(e){var t=this,r=e;return r=(r=(r=(r=(r=(r=r.replace("yyyy",t.getFullYear().toString())).replace("MM",(t.getMonth()+1).toString().padStart(2,"0"))).replace("dd",t.getDate().toString().padStart(2,"0"))).replace("HH",t.getHours().toString().padStart(2,"0"))).replace("mm",t.getMinutes().toString().padStart(2,"0"))).replace("ss",t.getSeconds().toString().padStart(2,"0"))},Number.toVNCurrency=function(e){if(!(e=(null!=e?e:"").toString().replace(/,/g,"")))return null;var t=+e;return Number.isNaN(t)?null:t.toLocaleString("vi-VN")},Number.isPositiveInteger=function(e){if(!e)return!1;return/^([0-9]*)$/.test(e)&&+e>0},Number.isPositiveNumber=function(e){if(!e)return!1;return/^([0-9]*)(\.[0-9]+$){0,1}$/.test(e)&&+e>0},Number.isNumber=function(e){return null!=e&&""!==e&&!Number.isNaN(+e)},String.isValidEmail=function(e){if(!e)return!1;return/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(e)},String.isValidPhone=function(e){if(!e)return!1;return/^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/.test(e)},String.isValidCode=function(e){if(!e)return!1;return/^[a-zA-Z0-9\@\_\-]{2,20}$/.test(e)},String.changeAliasLowerCase=function(e){var t,r=null!==(t=null==e?void 0:e.toString())&&void 0!==t?t:"";return r=(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r.toString().toLowerCase()).replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a")).replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e")).replace(/ì|í|ị|ỉ|ĩ/g,"i")).replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o")).replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u")).replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y")).replace(/đ/g,"d")).replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g," ")).replace(/ + /g," ")).trim()},String.aliasIncludes=function(e,t){return String.changeAliasLowerCase(e).includes(String.changeAliasLowerCase(t))},String.format=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var n=0;n<t.length;n++){var o=new RegExp("\\{"+n+"\\}","gi");e=e.replace(o,t[n])}return e},String.templateToDisplay=function(e,t){var r,n;if(!e)return e;var o=e.match(/\$\{([A-Za-z._\-]*)\}/g)||[];try{for(var i=a(o),s=i.next();!s.done;s=i.next()){var u=s.value,l=u.slice(2,u.length-1);l&&(e=e.replace(u,(null==t?void 0:t[l])||""))}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return e};var f="cb9f4b2a-d26c-4787-a66e-e7130ee00f95";String.encrypt=function(e){for(var t=0,r=(e=JSON.stringify(e).split("")).length;t<r;t++)"{"==e[t]?e[t]="}":"}"==e[t]&&(e[t]="{");return encodeURI(f+e.join(""))},String.decrypt=function(e){if(0!=(e=decodeURI(e)).indexOf(f))throw new Error("object cannot be decrypted");for(var t=e.substring(f.length).split(""),r=0,n=t.length;r<n;r++)"{"==t[r]?t[r]="}":"}"==e[r]&&(t[r]="{");return JSON.parse(t.join(""))};var d,p=new r.InjectionToken("sd.firebase.configuration"),h=new r.InjectionToken("sd.form.configuration"),y=function(e){function r(r,n,o){void 0===n&&(n=null),void 0===o&&(o=null);var i=e.call(this,r,n,o)||this;return i.sdChanges=new t.Subject,i.untouchChanges=new t.Subject,i.touchChanges=new t.Subject,i.pristineChanges=new t.Subject,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(r,e),r.prototype.markAsUntouched=function(t){var r=(void 0===t?{}:t).onlySelf;e.prototype.markAsUntouched.call(this,{onlySelf:r}),this.untouchChanges.next(!0),this.sdChanges.next(!0)},r.prototype.markAsTouched=function(t){var r=(void 0===t?{}:t).onlySelf;e.prototype.markAsTouched.call(this,{onlySelf:r}),this.touchChanges.next(!0),this.sdChanges.next(!0)},r.prototype.markAsPristine=function(t){e.prototype.markAsPristine.call(this,t),this.pristineChanges.next(!0),this.sdChanges.next(!0)},r}(n.FormControl),g=function(){function e(){d.set(this,(function(){var e,t=navigator.userAgent,r=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if(/trident/i.test(r[1]))return{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""};if("Chrome"===r[1]){if(null!=(e=t.match(/\bEdg\/(\d+)/)))return{name:"Edge(Chromium)",version:e[1]};if(null!=(e=t.match(/\bOPR\/(\d+)/)))return{name:"Opera",version:e[1]}}return r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&r.splice(1,1,e[1]),{name:r[0],version:r[1]}}));var e=l(this,d).call(this);this.browerName=e.name,this.browserVersion=e.version}return Object.defineProperty(e.prototype,"isChrome",{get:function(){return"Chrome"===this.browerName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFirefox",{get:function(){return"Firefox"===this.browerName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSafari",{get:function(){return"Safari"===this.browerName},enumerable:!1,configurable:!0}),e}();d=new WeakMap,g.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new g},token:g,providedIn:"root"}),g.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],g.ctorParameters=function(){return[]};var m,v=function(e){this.templateRef=e};v.decorators=[{type:r.Directive,args:[{selector:"[sdViewDef]"}]}],v.ctorParameters=function(){return[{type:r.TemplateRef}]};var b,D=function(){function e(e,t){var r=this;this.vcRef=e,this.templateRef=t,this.context={},m.set(this,(function(){r.vcRef.clear(),r.vcRef.createEmbeddedView(r.templateRef,r.context)}))}return Object.defineProperty(e.prototype,"sdLet",{set:function(e){this.context.$implicit=this.context.sdLet=e,l(this,m).call(this)},enumerable:!1,configurable:!0}),e}();m=new WeakMap,D.decorators=[{type:r.Directive,args:[{selector:"[sdLet]"}]}],D.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef}]},D.propDecorators={sdLet:[{type:r.Input}]};var S=function(){function e(e,t,r){this.elementRef=e,this.renderer=t,this.browserService=r,b.set(this,"hidden")}return e.prototype.onMouseOver=function(){c(this,b,this.browserService.isFirefox?"auto":"overlay"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,b))},e.prototype.onMouseOut=function(){c(this,b,"hidden"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,b))},e.prototype.ngOnInit=function(){this.renderer.setStyle(this.elementRef.nativeElement,"-webkit-transform","translate3d(0, 0, 0)"),this.renderer.setStyle(this.elementRef.nativeElement,"overflow",l(this,b))},e}();b=new WeakMap,S.decorators=[{type:r.Directive,args:[{selector:"[sdScroll]"}]}],S.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:g}]},S.propDecorators={onMouseOver:[{type:r.HostListener,args:["mouseover"]}],onMouseOut:[{type:r.HostListener,args:["mouseout"]}]};var w=function(e){this.templateRef=e};w.decorators=[{type:r.Directive,args:[{selector:"[sdSuffix]"}]}],w.ctorParameters=function(){return[{type:r.TemplateRef}]};var x=function(){};x.decorators=[{type:r.NgModule,args:[{imports:[o.CommonModule],declarations:[v,D,S,w],exports:[v,D,S,w],providers:[]}]}],e.FIREBASE_CONFIG=p,e.FORM_CONFIG=h,e.SdBrowserService=g,e.SdCommonModule=x,e.SdFormControl=y,e.SdLetDirective=D,e.SdScrollDirective=S,e.SdSuffixDirective=w,e.SdViewDefDirective=v,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=sd-angular-core-common.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","f","has","get","__classPrivateFieldSet","set","search","searchText","fields","items","this","toString","isArray","fs_1","filter","item","some","field","String","aliasIncludes","paging","pageSize","page","index","toObject","key","reduce","obj","_a","union","args","_i","results","filterUnion","val","self","findIndex","args_1","args_1_1","arg","asObservable","of","apply","Date","equal","date1","date2","isDate","getTime","parseFrom","format","dmy","indexOf","hms","strDate","dd","substr","MM","yyyy","today","getFullYear","getMonth","padStart","getDate","date","isNaN","toFormat","addMiliseconds","miliseconds","addHours","hours","addDays","days","addMonths","months","begin","end","setMilliseconds","getMilliseconds","setHours","getHours","setDate","setMonth","result","replace","getMinutes","getSeconds","Number","toVNCurrency","toLocaleString","isPositiveInteger","test","isPositiveNumber","isNumber","isValidEmail","isValidPhone","isValidCode","changeAliasLowerCase","alias","str","toLowerCase","trim","includes","template","arr","regexp","RegExp","templateToDisplay","entity","matches","match","matches_1","matches_1_1","slice","FIREBASE_CONFIG","InjectionToken","FORM_CONFIG","SdFormControl","formState","validator","asyncValidator","_this","_super","sdChanges","Subject","untouchChanges","touchChanges","pristineChanges","__","constructor","__extends","markAsUntouched","onlySelf","markAsTouched","markAsPristine","opts","FormControl","SdBrowserService","_getBrowserNameAndVersion","tem","ua","navigator","userAgent","M","name","version","exec","appName","appVersion","splice","browserNameAndVersion","browerName","browserVersion","defineProperty","Injectable","providedIn","templateRef","Directive","selector","TemplateRef","SdLetDirective","vcRef","context","_updateView","clear","createEmbeddedView","$implicit","sdLet","ViewContainerRef","Input","SdScrollDirective","elementRef","renderer","browserService","_overflow","onMouseOver","isFirefox","setStyle","nativeElement","onMouseOut","ngOnInit","ElementRef","Renderer2","HostListener","NgModule","imports","CommonModule","declarations","SdViewDefDirective","SdSuffixDirective","exports","providers"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n return val.toLocaleString('vi-VN');\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if(!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective\r\n ],\r\n exports: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","f","has","get","__classPrivateFieldSet","set","search","searchText","fields","items","this","toString","isArray","fs_1","filter","item","some","field","String","aliasIncludes","paging","pageSize","page","index","toObject","key","reduce","obj","_a","union","args","_i","results","filterUnion","val","self","findIndex","args_1","args_1_1","arg","asObservable","of","apply","Date","equal","date1","date2","isDate","getTime","parseFrom","format","dmy","indexOf","hms","strDate","dd","substr","MM","yyyy","today","getFullYear","getMonth","padStart","getDate","date","isNaN","toFormat","addMiliseconds","miliseconds","addHours","hours","addDays","days","addMonths","months","begin","end","setMilliseconds","getMilliseconds","setHours","getHours","setDate","setMonth","result","replace","getMinutes","getSeconds","Number","toVNCurrency","toLocaleString","isPositiveInteger","test","isPositiveNumber","isNumber","isValidEmail","isValidPhone","isValidCode","changeAliasLowerCase","alias","str","toLowerCase","trim","includes","template","arr","regexp","RegExp","templateToDisplay","entity","matches","match","matches_1","matches_1_1","slice","SALT","encrypt","l","JSON","stringify","split","encodeURI","join","decrypt","encripted","decodeURI","Error","strs","substring","parse","FIREBASE_CONFIG","InjectionToken","FORM_CONFIG","SdFormControl","formState","validator","asyncValidator","_this","_super","sdChanges","Subject","untouchChanges","touchChanges","pristineChanges","__","constructor","__extends","markAsUntouched","onlySelf","markAsTouched","markAsPristine","opts","FormControl","SdBrowserService","_getBrowserNameAndVersion","tem","ua","navigator","userAgent","M","name","version","exec","appName","appVersion","splice","browserNameAndVersion","browerName","browserVersion","defineProperty","Injectable","providedIn","templateRef","Directive","selector","TemplateRef","SdLetDirective","vcRef","context","_updateView","clear","createEmbeddedView","$implicit","sdLet","ViewContainerRef","Input","SdScrollDirective","elementRef","renderer","browserService","_overflow","onMouseOver","isFirefox","setStyle","nativeElement","onMouseOut","ngOnInit","ElementRef","Renderer2","HostListener","NgModule","imports","CommonModule","declarations","SdViewDefDirective","SdSuffixDirective","exports","providers"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n return val.toLocaleString('vi-VN');\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n encrypt(obj: any): string;\r\n decrypt(encripted: string): any;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if (!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}\r\n\r\nconst SALT = 'cb9f4b2a-d26c-4787-a66e-e7130ee00f95';\r\n\r\nString.encrypt = (obj: any) => {\r\n obj = JSON.stringify(obj).split('');\r\n for (var i = 0, l = obj.length; i < l; i++)\r\n if (obj[i] == '{')\r\n obj[i] = '}';\r\n else if (obj[i] == '}')\r\n obj[i] = '{';\r\n return encodeURI(SALT + obj.join(''));\r\n}\r\n\r\nString.decrypt = (encripted: string) => {\r\n encripted = decodeURI(encripted);\r\n if (SALT && encripted.indexOf(SALT) != 0)\r\n throw new Error('object cannot be decrypted');\r\n const strs = encripted.substring(SALT.length).split('');\r\n for (let i = 0, l = strs.length; i < l; i++)\r\n if (strs[i] == '{')\r\n strs[i] = '}';\r\n else if (encripted[i] == '}')\r\n strs[i] = '{';\r\n return JSON.parse(strs.join(''));\r\n}\r\n","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective\r\n ],\r\n exports: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n"]}
|
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
SdDateTime.decorators = [
|
|
603
603
|
{ type: core.Component, args: [{
|
|
604
604
|
selector: 'sd-date-time',
|
|
605
|
-
template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"required\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container\r\n *ngIf=\"sdView?.templateRef && !isFocused && !datePicker?.opened && !dateTimePicker?.opened; else default\">\r\n <ng-container *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field *ngIf=\"type === 'datetime' || type === 'time'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage }\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [ngxMatDatetimePicker]=\"picker1\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [required]=\"required\" [max]=\"max\"\r\n (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\"\r\n [sdPopoverTriggerFor]=\"error\" [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\" #input />\r\n <!-- <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker1.open()\" matSuffix>today\r\n </mat-icon> -->\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker1\">\r\n </mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]=\"defaultTime\" [touchUi]=\"isMobileOrTablet\" [showSpinners]=\"false\"\r\n (opened)=\"onFocus()\" (closed)=\"onBlur();focusInputElement()\">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"type === 'date'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [required]=\"required\" [matDatepicker]=\"picker2\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [max]=\"max\" (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" [sdPopoverTriggerFor]=\"error\"\r\n [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\" #input />\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker2.open()\" #btn matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]=\"isMobileOrTablet\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <ngx-mat-timepicker *ngIf=\"type === 'time'\" formControlName=\"name\" [disabled]=\"disabled\" showSpinners=\"false\" stepHour=\"1\"\r\n stepMinute=\"1\" stepSecond=\"1\">\r\n</ngx-mat-timepicker> -->\r\n <mat-form-field *ngIf=\"type === 'month'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [required]=\"required\" [matDatepicker]=\"pickerMonth\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [max]=\"max\" (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" [sdPopoverTriggerFor]=\"error\" [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\"\r\n #input />\r\n\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && pickerMonth.open()\" #btn matSuffix>\r\n today\r\n </mat-icon>\r\n\r\n <mat-datepicker #pickerMonth [touchUi]=\"isMobileOrTablet\" startView=\"multi-year\"\r\n (monthSelected)=\"setMonthAndYear($event, pickerMonth)\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>\r\n<sd-popover #error=\"sdPopover\" type=\"danger\" width=\"300px\">\r\n <span *ngIf=\"formControl.errors?.required\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerMin\">\r\n {{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerMax\">\r\n {{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerParse\">\r\n {{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.customValidator\">\r\n {{ formControl?.errors?.customValidator }}\r\n </span>\r\n</sd-popover>",
|
|
605
|
+
template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"required\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container\r\n *ngIf=\"sdView?.templateRef && !isFocused && !datePicker?.opened && !dateTimePicker?.opened; else default\">\r\n <ng-container *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field *ngIf=\"type === 'datetime' || type === 'time'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage }\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [ngxMatDatetimePicker]=\"picker1\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [required]=\"required\" [max]=\"max\"\r\n (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\"\r\n [sdPopoverTriggerFor]=\"null\" [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\" #input />\r\n <!-- <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker1.open()\" matSuffix>today\r\n </mat-icon> -->\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker1\">\r\n </mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]=\"defaultTime\" [touchUi]=\"isMobileOrTablet\" [showSpinners]=\"false\"\r\n (opened)=\"onFocus()\" (closed)=\"onBlur();focusInputElement()\">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"type === 'date'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [required]=\"required\" [matDatepicker]=\"picker2\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [max]=\"max\" (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" [sdPopoverTriggerFor]=\"null\"\r\n [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\" #input />\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker2.open()\" #btn matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]=\"isMobileOrTablet\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <ngx-mat-timepicker *ngIf=\"type === 'time'\" formControlName=\"name\" [disabled]=\"disabled\" showSpinners=\"false\" stepHour=\"1\"\r\n stepMinute=\"1\" stepSecond=\"1\">\r\n</ngx-mat-timepicker> -->\r\n <mat-form-field *ngIf=\"type === 'month'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [required]=\"required\" [matDatepicker]=\"pickerMonth\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\" [min]=\"min\" [max]=\"max\" (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" [sdPopoverTriggerFor]=\"null\" [sdPopoverDisabled]=\"!disableErrorMessage || formControl.valid\"\r\n #input />\r\n\r\n <mat-icon *ngIf=\"formControl?.value && !required && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && pickerMonth.open()\" #btn matSuffix>\r\n today\r\n </mat-icon>\r\n\r\n <mat-datepicker #pickerMonth [touchUi]=\"isMobileOrTablet\" startView=\"multi-year\"\r\n (monthSelected)=\"setMonthAndYear($event, pickerMonth)\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"This field is required\" | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>\r\n<!-- <sd-popover #error=\"sdPopover\" type=\"danger\" width=\"300px\">\r\n <span *ngIf=\"formControl.errors?.required\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerMin\">\r\n {{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerMax\">\r\n {{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.matDatetimePickerParse\">\r\n {{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </span>\r\n <span *ngIf=\"formControl?.errors?.customValidator\">\r\n {{ formControl?.errors?.customValidator }}\r\n </span>\r\n</sd-popover> -->",
|
|
606
606
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
607
607
|
providers: [
|
|
608
608
|
{ provide: core$1.MAT_DATE_FORMATS, useValue: ɵ0 },
|