pip-webui
Version:
HTML5 UI for LOB applications
2 lines • 55 kB
JavaScript
!function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("color_picker/color_picker.html",'<ul class="pip-color-picker lp0 {{class}}" pip-selected="currentColorIndex" pip-enter-space-press="enterSpacePress($event)"><li tabindex="-1" ng-repeat="color in colors track by color"><md-button tabindex="-1" class="md-icon-button pip-selectable" ng-click="selectColor($index)" aria-label="color" ng-disabled="disabled()"><md-icon ng-style="{\'color\': color}" md-svg-icon="icons:{{ color == currentColor ? \'circle\' : \'radio-off\' }}"></md-icon></md-button></li></ul>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("confirmation_dialog/confirmation_dialog.html",'<md-dialog class="pip-dialog pip-confirmation-dialog" layout="column" width="400" md-theme="{{::theme}}"><div class="pip-header text-subhead1"><h3 class="m0">{{:: title | translate }}</h3></div><div class="pip-footer"><div><md-button ng-click="onCancel()">{{:: cancel | translate }}</md-button><md-button class="md-accent" ng-click="onOk()">{{:: ok | translate }}</md-button></div></div></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("conversion_dialog/conversion_dialog.html",'<md-dialog class="pip-dialog pip-conversion-dialog" layout="column" min-width="450" md-theme="{{theme}}"><md-dialog-content class="pip-body p0 pip-scroll"><div class="pip-header" ng-if="!withoutTitle || deleted" ng-class="{\'header-hint\': withoutTitle && deleted}"><h3 class="m0 text-title" ng-hide="withoutTitle">{{::title | translate}}</h3><p class="tp8 pip-subtitle" ng-hide="withoutTitle"><span pip-translate-html="{{::subtitle | translate}}"></span></p><div ng-show="withoutTitle && deleted" class="dialog-hint" layout="row" layout-align="start center"><div class="w40" flex-fixed=""><md-icon md-svg-icon="icons:info-circle-outline"></md-icon></div><div>{{::withoutTitle | translate}}</div></div></div><div class="pip-divider" ng-if="!withoutTitle"></div><div class="h8" ng-if="withoutTitle"></div><div class="pip-content"><div class="pip-list md-primary" md-no-ink="true" ng-keydown="onKeyDown($event)" ng-keypress="onKeyPress($event)" tabindex="0"><div ng-repeat="option in options" class="pip-list-item" md-ink-ripple="" ui-event="{ click: \'onOptionSelect($event, option)\' }" ng-class="{ selected: option.name == selectedOptionName, \'divider-bottom\': $index < options.length - 1 }"><div class="pip-content lp24-flex rp24-flex" flex=""><div class="pip-title" ng-if="option.title">{{::option.title | translate}}</div><div class="pip-subtitle" ng-if="option.subtitle"><span pip-translate-html="{{::option.subtitle | translate}}"></span></div><div class="pip-text" ng-if="option.text"><span pip-translate-html="{{::option.text | translate}}"></span></div></div></div></div></div><div class="h8"></div></md-dialog-content></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("date/date.html",'<div class="pip-date" tabindex="-1" layout="row" flex=""><md-input-container flex="" class="tm0"><md-select class="pip-date-day tm0" ng-disabled="disableControls" ng-model="day" placeholder="{{dayLabel}}" ng-change="onDayChanged()" flex=""><md-option ng-value="opt" ng-repeat="opt in days track by opt">{{:: opt }}</md-option></md-select></md-input-container><div class="w16 flex-fixed"></div><md-input-container flex="" class="tm0"><md-select class="pip-date-month tm0" ng-disabled="disableControls" ng-model="month" placeholder="{{monthLabel}}" ng-change="onMonthChanged()" flex=""><md-option ng-value="opt.id" ng-repeat="opt in months track by opt.id">{{:: opt.name }}</md-option></md-select></md-input-container><div class="w16 flex-fixed"></div><md-input-container flex="" class="tm0"><md-select class="pip-date-year tm0" ng-disabled="disableControls" ng-model="year" placeholder="{{yearLabel}}" ng-change="onYearChanged()" flex=""><md-option ng-value="opt" ng-repeat="opt in years track by opt">{{:: opt }}</md-option></md-select></md-input-container></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("date_range/date_range.html",'<div class="pip-date-range" tabindex="-1" layout="row" flex=""><md-input-container flex="" ng-show="isDay()" class="tm0 pip-day" ng-class="{\'flex-fixed\' : $mdMedia(\'gt-xs\')}"><md-select class="select-day w-stretch" ng-class="{\'pip-no-line\' : pipNoLine}" ng-disable="{{disableControls}}" md-on-open="onDayClick()" ng-model="day" ng-change="onDayChanged()" placeholder="{{dayLabel}}" aria-label="DAY"><md-option ng-value="opt" ng-repeat="opt in days track by opt">{{nameDays[$index]}} {{ opt }}</md-option></md-select></md-input-container><md-input-container flex="" ng-show="isWeek()" class="tm0" ng-class="{\'flex-fixed\' : $mdMedia(\'gt-xs\')}"><md-select class="select-week w-stretch" ng-class="{\'pip-no-line\' : pipNoLine}" ng-disable="{{disableControls}}" ng-model="week" ng-change="onWeekChange()" placeholder="{{weekLabel}}" aria-label="WEEK"><md-option ng-value="opt.id" ng-repeat="opt in weeks track by opt.id">{{ opt.name }}</md-option></md-select></md-input-container><div class="flex-fixed" ng-class="{\'w16\': $mdMedia(\'gt-xs\'), \'w8\': $mdMedia(\'xs\')}" ng-show="isDay() || isWeek()"></div><md-input-container flex="" ng-show="isMonth() && !monthFormatShort" class="tm0 min-w72" ng-class="{\'flex-fixed\' : $mdMedia(\'gt-xs\')}"><md-select class="select-month w-stretch" ng-class="{\'pip-no-line\' : pipNoLine}" ng-disable="{{disableControls}}" md-on-open="onMonthClick()" ng-model="month" ng-change="onMonthChanged()" placeholder="{{monthLabel}}" aria-label="MONTH"><md-option ng-value="opt.id" ng-repeat="opt in months track by opt.id">{{ opt.name }}</md-option></md-select></md-input-container><md-input-container flex="" ng-show="isMonth() && monthFormatShort" class="tm0" ng-class="{\'flex-fixed\' : $mdMedia(\'gt-xs\')}"><md-select class="select-month w-stretch" ng-class="{\'pip-no-line\' : pipNoLine}" ng-disable="{{disableControls}}" md-on-open="onMonthClick()" ng-model="month" ng-change="onMonthChanged()" placeholder="{{monthLabel}}" aria-label="MONTH"><md-option ng-value="opt.id" ng-repeat="opt in shortMonths track by opt.id">{{ opt.name }}</md-option></md-select></md-input-container><div class="flex-fixed" ng-class="{\'w16\': $mdMedia(\'gt-xs\'), \'w8\': $mdMedia(\'xs\')}" ng-show="isMonth()"></div><md-input-container flex="" class="tm0" ng-class="{\'flex-fixed\' : $mdMedia(\'gt-xs\')}"><md-select class="select-year w-stretch" ng-class="{\'pip-no-line\' : pipNoLine}" ng-disable="{{disableControls}}" md-on-open="onYearClick()" ng-model="year" ng-change="onYearChanged()" placeholder="{{yearLabel}}" aria-label="YEAR"><md-option ng-value="opt" ng-repeat="opt in years track by opt">{{ opt }}</md-option></md-select></md-input-container></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("error_details_dialog/error_details_dialog.html",'<md-dialog class="pip-dialog pip-details-dialog" layout="column" width="400" md-theme="{{theme}}"><div class="pip-body"><div class="pip-header p0 bp8 text-subhead1">{{::\'ERROR_DETAILS\' | translate}}</div><div layout="row" layout-align="start center" class="h48 text-body2 color-secondary-text" ng-if="error.code || (error.data && error.data.code)">{{::\'CODE\' | translate}}</div><div layout="row" layout-align="start center" ng-if="error.code || (error.data && error.data.code)">{{error.code || error.data.code}}</div><div layout="row" layout-align="start center" class="h48 text-body2 color-secondary-text" ng-if="error.path || (error.data && error.data.path)">{{::\'PATH\' | translate}}</div><div layout="row" layout-align="start center" ng-if="error.path || (error.data && error.data.path)">{{error.path || error.data.path}}</div><div layout="row" layout-align="start center" class="h48 text-body2 color-secondary-text" ng-if="error.error || (error.data && error.data.error)">{{::\'ERROR\' | translate}}</div><div layout="row" layout-align="start center" ng-if="error.error || (error.data && error.data.error)">{{error.error || error.data.error}}</div><div layout="row" layout-align="start center" class="h48 text-body2 color-secondary-text" ng-if="error.method || (error.data && error.data.method)">{{::\'METHOD\' | translate}}</div><div layout="row" layout-align="start center" ng-if="error.method || (error.data && error.data.method)">{{error.method || error.data.method}}</div><div layout="row" layout-align="start center" class="h48 text-body2 color-secondary-text" ng-if="error.message || (error.data && error.data.message)">{{::\'MESSAGE\' | translate}}</div><div layout="row" layout-align="start center" ng-if="error.message || (error.data && error.data.message)">{{error.message || error.data.message}}</div></div><div class="pip-footer rp16"><div><md-button class="md-accent m0" ng-click="onOk()">{{::\'DISMISS\' | translate }}</md-button></div></div></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("information_dialog/information_dialog.html",'<md-dialog class="pip-dialog pip-information-dialog" layout="column" width="400" md-theme="{{theme}}"><div class="pip-header"><h3 class="m0">{{ title | translate }}</h3></div><div class="pip-body"><div class="pip-content">{{ content }}</div></div><div class="pip-footer"><div><md-button class="md-accent" ng-click="onOk()">{{ ok | translate }}</md-button></div></div></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("popover/popover.template.html",'<div ng-if="params.templateUrl" class="pip-popover flex layout-column" ng-click="onPopoverClick($event)" ng-include="params.templateUrl"></div><div ng-if="params.template" class="pip-popover" ng-click="onPopoverClick($event)"></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("options_dialog/options_dialog.html",'<md-dialog class="pip-dialog pip-options-dialog" layout="column" min-width="400" md-theme="{{theme}}"><md-dialog-content class="pip-body lp0 tp0 rp0 bp24 pip-scroll"><div class="pip-header"><h3 class="m0 bm16 text-title">{{::title | translate}}</h3><div ng-show="deletedTitle" class="bp16 tp8 text-subhead1 divider-bottom"><md-checkbox ng-model="deleted" aria-label="CHECKBOX" class="m0">{{::deletedTitle | translate}}</md-checkbox></div></div><div class="pip-content"><md-radio-group ng-model="selectedOptionName" class="pip-list md-primary" md-no-ink="true" ng-keypress="onKeyPress($event)" tabindex="0"><div ng-repeat="option in options" class="pip-list-item p0" md-ink-ripple="" ui-event="{ click: \'onOptionSelect($event, option)\' }" ng-class="{ selected: option.name == selectedOptionName }"><div class="pip-list-item"><md-icon class="pip-option-icon rm12" md-svg-icon="icons:{{option.icon}}" ng-if="option.icon"></md-icon><div class="pip-option-title">{{::option.title | translate}}</div><md-radio-button ng-value="option.name" tabindex="-1" aria-label="{{::option.title | translate}}"></md-radio-button></div></div></md-radio-group></div></md-dialog-content><div class="pip-footer"><div><md-button class="pip-cancel" ng-click="onCancel()">{{::\'CANCEL\' | translate}}</md-button><md-button class="pip-submit md-accent" ng-click="onSelect()">{{::applyButtonTitle | translate}}</md-button></div></div></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("options_dialog/options_dialog_big.html",'<md-dialog class="pip-dialog pip-options-dialog-big" layout="column" min-width="400" md-theme="{{theme}}"><md-dialog-content class="pip-body p0 pip-scroll" ng-class="{\'bp24\': !noActions}"><div class="pip-header" ng-class="{\'header-hint\': noTitle && hint}"><h3 class="m0 text-title" ng-if="!noTitle">{{::title | translate}}</h3><div ng-show="noTitle && hint" class="dialog-hint" layout="row" layout-align="start center"><div class="w40" flex-fixed=""><md-icon md-svg-icon="icons:info-circle-outline"></md-icon></div><div>{{::hint | translate}}</div></div></div><div class="pip-divider" ng-if="!noTitle"></div><div class="pip-content"><div class="h8" ng-if="noTitle && hint"></div><md-list class="pip-menu pip-ref-list w-stretch" pip-selected="optionIndex" index="{{optionIndex }}" pip-select="onSelected($event)"><md-list-item class="pip-ref-list-item pip-selectable" ng-class="{\'selected\' : option.name == selectedOptionName, \'divider-bottom\': $index != options.length - 1}" layout="row" layout-align="start center" md-ink-ripple="" xxxxng-keypress="onKeyPress($event)" ng-keyup="onKeyUp($event, $index)" ng-repeat="option in options" ng-click="onOptionSelect($event, option)"><div class="pip-content line-height-string max-w100-stretch"><p class="pip-title rp24-flex" ng-if="option.title" style="margin-bottom: 4px !important;">{{::option.title | translate}}</p><div class="pip-subtitle rp24-flex" style="height: inherit" ng-if="option.subtitle">{{::option.subtitle | translate}}</div><div class="pip-subtitle rp24-flex" style="height: inherit" ng-if="option.text" pip-translate-html="{{::option.text | translate}}"></div></div></md-list-item></md-list></div><div class="h8" ng-if="noActions"></div></md-dialog-content><div class="pip-footer" ng-if="!noActions"><div><md-button class="pip-cancel" ng-click="onCancel()">{{::\'CANCEL\' | translate}}</md-button><md-button class="pip-submit md-accent" ng-click="onSelect()" style="margin-right: -6px">{{::applyButtonTitle | translate}}</md-button></div></div></md-dialog>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("progress/routing_progress.html",'<div class="pip-routing-progress" layout="column" layout-align="center center" ng-show="$routing || $reset"><div class="loader"><svg class="circular" viewbox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"></circle></svg></div><img src="images/Logo_animation.svg" height="40" width="40" class="pip-img"><md-progress-circular md-diameter="96" class="fix-ie"></md-progress-circular></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("tags/tag_list.html",'<div class="pip-chip rm4 pip-type-chip pip-type-chip-left {{\'bg-\' + pipType + \'-chips\'}}" ng-if="pipType && !pipTypeLocal"><span>{{pipType.toUpperCase() | translate | uppercase}}</span></div><div class="pip-chip rm4 pip-type-chip pip-type-chip-left {{\'bg-\' + pipType + \'-chips\'}}" ng-if="pipType && pipTypeLocal"><span>{{pipTypeLocal.toUpperCase() | translate | uppercase}}</span></div><div class="pip-chip rm4" ng-repeat="tag in pipTags"><span>{{::tag}}</span></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("time_edit/time_edit.html",'<div layout="row" class="event-edit" layout-xs="column" flex="" layout-align="start start"><div flex="47" class="w-stretch rm24-flex0"><p class="text-caption text-grey tm0">{{startLabel}}</p><div layout="row" layout-align="space-between center"><div class="rm16 pip-datepicker-container" flex="49"><md-datepicker ng-model="data.startDate" xmd-placeholder="{{startLabel}}" ng-change="onChangeStartDate()" ng-disabled="isDisabled()" aria-label="START-DATE"></md-datepicker></div><div flex=""><md-input-container class="w-stretch tm0"><md-select aria-label="START-TIME" class="tm0 bm0" ng-model="data.startTime" ng-disabled="isDisabled()" ng-change="onChangeStartTime()"><md-option ng-value="opt.id" ng-repeat="opt in intervalTimeCollection track by opt.id">{{ opt.time }}</md-option></md-select></md-input-container></div></div></div><div flex="47" class="w-stretch"><p class="text-caption text-grey tm0">{{endLabel}}</p><div layout="row" layout-align="space-between center"><div class="rm16 pip-datepicker-container" flex="49"><md-datepicker ng-model="data.endDate" xmd-placeholder="{{endLabel}}" ng-disabled="isDisabled()" ng-change="onChangeEndDate()" aria-label="END-DATE"></md-datepicker></div><div flex=""><md-input-container class="w-stretch tm0"><md-select aria-label="END-TIME" class="tm0 bm0" ng-model="data.endTime" ng-change="onChangeEndTime()" ng-disabled="isDisabled()"><md-option ng-value="opt.id" ng-repeat="opt in intervalTimeCollection track by opt.id">{{ opt.time }}</md-option></md-select></md-input-container></div></div></div></div>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("toast/toast.html",'<md-toast class="md-action pip-toast" ng-class="{\'pip-error\': toast.type==\'error\', \'pip-column-toast\': toast.type == \'error\' || toast.actions.length > 1 || actionLenght > 4, \'pip-no-action-toast\': actionLenght == 0}" style="height:initial; max-height: initial;"><span class="flex-var m0 pip-text" ng-bind-html="message"></span><div layout="row" layout-align="end start" class="pip-actions" ng-if="actions.length > 0 || (toast.type==\'error\' && toast.error)"><md-button class="flex-fixed m0 lm8" ng-if="toast.type==\'error\' && toast.error" ng-click="onDetails()">Details</md-button><md-button class="flex-fixed m0 lm8" ng-click="onAction(action)" ng-repeat="action in actions" aria-label="{{::action| translate}}">{{::action| translate}}</md-button></div></md-toast>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("time_view/time_view.html",'<p><span ng-if="data.start != null">{{data.start | formatShortDateTime}}</span> <span class="rm4 lm4" ng-if="data.start && data.end">-</span> <span ng-if="data.end != null">{{data.end | formatShortDateTime}}</span></p>')}])}(),function(t){try{t=angular.module("pipBasicControls.Templates")}catch(e){t=angular.module("pipBasicControls.Templates",[])}t.run(["$templateCache",function(t){t.put("toggle_buttons/toggle_buttons.html",'<div class="pip-toggle-buttons flex layout-row {{class}}" pip-selected="bufButtonIndex" pip-enter-space-press="enterSpacePress($event)" ng-if="$mdMedia(\'gt-xs\')"><md-button tabindex="-1" ng-repeat="button in buttons" ng-class="{\'md-accent md-raised selected color-accent-bg\' : currentButtonIndex == $index}" ng-attr-style="{{ \'background-color:\' + (currentButtonIndex == $index ? button.backgroundColor : \'\') + \'!important\' }}" class="pip-selectable pip-chip-button flex" ng-click="buttonSelected($index, $event)" ng-disabled="button.disabled || disabled()">{{button.name || button.title | translate}} <span ng-if="button.checked || button.complete || button.filled" class="pip-tagged">*</span></md-button></div><md-input-container class="md-block" ng-if="$mdMedia(\'xs\')"><md-select ng-model="currentButtonIndex" ng-disabled="disabled()" aria-label="DROPDOWN" md-on-close="buttonSelected(currentButtonIndex)"><md-option ng-repeat="action in buttons" value="{{ ::$index }}">{{ (action.title || action.name) | translate }} <span ng-if="action.checked || action.complete || action.filled" class="pip-tagged">*</span></md-option></md-select></md-input-container>')}])}(),function(){"use strict";angular.module("pipControls",["pipMarkdown","pipToggleButtons","pipRefreshButton","pipColorPicker","pipRoutingProgress","pipPopover","pipImageSlider","pipToasts","pipTagList","pipDate","pipDateRange","pipTimeEdit","pipTimeView","pipInformationDialog","pipConfirmationDialog","pipOptionsDialog","pipOptionsBigDialog","pipConversionDialog","pipErrorDetailsDialog"]),angular.module("pipBasicControls",["pipControls"])}(),function(){"use strict";var t=angular.module("pipColorPicker",["pipUtils","pipFocused","pipBasicControls.Templates"]);t.directive("pipColorPicker",function(){return{restrict:"EA",scope:{ngDisabled:"&",colors:"=pipColors",currentColor:"=ngModel",colorChange:"&ngChange"},templateUrl:"color_picker/color_picker.html",controller:"pipColorPickerController"}}),t.controller("pipColorPickerController",["$scope","$element","$attrs","$timeout",function(t,e,n,a){var i=["purple","lightgreen","green","darkred","pink","yellow","cyan"];t["class"]=n["class"]||"",(!t.colors||_.isArray(t.colors)&&0===t.colors.length)&&(t.colors=i),t.currentColor=t.currentColor||t.colors[0],t.currentColorIndex=t.colors.indexOf(t.currentColor),t.disabled=function(){return t.ngDisabled?t.ngDisabled():!0},t.selectColor=function(e){t.disabled()||(t.currentColorIndex=e,t.currentColor=t.colors[t.currentColorIndex],a(function(){t.$apply()}),t.colorChange&&t.colorChange())},t.enterSpacePress=function(e){t.selectColor(e.index)}}])}(),function(){"use strict";var t=angular.module("pipConfirmationDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{CONFIRM_TITLE:"Confirm"}),t.translations("ru",{CONFIRM_TITLE:"Подтвердите"})}]),t.factory("pipConfirmationDialog",["$mdDialog",function(t){return{show:function(e,n,a){t.show({targetEvent:e.event,templateUrl:"confirmation_dialog/confirmation_dialog.html",controller:"pipConfirmationDialogController",locals:{params:e},clickOutsideToClose:!0}).then(function(){n&&n()},function(){a&&a()})}}}]),t.controller("pipConfirmationDialogController",["$scope","$rootScope","$mdDialog","pipTranslate","params",function(t,e,n,a,i){t.theme=e.$theme,t.title=i.title||"CONFIRM_TITLE",t.ok=i.ok||"OK",t.cancel=i.cancel||"CANCEL",t.onCancel=function(){n.cancel()},t.onOk=function(){n.hide()}}])}(),function(){"use strict";var t=angular.module("pipConversionDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{CONVERT_PARENT_TITLE:"Choose type of the parent record",CONVERT_PARENT_SUBTITLE:"The <b>%s</b> is missing and will be created from scratch. Find and clarify it later",CONVERT_TO_GOAL_SUBTITLE:"Result that requires significant efforts",CONVERT_TO_TASK_SUBTITLE:"Simple work that doesn't need a plan",CONVERT_TO_AREA_SUBTITLE:"Area of interests or actions of any kind",CONVERT_TO_VISION_SUBTITLE:"Situation in specific time period",CONVERT_TO_CANCEL:"Do not create a parent record",CONVERT_TO_CANCEL_SUBTITLE:"The <b>%s</b> is deleted",CONVERT_RECORD_TO_GOAL:"Result that requires significant efforts",CONVERT_RECORD_TO_TASK:"Simple work that doesn't need a plan",CONVERT_RECORD_TO_EVENT:"Reminder or scheduled block of time",CONVERT_RECORD_TO_POST:"Any useful information"}),t.translations("ru",{CONVERT_PARENT_TITLE:"Определите тип родительской записи",CONVERT_PARENT_SUBTITLE:"Запись <b>%s</b> отсутствует и будет создана с нуля. Найдите и скорректируйте ее позже",CONVERT_TO_GOAL_SUBTITLE:"Результат требующий значительных усилий",CONVERT_TO_TASK_SUBTITLE:"Простая работа, для которой не нужен план",CONVERT_TO_AREA_SUBTITLE:"Область интересов или какой-либо активности",CONVERT_TO_VISION_SUBTITLE:"Ситуация в определенный промежуток времени",CONVERT_TO_CANCEL:"Не создавать родительскую запись",CONVERT_TO_CANCEL_SUBTITLE:"<b>%s</b> будет удалена",CONVERT_RECORD_TO_GOAL:"Результат требующий значительных усилий",CONVERT_RECORD_TO_TASK:"Простая работа, для которой не нужен план",CONVERT_RECORD_TO_EVENT:"Напоминание или блок времени в расписании",CONVERT_RECORD_TO_POST:"Любая полезная информация"})}]),t.factory("pipConversionDialog",["$mdDialog",function(t){return{show:function(e,n,a){function i(){e.event&&e.event.currentTarget&&e.event.currentTarget.focus()}e.event&&(e.event.stopPropagation(),e.event.preventDefault()),e.options&&0!=e.options.length&&t.show({targetEvent:e.event,templateUrl:"conversion_dialog/conversion_dialog.html",controller:"pipConversionDialogController",locals:{params:e},clickOutsideToClose:!0}).then(function(t){i(),n&&n(t)},function(){i(),a&&a()})}}}]),t.controller("pipConversionDialogController",["$scope","$rootScope","$mdDialog","params","pipUtils","pipTranslate",function(t,e,n,a,i,o){function l(){var t=$(".pip-conversion-dialog .pip-list");t.focus()}t.theme=e.$theme,t.title=a.title||"CONVERT_PARENT_TITLE",t.recordName=a.recordName||"",t.subtitle=a.subtitle||i.sprintf(o.translate("CONVERT_PARENT_SUBTITLE"),t.recordName),t.withoutTitle=a.deleteTitle?a.deleteTitle:!1,t.deleted=!!a.deleted,t.options=_.cloneDeep(a.options),t.selectedIndex=-1,t.cancelConverting=!!t.recordName,t.selectedOptionName="",t.cancelConverting&&t.options.push({name:"cancel",title:"CONVERT_TO_CANCEL",subtitle:i.sprintf(o.translate("CONVERT_TO_CANCEL_SUBTITLE"),t.recordName)}),t.onOptionSelect=function(e,n){e.stopPropagation(),t.selectedOptionName=n.name,t.onSelect()},t.onKeyPress=function(e){return 32==e.keyCode||13==e.keyCode?(e.stopPropagation(),e.preventDefault(),t.selectedOptionName=-1==t.selectedIndex?t.options[0].name:t.options[t.selectedIndex].name,void t.onSelect()):void 0},t.onKeyDown=function(e){return 40==e.keyCode?(e.stopPropagation(),e.preventDefault(),t.selectedIndex+=1,t.selectedIndex=t.selectedIndex%t.options.length,void(t.selectedOptionName=t.options[t.selectedIndex].name)):38==e.keyCode?(e.stopPropagation(),e.preventDefault(),t.selectedIndex=t.selectedIndex<=0?t.selectedIndex=t.options.length-1:t.selectedIndex-1,void(t.selectedOptionName=t.options[t.selectedIndex].name)):void 0},t.onCancel=function(){n.cancel()},t.onSelect=function(){var e=_.find(t.options,{name:t.selectedOptionName});e&&"cancel"!=e.name?n.hide({option:e,deleted:t.deleted}):n.hide(null)},setTimeout(l,500)}])}(),function(){"use strict";var t=angular.module("pipDate",["pipBasicControls.Templates"]);t.directive("pipDate",["$parse",function(t){return{restrict:"EA",require:"ngModel",scope:{timeMode:"@pipTimeMode",disabled:"&ngDisabled",model:"=ngModel",ngChange:"&"},templateUrl:"date/date.html",controller:"pipDateController"}}]),t.controller("pipDateController",["$scope","$element","pipTranslate",function(t,e,n){function a(t,e){var n=31;4==t||6==t||9==t||11==t?n=30:2==t&&(n=e&&e%4==0?29:28);for(var a=[],i=1;n>=i;i++)a.push(i);return a}function i(){for(var t=[],e=1;12>=e;e++)t.push({id:e,name:n.translate("MONTH_"+e)});return t}function o(){var e=(new Date).getFullYear(),n="future"==t.timeMode?e:e-100,a="past"==t.timeMode?e:e+100,i=[];if("past"==t.timeMode)for(var o=a;o>=n;o--)i.push(o);else for(var o=n;a>=o;o++)i.push(o);return i}function l(){var e=a(t.month,t.year);t.days.length!=e.length&&(t.day>e.length&&(t.day=e.length),t.days=e)}function r(e){e=e?_.isDate(e)?e:new Date(e):null;var n=e?e.getDate():null,i=e?e.getMonth()+1:null,o=e?e.getFullYear():null;t.month!=i&&t.year!=o&&(t.days=a(t.month,t.year)),t.day=n,t.month=i,t.year=o}function s(){if(t.day&&t.month&&t.year){var e=new Date(t.year,t.month-1,t.day,0,0,0,0);t.model=e,t.ngChange()}}t.onDayChanged=function(){s()},t.onMonthChanged=function(){l(),s()},t.onYearChanged=function(){l(),s()};var p=t.model?_.isDate(t.model)?t.model:new Date(t.model):null;t.day=p?p.getDate():null,t.month=p?p.getMonth()+1:null,t.year=p?p.getFullYear():null,t.dayLabel=n.translate("DAY"),t.monthLabel=n.translate("MONTH"),t.yearLabel=n.translate("YEAR"),t.days=a(t.month,t.year),t.months=i(),t.years=o(),t.disableControls=t.disabled?t.disabled():!1,t.$watch("model",function(t,e){r(t)}),t.$watch(t.disabled,function(e){t.disableControls=e})}])}(),function(){"use strict";var t=angular.module("pipErrorDetailsDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{ERROR_DETAILS:"Error details",CODE:"Code",PATH:"Path",ERROR:"Error code",METHOD:"Method",MESSAGE:"Message"}),t.translations("ru",{ERROR_DETAILS:"Детали ошибки",CODE:"Код",PATH:"Путь",ERROR:"Код ошибки",METHOD:"Метод",MESSAGE:"Сообщение"})}]),t.factory("pipErrorDetailsDialog",["$mdDialog",function(t){return{show:function(e,n,a){t.show({targetEvent:e.event,templateUrl:"error_details_dialog/error_details_dialog.html",controller:"pipErrorDetailsDialogController",locals:{params:e},clickOutsideToClose:!0}).then(function(){n&&n()},function(){a&&a()})}}}]),t.controller("pipErrorDetailsDialogController",["$scope","$rootScope","$mdDialog","pipTranslate","params",function(t,e,n,a,i){t.error=i.error,t.ok=i.ok||"OK",t.cancel=i.cancel||"CANCEL",t.onCancel=function(){n.cancel()},t.onOk=function(){n.hide()}}])}(),function(){"use strict";var t=angular.module("pipDateRange",[]);t.directive("pipDateRange",function(){return{restrict:"EA",require:"ngModel",scope:{timeMode:"@pipTimeMode",disabled:"&ngDisabled",model:"=ngModel",pipChanged:"&",pipDateRangeType:"@",pipDateFormat:"@",pipNoLine:"@"},templateUrl:"date_range/date_range.html",controller:"pipDateRangeController"}}),t.controller("pipDateRangeController",["$scope","$element","pipTranslate","$mdMedia","$rootScope",function(t,e,n,a,i){function o(){x.day=t.day,x.month=t.month,x.year=t.year,x.week=t.week,x.dateRangeType=t.pipDateRangeType,x.model=t.model}function l(){t.days=d(t.month,t.year),t.weeks=m(t.month,t.year),t.months=g(),t.shortMonths=g(!0),t.years=f()}function r(){(!k.model||k.model&&k.model.getTime()>=t.model.getTime())&&t.weeks&&t.weeks[t.week]&&t.weeks[t.week].id<=0&&(t.month<12?t.month+=1:(t.month=1,t.year+=1),l())}function s(){var e=t.model?new Date(t.model):null;t.day=e?e.getUTCDate():null,t.month=e?e.getUTCMonth()+1:null,t.year=e?e.getUTCFullYear():null,t.week=e?c(t.day,t.month-1,t.year):null,l(),"weekly"==t.pipDateRangeType?(r(),v()):h(),C()}function p(t,e){var n=31;return 4==t||6==t||9==t||11==t?n=30:2==t&&(n=e&&e%4==0?29:28),n}function d(e,n){var a=p(e,n);t.nameDays=[];for(var o=[],l=1;a>=l;l++)o.push(l),t.nameDays.push(t.daysWeek[i.$language||"en"][new Date(n,e-1,l).getDay()]);return o}function c(t,e,n){var a,i=new Date(Date.UTC(n,e,t)),o=i.getUTCDay()?i.getUTCDay():7;return a=1==o?t:t+1-o}function u(t,e,n){var a=t+6>e?e-t-6:t+6,i=t>0?t:n+t;return i.toString()+" - "+Math.abs(a).toString()}function m(t,e){var n,a=[],i=p(t,e),o=c(1,t-1,e);for(n=t-1?p(t-1,e):p(12,e-1);i+1>o;)a.push({id:o,name:u(o,i,n)}),o+=7;return a}function g(t){for(var e=[],a=1;12>=a;a++)e.push({id:a,name:n.translate("MONTH_"+a)});return e}function f(){var e,n,a=[];switch(t.timeMode){case"future":e=b,n=b+100;break;case"past":e=b-100,n=b;break;case"now":e=b-50,n=b+100;break;default:e=b-50,n=b+50}if("future"==t.timeMode)for(var i=e;n>=i;i++)a.push(i);else for(var i=n;i>=e;i--)a.push(i);return a}function h(){var e=d(t.month,t.year);switch(t.pipDateRangeType){case"monthly":t.day=1;break;case"yearly":t.month=1,t.day=1;break;default:t.days.length!=e.length&&t.day>e.length&&(t.day=e.length)}t.days=e}function v(){var e=m(t.month,t.year);t.week=c(t.week,t.month-1,t.year),t.weeks=e}function T(e){e=e?new Date(e):null;var n=e?e.getUTCDate():null,a=e?e.getUTCMonth()+1:null,i=e?e.getUTCFullYear():null,o=e?c(n,a-1,i):null;t.day==n&&t.month==a&&t.year==i&&t.week==o||(t.day=n,t.month=a,t.year=i,t.week=o,t.days=d(t.month,t.year),t.weeks=m(t.month,t.year))}function C(){var e;"weekly"==t.pipDateRangeType?(e=new Date(t.year,t.month-1,t.week,0,0,0,0),
e=new Date(e.getTime()-6e4*e.getTimezoneOffset()),t.model=e):(e=new Date(t.year,t.month-1,t.day,0,0,0,0),e=new Date(e.getTime()-6e4*e.getTimezoneOffset()),t.model=e),k=_.cloneDeep(x),o(),t.onChange()}var y=new Date,b=y.getUTCFullYear(),D=y.getUTCMonth()+1,w=y.getUTCDate(),k={},x={};t.daysWeek={en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ru:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]},t.onDayChanged=function(){C()},t.onMonthChanged=function(){if("weekly"==t.pipDateRangeType){var e=new Date(Date.UTC(t.year,t.month-1,1)),n=e.getUTCDay()?e.getUTCDay():7;t.week=c(n,t.month-1,t.year),r(),v()}else h();C()},t.onYearChanged=function(){if("weekly"==t.pipDateRangeType){var e=new Date(Date.UTC(t.year,t.month-1,1)),n=e.getUTCDay()?e.getUTCDay():7;t.week=c(n,t.month-1,t.year),v(),r()}else h();C()},t.onWeekChange=function(){"weekly"==t.pipDateRangeType?(v(),r()):h(),C()},t.isDay=function(){return"daily"==t.pipDateRangeType},t.isWeek=function(){return"weekly"==t.pipDateRangeType},t.isMonth=function(){return"daily"==t.pipDateRangeType||"weekly"==t.pipDateRangeType||"monthly"==t.pipDateRangeType},t.onChange=function(){t.pipChanged&&t.pipChanged()},t.$mdMedia=a,s(),t.disableControls=t.disabled?t.disabled():!1,t.$watch("model",function(t,e){t!=e&&T(t)}),t.$watch(t.disabled,function(e){t.disableControls=e}),t.$watch("pipDateRangeType",function(t,e){t!=e&&e&&s()}),t.onYearClick=function(){null==t.year&&(t.year=b)},t.onMonthClick=function(){null==t.month&&(t.month=D)},t.onDayClick=function(){null==t.year&&(t.day=w)}}])}(),function(){"use strict";var t=angular.module("pipInformationDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{INFORMATION_TITLE:"Information"}),t.translations("ru",{INFORMATION_TITLE:"Информация"})}]),t.factory("pipInformationDialog",["$mdDialog","$timeout",function(t,e){return{show:function(e,n){t.show({targetEvent:e.event,templateUrl:"information_dialog/information_dialog.html",controller:"pipInformationDialogController",locals:{params:e},clickOutsideToClose:!0}).then(function(){n&&n()})}}}]),t.controller("pipInformationDialogController",["$scope","$rootScope","$mdDialog","pipTranslate","params","pipUtils",function(t,e,n,a,i,o){t.theme=e.$theme,t.title=i.title||"INFORMATION_TITLE";var l=a.translate(i.message);if(i.item){var r=_.truncate(i.item,25);l=o.sprintf(l,r)}t.content=l,t.ok=i.ok||"OK",t.onOk=function(){n.hide()}}])}(),function(){"use strict";var t=angular.module("pipImageSlider",[]);t.directive("pipImageSlider",function(){return{scope:!1,controller:["$scope","$element","$attrs","$parse","$timeout","$interval","$pipImageSlider",function(t,e,n,a,i,o,l){function r(){f&&f(t,h)}function s(){g=o(function(){u=h+1==c.length?0:h+1,m="next",y()},C||T)}function p(){o.cancel(g)}function d(){p(),s()}var c,u,m,g,f=a(n.pipImageSliderIndex).assign,h=0,v=a(n.pipAnimationType)(t),T=4500,C=a(n.pipAnimationInterval)(t);e.addClass("pip-image-slider"),e.addClass("pip-animation-"+v),t.swipeStart=0,r(),i(function(){c=e.find(".pip-animation-block"),c.length>0&&$(c[0]).addClass("pip-show")}),s();var y=_.throttle(function(){l.toBlock(v,c,h,u,m),h=u,r()},600);t.nextBlock=function(){d(),u=h+1==c.length?0:h+1,m="next",y()},t.prevBlock=function(){d(),u=0>h-1?c.length-1:h-1,m="prev",y()},t.slideTo=function(t){t==h||t>c.length-1||(d(),u=t,m=t>h?"next":"prev",y())},e.on("$destroy",function(){p()})}]}}),t.directive("pipSliderButton",function(){return{scope:{},controller:["$scope","$element","$parse","$attrs",function(t,e,n,a){var i=n(a.pipButtonType)(t),o=n(a.pipSliderId)(t);e.on("click",function(){o&&i&&angular.element(document.getElementById(o)).scope()[i+"Block"]()})}]}}),t.directive("pipSliderIndicator",function(){return{scope:!1,controller:["$scope","$element","$parse","$attrs",function(t,e,n,a){var i=n(a.pipSliderId)(t),o=n(a.pipSlideTo)(t);e.css("cursor","pointer"),e.on("click",function(){!i||o&&0>o||angular.element(document.getElementById(i)).scope().slideTo(o)})}]}}),t.service("$pipImageSlider",["$timeout",function(t){function e(e,n){e.removeClass("animated").addClass("pip-next"),t(function(){e.addClass("animated").addClass("pip-show").removeClass("pip-next"),n.addClass("animated").removeClass("pip-show")},100)}function n(e,n){e.removeClass("animated"),t(function(){e.addClass("animated").addClass("pip-show"),n.addClass("animated").addClass("pip-next").removeClass("pip-show"),t(function(){n.removeClass("pip-next").removeClass("animated")},i-100)},100)}function a(t,a,i,o,l){var r=$(a[i]),s=o,p=$(a[s]);"carousel"==t?($(a).removeClass("pip-next").removeClass("pip-prev"),l&&"prev"==l?n(p,r):l&&"next"==l?e(p,r):o&&i>o?n(p,r):e(p,r)):(r.addClass("animated").removeClass("pip-show"),p.addClass("animated").addClass("pip-show"))}var i=550;return{nextCarousel:e,prevCarousel:n,toBlock:a}}])}(),function(){"use strict";var t=angular.module("pipMarkdown",["ngSanitize","pipUtils","pipTranslate"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{MARKDOWN_ATTACHMENTS:"Attachments:",checklist:"Checklist",documents:"Documents",pictures:"Pictures",location:"Location",time:"Time"}),t.translations("ru",{MARKDOWN_ATTACHMENTS:"Вложения:",checklist:"Список",documents:"Документы",pictures:"Изображения",location:"Местонахождение",time:"Время"})}]),t.directive("pipMarkdown",["$parse","pipUtils","pipTranslate",function(t,e,n){return{restrict:"EA",scope:!1,link:function(a,i,o){function l(t){var e="",a=[];return _.each(t,function(t){t.type&&"text"!=t.type&&(0==e.length&&(e=n.translate("MARKDOWN_ATTACHMENTS")),a.indexOf(t.type)<0&&(a.push(t.type),e+=(a.length>1?", ":" ")+n.translate(t.type)))}),e}function r(t){var e;if(_.isArray(t)){var n=_.find(t,function(t){return"text"==t.type&&t.text});e=n?n.text:l(t)}else e=t;var a,r=o.pipLineCount&&_.isNumber(d())&&e&&e.length>0,s={gfm:!0,tables:!0,breaks:!0,sanitize:!0,pedantic:!0,smartLists:!0,smartypents:!1};e=marked(e||"",s),r&&(a=1.5*d()),i.html("<div"+(r?p()?' class="pip-markdown-content pip-markdown-list" style="max-height: '+a+'em">':' class="pip-markdown-content" style="max-height: '+a+'em">':p()?' class="pip-markdown-list">':">")+e+"</div>"),i.find("a").attr("target","blank"),!p()&&r&&i.append('<div class="pip-gradient-block"></div>')}var s=t(o.pipText),p=t(o.pipList),d=t(o.pipLineCount);r(s(a)),e.toBoolean(o.pipRebind)&&a.$watch(s,function(t){r(t)}),a.$on("pipWindowResized",function(){r(s(a))}),i.addClass("pip-markdown")}}}])}(),function(){"use strict";var t=angular.module("pipPopover",["pipAssert"]);t.directive("pipPopover",function(){return{restrict:"EA",scope:!0,templateUrl:"popover/popover.template.html",controller:["$scope","$rootScope","$element","$timeout","$compile",function(t,e,n,a,i){function o(){u.addClass("opened"),$(".pip-popover-backdrop").focus(),t.params.timeout&&a(function(){r()},t.params.timeout)}function l(){t.params.cancelCallback&&t.params.cancelCallback(),r()}function r(){u.removeClass("opened"),a(function(){u.remove()},100)}function s(t){t.stopPropagation()}function p(){if(t.params.element){var e=$(t.params.element),n=e.offset(),a=e.width(),i=e.height(),o=$(document).width(),l=$(document).height(),r=u.find(".pip-popover");n&&r.css("max-width",o-(o-n.left)).css("max-height",l-(n.top+i)-32,0).css("left",n.left-r.width()+a/2).css("top",n.top+i+16)}}function d(){if(t.params.calcHeight!==!1){var e=u.find(".pip-popover"),n=e.find(".pip-title"),a=e.find(".pip-footer"),i=e.find(".pip-content"),o=e.height()-n.outerHeight(!0)-a.outerHeight(!0);i.css("max-height",Math.max(o,0)+"px").css("box-sizing","border-box")}}function c(){u.find(".pip-popover").find(".pip-content").css("max-height","100%"),p(),d()}var u=$(".pip-popover-backdrop");u.on("click keydown scroll",l),u.addClass(t.params.responsive!==!1?"pip-responsive":""),a(function(){if(p(),t.params.template){var e=i(t.params.template)(t);n.find(".pip-popover").append(e)}o()}),a(function(){d()},200),t.onPopoverClick=s,t=_.defaults(t,t.$parent),e.$on("pipPopoverResize",c),$(window).resize(c)}]}}),t.service("$pipPopover",["$compile","$rootScope","$timeout",function(t,e,n){function a(n){var a=$("body");if(!(a.find("md-backdrop").length>0)){i();var o,r=e.$new(),n=n&&_.isObject(n)?n:{};r.params=n,r.locals=n.locals,o=t(l)(r),a.append(o)}}function i(){var t=$(".pip-popover-backdrop");t.removeClass("opened"),n(function(){t.remove()},100)}function o(){e.$broadcast("pipPopoverResize")}var l="<div class='pip-popover-backdrop {{ params.class }}' ng-controller='params.controller' tabindex='1'><pip-popover pip-params='params'></pip-popover></div>";return{show:a,hide:i,resize:o}}])}(),function(){"use strict";var t=angular.module("pipOptionsDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{OPTIONS_TITLE:"Choose Option"}),t.translations("ru",{OPTIONS_TITLE:"Выберите опцию"})}]),t.factory("pipOptionsDialog",["$mdDialog",function(t){return{show:function(e,n,a){function i(){e.event&&e.event.currentTarget&&e.event.currentTarget.focus()}e.event&&(e.event.stopPropagation(),e.event.preventDefault()),t.show({targetEvent:e.event,templateUrl:"options_dialog/options_dialog.html",controller:"pipOptionsDialogController",locals:{params:e},clickOutsideToClose:!0}).then(function(t){i(),n&&n(t)},function(){i(),a&&a()})}}}]),t.controller("pipOptionsDialogController",["$scope","$rootScope","$mdDialog","params",function(t,e,n,a){function i(){var t=$(".pip-options-dialog .pip-list");t.focus()}t.theme=e.$theme,t.title=a.title||"OPTIONS_TITLE",t.options=a.options,t.selectedOption=_.find(a.options,{active:!0})||{},t.selectedOptionName=t.selectedOption.name,t.applyButtonTitle=a.appleButtonTitle||"SELECT",t.deleted=a.deleted,t.deletedTitle=a.deletedTitle,t.onOptionSelect=function(e,n){e.stopPropagation(),t.selectedOptionName=n.name},t.onKeyPress=function(e){32!=e.keyCode&&13!=e.keyCode||(e.stopPropagation(),e.preventDefault(),t.onSelect())},t.onCancel=function(){n.cancel()},t.onSelect=function(){var e=_.find(a.options,{name:t.selectedOptionName});n.hide({option:e,deleted:t.deleted})},setTimeout(i,500)}])}(),function(){"use strict";var t=angular.module("pipOptionsBigDialog",["ngMaterial","pipUtils","pipTranslate","pipBasicControls.Templates"]);t.config(["pipTranslateProvider",function(t){t.translations("en",{OPTIONS_TITLE:"Choose Option"}),t.translations("ru",{OPTIONS_TITLE:"Выберите опцию"})}]),t.factory("pipOptionsBigDialog",["$mdDialog",function(t){return{show:function(e,n,a){function i(){e.event&&e.event.currentTarget&&e.event.currentTarget.focus()}e.event&&(e.event.stopPropagation(),e.event.preventDefault()),t.show({targetEvent:e.event,templateUrl:"options_dialog/options_dialog_big.html",controller:"pipOptionsDialogBigController",locals:{params:e},clickOutsideToClose:!0}).then(function(t){i(),n&&n(t)},function(){i(),a&&a()})}}}]),t.controller("pipOptionsDialogBigController",["$scope","$rootScope","$mdDialog","params",function(t,e,n,a){function i(){var t=$(".pip-options-dialog .pip-list");t.focus()}t.theme=e.$theme,t.title=a.title||"OPTIONS_TITLE",t.options=a.options,t.noActions=a.noActions||!1,t.noTitle=a.noTitle||!1,t.hint=a.hint||"",t.selectedOption=_.find(a.options,{active:!0})||{},t.selectedOptionName=t.selectedOption.name,t.optionIndex=_.findIndex(a.options,t.selectedOption),t.applyButtonTitle=a.applyButtonTitle||"SELECT",t.deleted=a.deleted,t.deletedTitle=a.deletedTitle,t.onOptionSelect=function(e,n){e.stopPropagation(),t.selectedOptionName=n.name,t.noActions&&t.onSelect()},t.onSelected=function(e){t.selectedOptionName=t.options[t.optionIndex].name,t.noActions},t.onKeyUp=function(e,n){32!=e.keyCode&&13!=e.keyCode||(e.stopPropagation(),e.preventDefault(),void 0!=n&&n>-1&&n<t.options.length&&(t.selectedOptionName=t.options[n].name,t.onSelect()))},t.onCancel=function(){n.cancel()},t.onSelect=function(){var e=_.find(t.options,{name:t.selectedOptionName});n.hide({option:e,deleted:t.deleted})},setTimeout(i,500)}])}(),function(){"use strict";var t=angular.module("pipRoutingProgress",["ngMaterial"]);t.directive("pipRoutingProgress",function(){return{restrict:"EA",replace:!0,templateUrl:"progress/routing_progress.html"}})}(),function(){"use strict";var t=angular.module("pipTagList",["pipCore"]);t.directive("pipTagList",["$parse",function(t){return{restrict:"EA",scope:{pipTags:"=",pipType:"=",pipTypeLocal:"="},templateUrl:"tags/tag_list.html",controller:["$scope","$element","$attrs","pipUtils",function(e,n,a,i){var o=t(a.pipTags);n.css("display","block"),e.tags=o(e),i.toBoolean(a.pipRebind)&&e.$watch(o,function(t){e.tags=o(e)}),n.addClass("pip-tag-list")}]}}])}(),function(){"use strict";var t=angular.module("pipRefreshButton",["ngMaterial"]);t.directive("pipRefreshButton",["$parse",function(t){return{restrict:"EA",scope:!1,template:String()+'<md-button class="pip-refresh-button" tabindex="-1" ng-click="onClick($event)" aria-label="REFRESH"><md-icon md-svg-icon="icons:refresh"></md-icon> <span class="pip-refresh-text"></span></md-button>',replace:!1,link:function(e,n,a){function i(){s.hide()}var o=t(a.pipText),l=t(a.pipVisible),r=t(a.pipRefresh),s=n.children(".md-button"),p=s.children(".pip-refresh-text"),d=function(){var t=o(e);p.text(t),s.show();var n=s.width();s.css("margin-left","-"+n/2+"px")};e.onClick=function(t){r(e)},e.$watch(l,function(t){1==t?d():i()}),e.$watch(o,function(t){p.text(t)})}}}])}(),function(){"use strict";var t=angular.module("pipTimeView",["pipUtils"]);t.directive("pipTimeView",["pipUtils",function(t){return{restrict:"EA",scope:{pipStartDate:"=",pipEndDate:"="},templateUrl:"time_view/time_view.html",link:function(e,n,a){function i(t){var e=t?new Date(t):null;return e}function o(){null!==e.pipStartDate&&void 0!==e.pipStartDate&&(e.data.start=_.isDate(e.pipStartDate)?e.pipStartDate:i(e.pipStartDate))}function l(){null!==e.pipEndDate&&void 0!==e.pipEndDate&&(e.data.end=_.isDate(e.pipEndDate)?e.pipEndDate:i(e.pipEndDate))}e.data={},e.data.start=null,e.data.end=null,o(),l(),t.toBoolean(a.pipRebind)&&(e.$watch("pipStartDate",function(t){e.data.start=null,o()}),e.$watch("pipEndDate",function(t){e.data.end=null,l()})),n.addClass("pip-time-view")}}}])}(),function(){"use strict";var t=angular.module("pipTimeEdit",["pipUtils","pipTranslate"]);t.directive("pipTimeEdit",function(){return{restrict:"EA",scope:{pipStartDate:"=",pipChanged:"&",pipEndDate:"=",pipStartLabel:"@",pipEndLabel:"@",disabled:"&ngDisabled",pipSize:"="},templateUrl:"time_edit/time_edit.html",controller:"pipTimeEditController"}}),t.controller("pipTimeEditController",["$scope","$element","$attrs","pipDates","pipTranslate",function(t,e,n,a,i){function o(t){var e=t?new Date(t):null;return e}function l(){if(!t.data.startDate||!t.data.endDate)return null;var e,n;return e=new Date(t.data.startDate.getTime()+60*t.data.startTime*1e3),n=new Date(t.data.endDate.getTime()+60*t.data.endTime*1e3),n-e}function r(){if(!t.data.startDate)return void(t.data.startTime=null);if(!t.data.startTime)if(t.data.endTime)t.data.startTime=0==t.data.endTime?0:t.data.endTime-30;else{var e=new Date;t.data.startTime=30*Math.floor((e.getTime()-a.toStartDay(e))/18e5)}if(!t.data.endDate)return void(t.data.endTime=null);var n,i;n=new Date(t.data.startDate.getTime()+60*t.data.startTime*1e3),t.data.duration?(i=new Date(n.getTime()+t.data.duration),t.data.endDate=a.toStartDay(i),t.data.endTime=30*Math.floor((i.getTime()-t.data.endDate.getTime())/18e5)):(i=new Date(t.data.endDate.getTime()+60*t.data.endTime*1e3),n>=i&&(t.data.endDate=a.toStartDay(new Date(n.getTime()+18e5)),t.data.endTime=(t.data.startTime+30)%1440))}function s(){if(!t.data.endDate)return void(t.data.endTime=null);if(!t.data.endTime)if(t.data.startTime)t.data.endTime=1410==t.data.startTime?1410:t.data.startTime+30;else{var e=new Date;t.data.endTime=30*Math.floor((e.getTime()-a.toStartDay(e))/18e5)}if(!t.data.startDate)return void(t.data.startTime=null);var n,i;n=new Date(t.data.startDate.getTime()+60*t.data.startTime*1e3),i=new Date(t.data.endDate.getTime()+60*t.data.endTime*1e3),n>=i&&(t.data.startDate=a.toStartDay(new Date(i.getTime()-18e5)),t.data.startTime=t.data.endTime%1440==0?1410:t.data.endTime-30),t.data.duration=l()}function p(){if(t.data.bind=!1,t.data.startDate){var e=t.data.startTime?60*t.data.startTime*1e3:0;t.pipStartDate=new Date(t.data.startDate.getTime()+e)}if(t.data.endDate){var e=t.data.endTime?60*t.data.endTime*1e3:0;t.pipEndDate=new Date(t.data.endDate.getTime()+e)}t.data.bind=!0}function d(){var e,n;if(null!==t.pipStartDate&&void 0!==t.pipStartDate){var e=_.isDate(t.pipStartDate)?t.pipStartDate:null;e||(e=o(t.pipStartDate)),t.data.startDate=a.toStartDay(e),t.data.startTime=(new Date(e)-t.data.startDate)/6e4}if(null!==t.pipEndDate&&void 0!==t.pipEndDate){var n=_.isDate(t.pipEndDate)?t.pipEndDate:null;e||(n=o(t.pipEndDate)),t.data.endDate=a.toStartDay(n),t.data.endTime=(new Date(n)-t.data.endDate)/6e4}r(),t.data.duration=l(),p()}function c(){for(var t=[],e=0;24>e;e++)for(var n=0;2>n;n++){var a=30*n;t.push({id:60*e+a,time:_.pad(e.toString(),3,"0").substr(0,2)+":"+_.pad(a.toString(),2,"0")})}return t}function u(){t.data.startDate=null,t.data.startTime=null,t.data.endDate=null,t.data.endTime=null,t.data.duration=null}t.intervalTimeCollection=c(),t.data={},t.startLabel=t.pipStartLabel?i.translate(t.pipStartLabel):i.translate("EVENT_NEW_START_TIME"),t.endLabel=t.pipEndLabel?i.translate(t.pipEndLabel):i.translate("EVENT_NEW_END_TIME"),u(),d(),t.onChangeStartDate=function(){r(),t.data.duration=l(),p(),t.pipChanged()},t.onChangeEndDate=function(){s(),t.data.duration=l(),p(),t.pipChanged()},t.onChangeStartTime=function(){t.data.startDate||(t.data.startDate=a.toStartDay(new Date)),r(),t.data.duration=l(),p(),t.pipChanged()},t.onChangeEndTime=function(){t.data.endDate||(t.data.endDate=a.toStartDay(new Date)),s(),t.data.duration=l(),p(),t.pipChanged()},t.isDisabled=function(){return t.disabled?t.disabled():!1},t.$watchGroup([t.pipStartDate,t.pipEndDate],function(){t.data.bind&&(u(),d())})