{"__symbolic":"module","version":4,"metadata":{"WorkTimeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"WorkTimeType":{"REGULAR":"REGULAR","RAMADAN":"RAMADAN"},"WorkTime":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"TimeTable":{"__symbolic":"class","members":{}},"Time":{"__symbolic":"interface"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"work-time","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":13,"character":21},"useExisting":{"__symbolic":"reference","name":"ɵa"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":18,"character":21},"useExisting":{"__symbolic":"reference","name":"ɵa"},"multi":true}],"template":"\n<div class=\"work-time-wrapper\">\n    <table class=\"table table-sm table-bordered work-time-table w-100\">\n        <tbody>\n        <tr>\n            <th title=\"Time period\">Period</th>\n            <th class=\"week-name-table\" title=\"Sunday\">Su</th>\n            <th class=\"week-name-table\" title=\"Monday\">Mo</th>\n            <th class=\"week-name-table\" title=\"Tuesday\">Tu</th>\n            <th class=\"week-name-table\" title=\"Wednesday\">We</th>\n            <th class=\"week-name-table\" title=\"Thursday\">Th</th>\n            <th class=\"week-name-table\" title=\"Friday\">Fr</th>\n            <th class=\"week-name-table\" title=\"Saturday\">Sa</th>\n            <th [hidden]=\"readonly\"></th>\n        </tr>\n        <tr [hidden]=\"intervals?.length\">\n            <td colspan=\"9\"><em class=\"ml-1 text-muted\">No time periods</em></td>\n        </tr>\n        <tr *ngFor=\"let i of intervals\">\n            <td class=\"period\">{{i}}</td>\n            <td *ngFor=\"let day of week\" [ngClass]=\"{'intersection': checkDayIntervalIntersection(i, day)}\"\n                class=\"text-center\">\n                <i class=\"fa fa-check\"\n                   *ngIf=\"readonly && timeTable[i][day]\"\n                   aria-hidden=\"true\">✔</i>\n                <div class=\"form-check\">\n                    <input type=\"checkbox\"\n                        [hidden]=\"readonly\"\n                        (change)=\"changeTime()\"\n                        class=\"form-check-input\"\n                        [(ngModel)]=\"timeTable[i][day]\">    \n                </div>   \n                \n            </td>\n            <td [hidden]=\"readonly\">\n                <button class=\"close\" (click)=\"deleteInterval(i)\">&times;</button>\n            </td>\n        </tr>\n        </tbody>\n    </table>\n\n\n    <div class=\"text-danger\" [hidden]=\"!checkSomeIntersection()\">\n        <i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i>\n        Error! The time intersection.\n    </div>\n\n    <div [hidden]=\"checkSomeIntersection() || readonly\">\n        <button\n                [hidden]=\"addFormView\"\n                type=\"button\"\n                class=\"btn btn-sm btn-link\"\n                (click)=\"addFormView = true\">+ Add\n        </button>\n\n        <table class=\"w-100\" [hidden]=\"!addFormView\">\n            <tbody>\n            <tr>\n                <td>\n                    <div class=\"input-group input-group-sm\">\n                        <input type=\"number\"\n                               class=\"form-control\"\n                               [(ngModel)]=\"startTime.h\"\n                               min=\"0\"\n                               max=\"24\"\n                               placeholder=\"10\">\n                        <input type=\"number\"\n                               class=\"form-control\"\n                               [(ngModel)]=\"startTime.m\"\n                               min=\"0\"\n                               max=\"60\"\n                               placeholder=\"00\">\n                    </div>\n                </td>\n                <td>-</td>\n                <td>\n                    <div class=\"input-group input-group-sm\">\n                        <input type=\"number\"\n                               class=\"form-control\"\n                               [(ngModel)]=\"endTime.h\"\n                               min=\"0\"\n                               max=\"24\"\n                               placeholder=\"18\">\n                        <input type=\"number\"\n                               class=\"form-control\"\n                               [(ngModel)]=\"endTime.m\"\n                               min=\"0\"\n                               max=\"60\"\n                               placeholder=\"00\">\n                    </div>\n                </td>\n                <td class=\"added-buttons\">\n\n                    <div class=\"btn-group btn-group-sm w-100\" role=\"group\">\n                        <button type=\"button\"\n                                class=\"btn btn-outline-primary\"\n                                [disabled]=\"!isValidNewInterval()\"\n                                (click)=\"addInterval()\">+ Add\n                        </button>\n                        <button type=\"button\"\n                                class=\"btn btn-secondary\"\n                                [disabled]=\"!isValidNewInterval()\"\n                                (click)=\"addFormView = false\">&times;\n                        </button>\n                    </div>\n\n                </td>\n            </tr>\n\n            </tbody>\n        </table>\n\n    </div>\n\n</div>\n","styles":[".work-time-wrapper{max-width:400px}.table-sm td{padding:.3rem .2rem}.work-time-table{width:100%}.work-time-table td{padding:.3rem 1px}.work-time-table td.period,.work-time-table th{padding:.3rem}.work-time-table th{font-size:90%}.work-time-table .form-control{cursor:pointer}.week-name-table{width:9%;text-align:center}.intersection{background-color:#ec9595}.close{font-size:90%;float:none;margin-left:5px;margin-right:5px}.form-control+.form-control{border-left:none}.added-buttons{width:90px}.added-buttons .btn-group{text-align:right}"]}]}],"members":{"workTimeType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor"}],"workTimeToTimeTables":[{"__symbolic":"method"}],"timeTablesToWorkTime":[{"__symbolic":"method"}],"checkSomeIntersection":[{"__symbolic":"method"}],"checkDayIntervalIntersection":[{"__symbolic":"method"}],"deleteInterval":[{"__symbolic":"method"}],"timeFormat":[{"__symbolic":"method"}],"isValidNewInterval":[{"__symbolic":"method"}],"addInterval":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"changeTime":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}}},"origins":{"WorkTimeModule":"./src/app/modules/work-time/work-time.module","WorkTimeType":"./src/app/modules/work-time/types","WorkTime":"./src/app/modules/work-time/models","TimeTable":"./src/app/modules/work-time/models","Time":"./src/app/modules/work-time/interfaces","ɵa":"./src/app/modules/work-time/work-time.component"},"importAs":"work-time"}