UNPKG

time-targeting-component

Version:
121 lines (112 loc) 6.69 kB
(function () { 'use strict'; angular.module('testApp', ['timeTargetingModule']) .component('testComponent', { template: '<h2>Time targeting simple component</h2><time-targeting-component model="$ctrl.model" options="$ctrl.options"></time-targeting-component><h2>Default model:</h2>' +'<p>{{$ctrl.defaultModel}}</p><h2>Are holidays valid:</h2><p>{{$ctrl.isHolidaysValid}}</p><h2>Load from model:</h2><div class="form-group">' +'<div class="form-line"><input class="form-control" type="text" ng-model="$ctrl.textModel" placeholder="Insert default model"><button class="btn btn-outline" ng-click="$ctrl.loadModel();">load</button></div></div>' +'<h2>Time targeting extended component</h2><time-targeting-component model="$ctrl.modelTwo" options="$ctrl.optionsTwo"></time-targeting-component><h2>Default model:</h2>' +'<p>{{$ctrl.defaultModelTwo}}</p><h2>Are holidays valid:</h2><p>{{$ctrl.isHolidaysValidTwo}}</p><h2>Are holidays equals:</h2><p>{{$ctrl.isHolidaysOneValue}}</p><h2 ng-show="$ctrl.isHolidaysOneValue == false || $ctrl.isHolidaysValidTwo == false">Fix all problems</h2><button ng-show="$ctrl.isHolidaysOneValue == false || $ctrl.isHolidaysValidTwo == false" class="btn btn-outline" ng-click="$ctrl.fix();">Fix all</button><h2>Load from model:</h2><div class="form-group">' +'<div class="form-line"><input class="form-control" type="text" ng-model="$ctrl.textModelTwo" placeholder="Insert default model"><button class="btn btn-outline" ng-click="$ctrl.loadModelTwo();">load</button></div></div>', controller: ['defaultTimeAdapter', 'extendedTimeAdapter', testController] }); function testController(defaultTimeAdapter, extendedTimeAdapter) { var vm = this; vm.defaultModel = ''; vm.isHolidaysValid = true; vm.textModel = ''; vm.defaultModelTwo = ''; vm.isHolidaysValidTwo = true; vm.isHolidaysOneValue= true; vm.textModelTwo = ''; vm.model = {}; vm.modelTwo = {}; vm.options = { days: ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс', 'пр'], daysHint: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье', 'Праздничные дни'], hours: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'], buttons: [ { name: 'Круглосуточно, вся неделя', model: '1ABCDEFGHIJKLMNOPQRSTUVWX2ABCDEFGHIJKLMNOPQRSTUVWX3ABCDEFGHIJKLMNOPQRSTUVWX4ABCDEFGHIJKLMNOPQRSTUVWX5ABCDEFGHIJKLMNOPQRSTUVWX6ABCDEFGHIJKLMNOPQRSTUVWX7ABCDEFGHIJKLMNOPQRSTUVWX' }, { name: 'Рабочие часы в будние дни', model: '1JKLMNOPQRS2JKLMNOPQRS3JKLMNOPQRS4JKLMNOPQRS5JKLMNOPQRS' }, { name: 'Будние дни, круглосуточно', model: '1ABCDEFGHIJKLMNOPQRSTUVWX2ABCDEFGHIJKLMNOPQRSTUVWX3ABCDEFGHIJKLMNOPQRSTUVWX4ABCDEFGHIJKLMNOPQRSTUVWX5ABCDEFGHIJKLMNOPQRSTUVWX' }, { name: 'Пользовательские настройки', model: '', noclear: true } ], timeAdapter: defaultTimeAdapter, defaultButtonSelected: 1, reload: true, spacing: [4, 6], onChange: function () { vm.defaultModel = defaultTimeAdapter.objToString(vm.model); vm.isHolidaysValid = defaultTimeAdapter.isHolidaysValid(vm.model); }, onInit: function () { console.log('init'); } }; vm.optionsTwo = { days: ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс', 'пр'], daysHint: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье', 'Праздничные дни'], hours: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'], buttons: [ { name: 'Круглосуточно, вся неделя', model: '1ABCDEFGHIJKLMNOPQRSTUVWX2ABCDEFGHIJKLMNOPQRSTUVWX3ABCDEFGHIJKLMNOPQRSTUVWX4ABCDEFGHIJKLMNOPQRSTUVWX5ABCDEFGHIJKLMNOPQRSTUVWX6ABCDEFGHIJKLMNOPQRSTUVWX7ABCDEFGHIJKLMNOPQRSTUVWX' }, { name: 'Рабочие часы в будние дни', model: '1JKLMNOPQRS2JKLMNOPQRS3JKLMNOPQRS4JKLMNOPQRS5JKLMNOPQRS' }, { name: 'Будние дни, круглосуточно', model: '1ABCDEFGHIJKLMNOPQRSTUVWX2ABCDEFGHIJKLMNOPQRSTUVWX3ABCDEFGHIJKLMNOPQRSTUVWX4ABCDEFGHIJKLMNOPQRSTUVWX5ABCDEFGHIJKLMNOPQRSTUVWX' }, { name: 'Пользовательские настройки', model: '', noclear: true } ], timeAdapter: extendedTimeAdapter, defaultButtonSelected: 1, reload: true, spacing: [4, 6], extended: true, extendedTitle: 'Ставка', extendedValues: [100,90,80,70,60,50,40,30,20,10,0], extendedDefaultValue: 100, onChange: function () { vm.defaultModelTwo = extendedTimeAdapter.objToString(vm.modelTwo); vm.isHolidaysValidTwo = extendedTimeAdapter.isHolidaysValid(vm.modelTwo); vm.isHolidaysOneValue = extendedTimeAdapter.isHolidaysOneValue(vm.modelTwo); }, onInit: function () { console.log('init'); } }; vm.loadModel = function() { defaultTimeAdapter.stringToObj(vm.textModel, vm.model); vm.options.onChange(); }; vm.loadModelTwo = function() { extendedTimeAdapter.stringToObj(vm.textModelTwo, vm.modelTwo); vm.optionsTwo.onChange(); }; vm.fix = function() { vm.defaultModelTwo = extendedTimeAdapter.objToString(vm.modelTwo, true); vm.optionsTwo.onChange(); } } })();