cpi-specification
Version:
Childrens Plus Inc. Specification Component for Angular projects
603 lines (592 loc) • 176 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('@syncfusion/ej2-notifications'), require('@angular/platform-browser'), require('@angular/http'), require('@angular/forms'), require('@angular/common/http'), require('@syncfusion/ej2-angular-buttons'), require('@syncfusion/ej2-angular-dropdowns'), require('@syncfusion/ej2-angular-grids'), require('@syncfusion/ej2-angular-inputs'), require('@syncfusion/ej2-angular-navigations'), require('@syncfusion/ej2-angular-notifications'), require('@angular/core')) :
typeof define === 'function' && define.amd ? define('cpi-specification', ['exports', 'jquery', '@syncfusion/ej2-notifications', '@angular/platform-browser', '@angular/http', '@angular/forms', '@angular/common/http', '@syncfusion/ej2-angular-buttons', '@syncfusion/ej2-angular-dropdowns', '@syncfusion/ej2-angular-grids', '@syncfusion/ej2-angular-inputs', '@syncfusion/ej2-angular-navigations', '@syncfusion/ej2-angular-notifications', '@angular/core'], factory) :
(factory((global['cpi-specification'] = {}),global.$,global.ej2Notifications,global.ng.platformBrowser,global.ng.http,global.ng.forms,global.ng.common.http,global.ej2AngularButtons,global.ej2AngularDropdowns,global.ej2AngularGrids,global.ej2AngularInputs,global.ej2AngularNavigations,global.ej2AngularNotifications,global.ng.core));
}(this, (function (exports,$,ej2Notifications,platformBrowser,http,forms,i1,ej2AngularButtons,ej2AngularDropdowns,ej2AngularGrids,ej2AngularInputs,ej2AngularNavigations,ej2AngularNotifications,i0) { 'use strict';
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var SpecificationsService = /** @class */ (function () {
function SpecificationsService() {
}
SpecificationsService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
SpecificationsService.ctorParameters = function () { return []; };
/** @nocollapse */ SpecificationsService.ngInjectableDef = i0.defineInjectable({ factory: function SpecificationsService_Factory() { return new SpecificationsService(); }, token: SpecificationsService, providedIn: "root" });
return SpecificationsService;
}());
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try {
step(generator.next(value));
}
catch (e) {
reject(e);
} }
function rejected(value) { try {
step(generator["throw"](value));
}
catch (e) {
reject(e);
} }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1)
throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
while (_)
try {
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;
if (y = 0, t)
op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2])
_.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
}
catch (e) {
op = [6, e];
y = 0;
}
finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var Constants = /** @class */ (function () {
function Constants() {
/* #region Titles */
this.TITLE_CPI_CATALOG = 'CPI Cataloging Application';
this.TITLE_SPECIFICATION = 'Specification';
this.TITLE_LOGIN = 'Login';
/* #endregion */
}
return Constants;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var SharedService = /** @class */ (function () {
function SharedService() {
}
/**
* @param {?} title
* @param {?} content
* @return {?}
*/
SharedService.prototype.showToastAsync = /**
* @param {?} title
* @param {?} content
* @return {?}
*/
function (title, content) {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(( /**
* @param {?} resolve
* @return {?}
*/function (resolve) {
return __awaiter(_this, void 0, void 0, function () {
var toastModel, toast;
return __generator(this, function (_a) {
toastModel = {
content: content,
position: {
X: 'CENTER',
Y: 'TOP'
},
showCloseButton: true,
title: title
};
toast = new ej2Notifications.Toast(toastModel, document.querySelector('#toast'));
toast.show();
resolve();
return [2 /*return*/];
});
});
}))];
});
});
};
SharedService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
SharedService.ctorParameters = function () { return []; };
/** @nocollapse */ SharedService.ngInjectableDef = i0.defineInjectable({ factory: function SharedService_Factory() { return new SharedService(); }, token: SharedService, providedIn: "root" });
return SharedService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var SpecificationService = /** @class */ (function () {
function SpecificationService(httpClient) {
this.httpClient = httpClient;
this.getSpecifications = [
{
SubTag: 'sampleTag1', Description: 'VINET'
},
{
SubTag: 'sampleTag 2', Description: 'sample'
},
{
SubTag: 'sampleTag 3', Description: 'description'
},
{
SubTag: 'sampleTag 2', Description: 'sample'
},
{
SubTag: 'sampleTag 3', Description: 'description'
}
];
}
/**
* @param {?} specificationID
* @param {?} api_URL
* @return {?}
*/
SpecificationService.prototype.getSpecificationsAsync = /**
* @param {?} specificationID
* @param {?} api_URL
* @return {?}
*/
function (specificationID, api_URL) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.httpClient.get(api_URL + "/" + specificationID).toPromise()];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* @param {?} specificationID
* @param {?} specification
* @param {?} api_URL
* @return {?}
*/
SpecificationService.prototype.saveSpecificationAsync = /**
* @param {?} specificationID
* @param {?} specification
* @param {?} api_URL
* @return {?}
*/
function (specificationID, specification, api_URL) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!(specificationID == 0))
return [3 /*break*/, 2];
return [4 /*yield*/, this.httpClient.post("" + api_URL, specification).toPromise()];
case 1: return [2 /*return*/, _a.sent()];
case 2: return [4 /*yield*/, this.httpClient.put(api_URL + "/" + specificationID, specification).toPromise()];
case 3: return [2 /*return*/, _a.sent()];
}
});
});
};
SpecificationService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
SpecificationService.ctorParameters = function () {
return [
{ type: i1.HttpClient }
];
};
/** @nocollapse */ SpecificationService.ngInjectableDef = i0.defineInjectable({ factory: function SpecificationService_Factory() { return new SpecificationService(i0.inject(i1.HttpClient)); }, token: SpecificationService, providedIn: "root" });
return SpecificationService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var SpecificationsComponent = /** @class */ (function () {
function SpecificationsComponent(constants, sharedService, specificationService) {
this.constants = constants;
this.sharedService = sharedService;
this.specificationService = specificationService;
this.type = 'Push';
this.target = '.content';
this.prevDiv = "";
}
/**
* @return {?}
*/
SpecificationsComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.specificationTitle = this.constants.TITLE_SPECIFICATION;
$(document).ready(( /**
* @return {?}
*/function () {
document.getElementById("dividshow").className = "hide-catalog-fixed-header";
document.getElementById("licatalog1").className = "active-link";
$(document).click(( /**
* @param {?} e
* @return {?}
*/function (e) {
checkClassJS($(window));
}));
window.onbeforeunload = ( /**
* @return {?}
*/function () {
window.scrollTo(0, 0);
});
window.onscroll = ( /**
* @return {?}
*/function () {
checkClassJS($(this));
});
/**
* @param {?} e
* @return {?}
*/
function checkClassJS(e) {
if ($(".sidebar-dropdown").find(".clicksidebar").length >= 1) {
$("#collapseSidebar").removeClass("clicksidebar");
return;
}
/** @type {?} */
var $sections = $('.containerDiv');
// currentScroll is the number of pixels the window has been scrolled
/** @type {?} */
var currentScroll = e.scrollTop();
// $currentSection is somewhere to place the section we must be looking at
/** @type {?} */
var $currentSection;
// We check the position of each of the divs compared to the windows scroll positon
/** @type {?} */
var sidemenu = $("#maincontent").find(".e-open").length;
$sections.each(( /**
* @return {?}
*/function () {
// divPosition is the position down the page in px of the current section we are testing
/** @type {?} */
var divPosition = $(this).offset().top;
// If the divPosition is less the the currentScroll position the div we are testing has moved above the window edge.
// the -1 is so that it includes the div 1px before the div leave the top of the window.
if (divPosition - 300 < currentScroll) {
// We have either read the section or are currently reading the section so we'll call it our current section
$currentSection = $(this);
/** @type {?} */
var id = $currentSection.prop('id');
$(".active-link").addClass("sidebar-item");
$(".active-link").removeClass("active-link");
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 350) {
document.getElementById("licatalog5").className = "active-link";
}
else {
if (id.indexOf('catalog3Div') >= 0) {
$('.sidebar-dropdown a').removeClass('collapsed');
$('.sidebar-dropdown a').prop('aria-expanded', true);
$('#submenu').addClass("show");
}
else {
$('.sidebar-dropdown a').addClass('collapsed');
$('.sidebar-dropdown a').prop('aria-expanded', false);
$('#submenu').removeClass("show");
}
document.getElementById("li" + id).className = "active-link";
}
}
/** @type {?} */
var catalog3header = document.getElementById('catalog3header').getBoundingClientRect();
/** @type {?} */
var top = catalog3header.top;
/** @type {?} */
var catalog3Div15 = document.getElementById('catalog3Div15').getBoundingClientRect();
/** @type {?} */
var divTop = catalog3Div15.top;
if (top <= 0 && divTop > 0) {
if (sidemenu > 0) {
document.getElementById("dividshow").className = "e-content-animation catalog-fixed-header sidemenu well row col-12";
}
else {
document.getElementById("dividshow").className = "e-content-animation catalog-fixed-header well row col-12";
}
}
else {
document.getElementById("dividshow").className = "hide-catalog-fixed-header";
}
}));
}
}));
return [4 /*yield*/, this.getCardsSpecificationAsync(this.SpecificationId)];
case 1:
_a.sent();
return [2 /*return*/];
}
});
});
};
/**
* @param {?} i
* @return {?}
*/
SpecificationsComponent.prototype.checkClass = /**
* @param {?} i
* @return {?}
*/
function (i) {
/** @type {?} */
var catalog3header = document.getElementById('catalog3header').getBoundingClientRect();
/** @type {?} */
var top = catalog3header.top;
/** @type {?} */
var catalog3Div15 = document.getElementById('catalog3Div15').getBoundingClientRect();
/** @type {?} */
var divTop = catalog3Div15.top;
if (top <= 0 && divTop > 0) {
if (i >= 0) {
document.getElementById("dividshow").className = "e-content-animation catalog-fixed-header sidemenu well row col-12";
}
else {
document.getElementById("dividshow").className = "e-content-animation catalog-fixed-header well row col-12";
}
}
else {
document.getElementById("dividshow").className = "hide-catalog-fixed-header";
}
};
/**
* @return {?}
*/
SpecificationsComponent.prototype.onClickCloseSideBar = /**
* @return {?}
*/
function () {
this.sidebar.hide();
this.togglebtn.element.classList.remove('e-active');
};
/**
* @return {?}
*/
SpecificationsComponent.prototype.onClickSaveSpecificationsAsync = /**
* @return {?}
*/
function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.specificationService.saveSpecificationAsync(1, this.specification, this.API_URL)];
case 1:
_a.sent();
return [4 /*yield*/, this.sharedService.showToastAsync(this.specificationTitle, "Specifications saved successfully.")];
case 2:
_a.sent();
return [2 /*return*/];
}
});
});
};
/**
* @return {?}
*/
SpecificationsComponent.prototype.onClickToggle = /**
* @return {?}
*/
function () {
if (this.togglebtn.element.classList.contains('e-active')) {
this.sidebar.hide();
this.checkClass(0);
}
else {
this.sidebar.show();
this.checkClass(1);
}
};
/**
* @param {?} elementId
* @return {?}
*/
SpecificationsComponent.prototype.scrollToTop = /**
* @param {?} elementId
* @return {?}
*/
function (elementId) {
document.getElementById(elementId).scrollIntoView(true);
if (this.prevDiv == "") {
this.prevDiv = "catalog1";
}
/** @type {?} */
var previousdiv = this.prevDiv;
this.prevDiv = elementId;
document.getElementById("li" + elementId).className = "active-link";
document.getElementById("li" + previousdiv).classList.remove("active-link");
document.getElementById("li" + previousdiv).className = "sidebar-item";
/** @type {?} */
var scrolledY = window.scrollY;
if (scrolledY && elementId != 'catalog3Div1' && elementId.indexOf('catalog3Div') >= 0) {
window.scroll(0, scrolledY - 130);
}
else if (scrolledY && elementId != 'catalog3Div1') {
window.scroll(0, scrolledY - 80);
}
else if (scrolledY && elementId == 'catalog3Div1') {
window.scroll(0, scrolledY - 290);
}
};
/**
* @return {?}
*/
SpecificationsComponent.prototype.onClickCheckSideDropdown = /**
* @return {?}
*/
function () {
$('#collapseSidebar').addClass('clicksidebar');
};
/**
* @param {?} specificationId
* @return {?}
*/
SpecificationsComponent.prototype.getCardsSpecificationAsync = /**
* @param {?} specificationId
* @return {?}
*/
function (specificationId) {
return __awaiter(this, void 0, void 0, function () {
var _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_a = this;
return [4 /*yield*/, this.specificationService.getSpecificationsAsync(specificationId, this.API_URL)];
case 1:
_a.specification = _b.sent();
return [2 /*return*/];
}
});
});
};
SpecificationsComponent.decorators = [
{ type: i0.Component, args: [{
selector: 'cpi-lib-specifications',
template: " <div id=\"head\">\r\n <div class=\"navbar-open-icon\">\r\n <span ejs-button id=\"toggle\" #togglebtn class=\"nav-open\" cssClass=\"e-flat\" iconCss=\"e-icons burg-icon\"\r\n isToggle=\"true\" (click)=\"onClickToggle()\">\u2630</span>\r\n </div>\r\n <div class=\"col-sm-6 pull-right padding-top-5\">\r\n <div class=\"btn-header\">\r\n <button ejs-button class=\"pull-right\" (click)=\"onClickSaveSpecificationsAsync()\">Save</button>\r\n <button ejs-button class=\"pull-right\">Print</button>\r\n <button ejs-button class=\"pull-right\">Finished</button>\r\n </div>\r\n </div>\r\n\r\n <div id=\"dividshow\" class=\"catalog-fixed-header well row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"text-bold\">Classification Prefix</div>\r\n </div>\r\n <div class=\"col-sm-3\">\r\n <div class=\"text-bold\">Classification Option </div>\r\n </div>\r\n <div class=\"col-sm-3\">\r\n <div class=\"text-bold\"> Number of Main Entry Letters</div>\r\n </div>\r\n <div class=\"col-sm-2\">\r\n <div class=\"text-bold align-text\">Example</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"content-top\">\r\n <ejs-sidebar id=\"default-sidebar\" #sidebar [type]='type' [target]='target'>\r\n <div class=\"center-align\">\r\n <button ejs-button id=\"close\" (click)=\"onClickCloseSideBar()\" class=\"e-btn close-btn\">X</button>\r\n </div>\r\n <div id=\"menulist\" class=\"dock\">\r\n <ul>\r\n <li id=\"licatalog1\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog1')\">\r\n <span class=\"e-text\" title=\"catalog1\">Cards and Spine Labels</span>\r\n </li>\r\n <li id=\"licatalog2\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog2')\">\r\n <span class=\"e-text\" title=\"catalog2\">Barcodes and MARC Records</span>\r\n </li>\r\n <li class=\"sidebar-item sidebar-dropdown\">\r\n <a id=\"collapseSidebar\" class=\"accordion-toggle collapsed toggle-switch\" data-toggle=\"collapse\"\r\n (click)=\"onClickCheckSideDropdown()\" href=\"#submenu\">\r\n <span class=\"e-text padding-right-10\" title=\"catalog3\">Classification Options</span>\r\n <b>v</b>\r\n </a>\r\n\r\n <ul id=\"submenu\" class=\"panel-collapse collapse panel-switch\" role=\"menu\">\r\n <li id=\"licatalog3Div1\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div1')\">\r\n <span class=\"e-text\" title=\"Individual Biography\">Individual Biography </span>\r\n </li>\r\n <li id=\"licatalog3Div2\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div2')\">\r\n <span class=\"e-text\" title=\"Easy Books (Fiction Grades K-3)\">Easy Books (Fiction Grades\r\n K-3)</span>\r\n </li>\r\n <li id=\"licatalog3Div3\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div3')\">\r\n <span class=\"e-text\" title=\"Easy Chapter Books (Fiction Grades K-3)\">Easy Chapter Books\r\n (Fiction Grades K-3)</span>\r\n </li>\r\n <li id=\"licatalog3Div4\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div4')\">\r\n <span class=\"e-text\" title=\"Fiction Grades4-8\">Fiction Grades 4-8</span>\r\n </li>\r\n <li id=\"licatalog3Div5\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div5')\">\r\n <span class=\"e-text\" title=\"Fiction Grades 9 and above\">Fiction Grades 9 and above</span>\r\n </li>\r\n <li id=\"licatalog3Div6\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div6')\">\r\n <span class=\"e-text\" title=\"Graphic Fiction\">Graphic Fiction</span>\r\n </li>\r\n <li id=\"licatalog3Div7\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div7')\">\r\n <span class=\"e-text\" title=\"Non-fiction Grades K-3\">Non-fiction Grades K-3</span>\r\n </li>\r\n <li id=\"licatalog3Div8\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div8')\">\r\n <span class=\"e-text\" title=\"Non-fiction Grades 4-8\">Non-fiction Grades 4-8</span>\r\n </li>\r\n <li id=\"licatalog3Div9\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div9')\">\r\n <span class=\"e-text\" title=\"Non-fiction Grades 9 and above\">Non-fiction Grades 9 and above</span>\r\n </li>\r\n <li id=\"licatalog3Div10\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div10')\">\r\n <span class=\"e-text\" title=\"Graphic Nonfiction\">Graphic Nonfiction</span>\r\n </li>\r\n <li id=\"licatalog3Div11\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div11')\">\r\n <span class=\"e-text\" title=\"Collective Biography\">Collective Biography</span>\r\n </li>\r\n <li id=\"licatalog3Div12\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div12')\">\r\n <span class=\"e-text\" title=\"Story Collections\">Story Collections</span>\r\n </li>\r\n <li id=\"licatalog3Div13\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div13')\">\r\n <span class=\"e-text\" title=\"Foreign Language\">Foreign Language</span>\r\n </li>\r\n <li id=\"licatalog3Div14\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div14')\">\r\n <span class=\"e-text\" title=\"Bilingual (English/Spanish) Books\">Bilingual (English/Spanish)\r\n Books</span>\r\n </li>\r\n <li id=\"licatalog3Div15\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog3Div15')\">\r\n <span class=\"e-text\" title=\"Reference (Dictionaries and Encyclopedias)\">Reference (Dictionaries\r\n and Encyclopedias)</span>\r\n </li>\r\n </ul>\r\n\r\n </li>\r\n <li id=\"licatalog4\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog4')\">\r\n <span class=\"e-text\" title=\"catalog4\">Attachment Instructions</span>\r\n </li>\r\n <li id=\"licatalog5\" class=\"sidebar-item\" (click)=\"scrollToTop('catalog5')\">\r\n <span class=\"e-text\" title=\"catalog5\">Custom Holding</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </ejs-sidebar>\r\n\r\n\r\n\r\n\r\n <div class=\"right-body\">\r\n <div id=\"maincontent\" class=\"content\">\r\n <div id=\"cha1\">\r\n <div id=\"catalog1\" class=\"containerDiv\">\r\n <cpi-cards [specification]=\"specification\"></cpi-cards>\r\n </div>\r\n <div id=\"catalog2\" class=\"containerDiv\">\r\n <cpi-barcodes [specification]=\"specification\"></cpi-barcodes>\r\n </div>\r\n <div id=\"catalog3\">\r\n <cpi-cataloging [specification]=\"specification\"></cpi-cataloging>\r\n </div>\r\n <div id=\"catalog4\" class=\"containerDiv\">\r\n <cpi-attachment-instructions [specification]=\"specification\"></cpi-attachment-instructions>\r\n </div>\r\n <div id=\"catalog5\" class=\"containerDiv\">\r\n <cpi-custom-holding></cpi-custom-holding>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"toast\" class=\"margin-top-75\"></div>\r\n",
styles: [".title{text-align:center;font-size:20px;padding:15px}.sub-title{text-align:center;font-size:16px;padding:10px}#wrapper .sub-title .column{display:inline-block;padding:10px}.center{text-align:center;display:none;font-size:13px;font-weight:400;margin-top:20px}.sb-content-tab .center{display:block}.checkbox-content{padding:10px}.box-input{border:1.2px solid #a933da;padding:10px;margin:20px 40px;width:50%}.box-input .e-float-input{padding:10px 5px}.box-input .e-float-input input{margin:0 10px;width:90%}.radio-btn-session .inline-header{font-weight:700;display:inline}.radio-btn-session .inline-radio-btn{display:inline;padding-left:30px}.radio-btn-session .inline-radio-btn .e-radio-wrapper{padding:0 10px}.e-input{margin:0 10px}.sub-heading{padding:10px}ejs-radiobutton{margin:5px 0;padding:0 5px}.e-radio+label::before{height:16px;width:16px;left:1px;top:1px}.e-float-input{padding:5px 0}.padding-rl-15{padding:0 15px}input[type=checkbox],input[type=radio]{margin:0 10px}#head button,.catalog2-body button{margin:0 6px;border-radius:44px;color:#fff;background:#8b3b94;padding:3px 10px;border:1px solid #8b3b94;text-transform:uppercase}.attachment-img{padding-bottom:15px}figure{display:inline}.tag-table{padding:33px}.tag-table .e-grid.e-default{border:1px solid #a933da}.tag-table .e-grid.e-default th{border-bottom:1px solid #a933da}.tag-table .e-grid.e-default th span{font-weight:700;color:#000}.tag-table .e-grid.e-default th:first-child{border-right:1px solid #a933da}.tag-table .e-grid.e-default td:first-child{border-right:1px solid #ddd}#maincontent{padding-top:70px}.session{height:55px}.catalog-fixed-header{padding-bottom:35px;color:#8b3b94;font-size:14px;border:1px solid #8b3b94;margin-top:19px}.sidemenu{margin-left:13.4%;width:86.6%}.padding-right-10{padding-right:10px}.hidediv{color:#a90a0a}.hide-catalog-fixed-header{visibility:hidden}.fiction-block .e-radio-wrapper{display:block}.label-barcode{font-size:16px}.margin-bot-10{margin-bottom:10px}.margin-top-10{margin-top:10px}.remove-bold{font-weight:400}.sb-content-tab #wrapper{display:none}#dockSidebar.e-sidebar.e-right.e-close{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0)}#dockSidebar .e-icons::before{font-size:25px}#dockSidebar .home::before{content:'\\e7a4'}#dockSidebar .profile::before{content:'\\e7d4'}#dockSidebar .info::before{content:'\\e7e7'}#dockSidebar .settings::before{content:'\\e7cf'}.e-sidebar .expand::before,.e-sidebar.e-right.e-open .expand::before{content:'\\e85c'}.e-sidebar.e-open .expand::before,.e-sidebar.e-right .expand::before{content:'\\e98f'}#dockSidebar.e-close .sidebar-item{padding:5px 20px}#dockSidebar.e-dock.e-close span.e-text{display:none}#dockSidebar.e-dock.e-open span.e-text{display:inline-block}#dockSidebar li{list-style-type:none;cursor:pointer}#dockSidebar ul{padding:0}#dockSidebar.e-sidebar ul li:hover span{color:#fff}#dockSidebar span.e-icons{color:#c0c2c5;line-height:2}.e-open .e-icons{margin-right:16px}.e-open .e-text{overflow:hidden;text-overflow:ellipsis;line-height:23px;font-size:14px}.sidebar-item{text-align:center;border-bottom:1px solid #e5e5e58a}.e-sidebar.e-open li{text-align:left;padding-left:15px;padding-top:15px}#dockSidebar.e-sidebar{background:#2d323e;overflow:hidden}#default-sidebar.e-sidebar{background:#2d323e;width:250px!important;position:fixed;top:72px}#default-sidebar.e-sidebar button{background:0 0;box-shadow:none;color:#fff;float:right}.dock{padding-top:30px}.dock ul{list-style:none;padding:0}.dock ul li{border-bottom:none;cursor:pointer}#head{background:#f6e6f1;position:fixed;width:100%;z-index:999;padding:15px;height:70px}.navbar-open-icon span{font-size:30px;cursor:pointer;padding:0}.navbar-open-icon{display:inline}.sidebar-item a,.sidebar-item span{color:#808184}.sidebar-dropdown a:focus,.sidebar-dropdown a:hover,.sidebar-item span:hover{color:#fff;text-decoration:none}li.active-link,li.sidebar-item ul.panel-collapse li.active-link{text-align:left;padding-left:15px;padding-top:15px;color:#bd6ec5!important}li.sidebar-item ul.panel-collapse li.active-link span{color:#bd6ec5!important}.e-radio+label .e-label{padding-left:20px}.text-bold{font-weight:700}.padding-top-5{padding-top:5px}.e-btn.e-flat:focus,.e-btn.e-flat:hover{background-color:#f6e6f0;border-color:#f6e6f0}.pull-right{float:right}.navbar-full{margin-left:-15px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.nav-open{margin-left:-50px}"]
}] }
];
/** @nocollapse */
SpecificationsComponent.ctorParameters = function () {
return [
{ type: Constants },
{ type: SharedService },
{ type: SpecificationService }
];
};
SpecificationsComponent.propDecorators = {
sidebar: [{ type: i0.ViewChild, args: ['sidebar',] }],
togglebtn: [{ type: i0.ViewChild, args: ['togglebtn',] }],
API_URL: [{ type: i0.Input }],
SpecificationId: [{ type: i0.Input }]
};
return SpecificationsComponent;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AttachmentInstructionsComponent = /** @class */ (function () {
function AttachmentInstructionsComponent() {
}
/**
* @return {?}
*/
AttachmentInstructionsComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
};
AttachmentInstructionsComponent.decorators = [
{ type: i0.Component, args: [{
selector: 'cpi-attachment-instructions',
template: " <div class=\"clearfix\">\r\n <div class=\"header-row\">\r\n <h4>4) Attachment Instructions</h4>\r\n </div>\r\n\r\n <div class=\"sub-heading label-barcode\">\r\n <label class=\"text-bold\">Barcode label Location</label>\r\n </div>\r\n <div class=\"clearfix\">\r\n <div class=\"col-sm-12\">\r\n <div>\r\n <label class=\"e-float-input text-bold col-1\">Barcode labels to be</label>\r\n <ejs-radiobutton label=\"attached**\" name=\"BarcodeAttached\" value=\"1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.barcodeAttached\">\r\n </ejs-radiobutton>\r\n <ejs-radiobutton label=\"not attached\" name=\"BarcodeAttached\" value=\"2\"\r\n [(ngModel)]=\"specification.attachmentInstruction.barcodeAttached\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\" attachment-img col-sm-12\">\r\n <img src=\"../../assets/images/LabelPosition.jpg\" />\r\n </div>\r\n </div>\r\n <p>***If barcode labels are to be attached, indicate desired positions(s) of barcode\r\n label(s) here as indicated by the letters in the graphic above</p>\r\n <div class=\"row\">\r\n <div class=\"e-float-input\">\r\n <label class=\"text-bold label\">1)</label>\r\n <input type='text' #firstPosition class=\"e-input required readonly input-box col-1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.firstPosition\" />\r\n </div>\r\n <div class=\"e-float-input\">\r\n <label class=\"text-bold label\">2)</label>\r\n <input type='text' #secondPosition class=\"e-input required readonly input-box col-1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.secondPosition\" />\r\n </div>\r\n <div class=\"e-float-input\">\r\n <label class=\"text-bold label\">3)</label>\r\n <input type='text' #thirdPosition class=\"e-input required readonly input-box col-1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.thirdPosition\" />\r\n </div>\r\n </div>\r\n\r\n <ejs-checkbox cssClass=\"e-small text-bold\" label=\"Please indicate here if barcode should not be moved from\r\n specified location***\" [(ngModel)]=\"specification.attachmentInstruction.haveBarcode\" #haveBarcode>\r\n </ejs-checkbox>\r\n <br />\r\n <div class=\"e-float-input text-bold\">\r\n ***If barcode is to be placed on outside front cover of book it is standard not to\r\n cover the title.\r\n </div>\r\n <br />\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <label class=\"e-float-input text-bold\">Barcode labels to be</label>\r\n <div>\r\n <ejs-radiobutton label=\"horizontal\" name=\"barcodelabelsPosition\" value=\"1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.barcodelabelsPosition\"></ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"vertical (left, parallel to spine of book)\" name=\"barcodelabelsPosition\" value=\"2\"\r\n [(ngModel)]=\"specification.attachmentInstruction.barcodelabelsPosition\"></ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"vertical (right, parallel to spine of book)\" name=\"barcodelabelsPosition\"\r\n value=\"3\" [(ngModel)]=\"specification.attachmentInstruction.barcodelabelsPosition\"></ejs-radiobutton>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-sm-8 row\">\r\n <figure class=\"col-sm-2\">\r\n <figcaption>Horizontal</figcaption>\r\n <img src=\"../../assets/images/HorizontalBarCode.jpg\" />\r\n </figure>\r\n <figure class=\"col-sm-2\">\r\n <figcaption>Vertical Left</figcaption>\r\n <img src=\"../../assets/images/VerticalBarCode-left.gif\" />\r\n </figure>\r\n <figure class=\"col-sm-2\">\r\n <figcaption>Vertical Right</figcaption>\r\n <img src=\"../../assets/images/VerticalBarCode-right.gif\" />\r\n </figure>\r\n </div>\r\n </div>\r\n <div class=\"margin-bot-10\">\r\n <label>Clear barcode label protectors to be applied to all attached barcode labels</label>\r\n\r\n <ejs-radiobutton label=\"Yes\" name=\"clearBarcode\" value=\"1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.clearBarcode\">\r\n </ejs-radiobutton>\r\n <ejs-radiobutton label=\"No\" name=\"clearBarcode\" value=\"2\"\r\n [(ngModel)]=\"specification.attachmentInstruction.clearBarcode\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div class=\"col-sm-5\">\r\n\r\n <label class=\"label-bold\">Spine label location</label>\r\n <div>\r\n <ejs-checkbox cssClass=\"e-small\" label=\"1 1/2 inches from bottom of spine\"\r\n [(ngModel)]=\"specification.attachmentInstruction.spineBottom\" #spineBottom></ejs-checkbox>\r\n </div>\r\n <div>\r\n <ejs-checkbox cssClass=\"e-small\" label=\"Clear spine label protector attached\"\r\n [(ngModel)]=\"specification.attachmentInstruction.clearSpine\" #clearSpine></ejs-checkbox>\r\n </div>\r\n <div>\r\n <ejs-checkbox cssClass=\"e-small\" label=\"Spine label not attached\"\r\n [(ngModel)]=\"specification.attachmentInstruction.haveSpineLabel\" #haveSpineLabel></ejs-checkbox>\r\n </div>\r\n <div>\r\n <ejs-checkbox cssClass=\"e-small\" label=\"Other\"\r\n [(ngModel)]=\"specification.attachmentInstruction.spineLableOther\" #spineLableOther></ejs-checkbox>\r\n </div>\r\n <div class=\"e-float-input\">\r\n <input type='text' class=\"e-input required readonly input-box\"\r\n [(ngModel)]=\"specification.attachmentInstruction.spineLableOtherDescription\"\r\n #spineLableOtherDescription />\r\n </div>\r\n <label class=\"margin-top-10\">Book pocket/Date due slip location</label>\r\n <div>\r\n <ejs-radiobutton label=\"Inside front cover\" name=\"BookPocket\" value=\"1\"\r\n [(ngModel)]=\"specification.attachmentInstruction.bookPocket\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"Inside back cover\" name=\"BookPocket\" value=\"2\"\r\n [(ngModel)]=\"specification.attachmentInstruction.bookPocket\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"Front fly leaf\" name=\"BookPocket\" value=\"3\"\r\n [(ngModel)]=\"specification.attachmentInstruction.bookPocket\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"Back fly leaf\" name=\"BookPocket\" value=\"4\"\r\n [(ngModel)]=\"specification.attachmentInstruction.bookPocket\">\r\n </ejs-radiobutton>\r\n </div>\r\n <div>\r\n <ejs-radiobutton label=\"Book pockets not attached\" name=\"BookPocket\" value=\"5\"\r\n [(ngModel)]=\"specification.attachmentInstruction.bookPocket\">\r\n