{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ApiDefinition":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ApiEditorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵc"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":82,"character":1},"arguments":[{"selector":"api-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":86,"character":19},"member":"None"},"template":"<div (window:keydown)=\"onGlobalKeyDown($event)\" class=\"api-editor\" [class.light]=\"theme === 'light'\" [class.dark]=\"theme === 'dark'\">\n\n    <title-bar [document]=\"document()\"\n               [validationErrors]=\"validationErrors\"\n               [undoableCommandCount]=\"_undoableCommandCount\"\n               [redoableCommandCount]=\"_redoableCommandCount\"\n               (onUndoClick)=\"undoLastCommand()\"\n               (onRedoClick)=\"redoLastCommand()\"\n               (onConfigureValidation)=\"onConfigureValidation.emit()\"></title-bar>\n    <master [document]=\"document()\" (onImportComponent)=\"importComponent($event)\" #master></master>\n    <div class=\"editor-detail\" [ngSwitch]=\"formType\">\n        <main-form [document]=\"document()\" class=\"editor-detail-form\"\n                      *ngSwitchCase=\"'main_20'\"></main-form>\n        <main-form [document]=\"document()\" class=\"editor-detail-form\"\n                      *ngSwitchCase=\"'main_30'\"></main-form>\n\n        <path-form [path]=\"selectedPath()\" class=\"editor-detail-form\"\n                   *ngSwitchCase=\"'path_20'\"></path-form>\n        <path-form [path]=\"selectedPath()\" class=\"editor-detail-form\"\n                   *ngSwitchCase=\"'path_30'\"></path-form>\n\n        <definition-form [definition]=\"selectedDefinition()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'definition_20'\"></definition-form>\n        <definition-form [definition]=\"selectedDefinition()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'definition_30'\"></definition-form>\n\n        <response-form [response]=\"selectedResponse()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'response_20'\"></response-form>\n        <response-form [response]=\"selectedResponse()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'response_30'\"></response-form>\n    </div>\n\n    <server-editor #serverEditor></server-editor>\n    <security-scheme-editor #securitySchemeEditor></security-scheme-editor>\n    <security-requirement-editor #securityRequirementEditor></security-requirement-editor>\n    <data-type-editor #dataTypeEditor></data-type-editor>\n    <response-editor #responseEditor></response-editor>\n    <parameter-editor #parameterEditor></parameter-editor>\n    <property-editor #propertyEditor></property-editor>\n\n</div>\n","styles":[".api-editor .dropdown.empty>button.btn>span{color:#bbb}.api-editor button.empty,.api-editor div.empty,.api-editor span.empty{color:#bbb}.api-editor span.path-param,.api-editor span.server-variable{color:#ff6a7c}.api-editor span.path-segment:before{color:#363636}.api-editor div.api-item-description{margin-right:30px}.api-editor div.api-item-description.empty{color:#bbb}.api-editor .editor-master{background-color:#fff;border-right:1px solid #ddd}.api-editor .editor-detail{background-color:#fff}.api-editor .editor-detail table tbody tr:hover{background-color:#efefef}.api-editor .editor-master .editor-main{background-color:#eee;transition:background-color .2s}.api-editor .editor-master .editor-main:hover{background-color:#d1eaf7}.api-editor .editor-master .editor-main.selected{background-color:#a5d6ef}.api-editor .editor-master .editor-search input{background-color:#eee;color:#333}.api-editor .section .section-header{border-bottom:1px dotted #ddd}.api-editor .section .section-header a{color:#333}.api-editor .editor-master .editor-outline .api-path{transition:background-color .2s;display:flex}.api-editor .editor-master .editor-outline .api-path:hover{background-color:#d1eaf7}.api-editor .editor-master .editor-outline .api-path.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.api-editor .editor-master .editor-outline .api-path.contexted,.api-editor .editor-master .editor-outline .api-path.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.api-editor .editor-master .editor-outline .api-path.selected .label{transition:border-color .35s,box-shadow .35s}.api-editor .editor-master .editor-outline .api-path.selected .label:hover{box-shadow:0 0 3px #646464;border:1px solid #666}.api-editor .editor-master .editor-outline .api-path.selected .label.selected{border:1px solid #000;box-shadow:0 0 3px #141414}.api-editor .editor-master .editor-outline .api-path>*{margin-right:4px}.api-editor .editor-master .editor-outline .api-path>.api-path-item{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-editor .editor-master .editor-outline .api-definition{transition:background-color .2s;display:flex}.api-editor .editor-master .editor-outline .api-definition:hover{background-color:#d1eaf7}.api-editor .editor-master .editor-outline .api-definition.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.api-editor .editor-master .editor-outline .api-definition.contexted,.api-editor .editor-master .editor-outline .api-definition.contexted:hover,.api-editor .editor-master .editor-outline .api-response.contexted,.api-editor .editor-master .editor-outline .api-response.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.api-editor .editor-master .editor-outline .api-definition>*{margin-right:4px}.api-editor .editor-master .editor-outline .api-response{transition:background-color .2s;display:flex}.api-editor .editor-master .editor-outline .api-response:hover{background-color:#d1eaf7}.api-editor .editor-master .editor-outline .api-response.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.api-editor .editor-master .editor-outline .api-response>*{margin-right:4px}.api-editor .editor-detail .detail-title{border-bottom:1px solid #ddd}.api-editor .editor-detail .detail-title .detail-actions{float:right}.api-editor .editor-detail .detail-title .detail-actions:hover{cursor:pointer;background-color:#d1eaf7}.api-editor .editor-detail .detail-title .detail-actions .dropdown-menu{left:auto;right:0}.api-editor .editor-detail .detail-title .detail-actions .dropdown .btn{color:#333;padding-left:20px;padding-right:20px;line-height:38px;font-size:18px;height:44px}.api-editor .editor-detail .detail-content .info-section .api-md-entry .md-label{color:#333}.api-details table td.icons,.api-editor .api-operation-parameters td.icons{color:#666}.api-editor .editor-detail .api-path-detail .operations-section .api-operation{border-bottom:1px solid #ddd}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .type .label{transition:border-color .2s,box-shadow .2s;box-shadow:none;border:1px solid transparent}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .type .label:hover{border-color:#666;box-shadow:0 0 8px #666}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .name.empty{color:#bbb}.api-editor .editor-detail .api-path-detail .operations-section .api-operation.empty{color:#999}.api-editor .editor-detail .api-path-detail .operations-section .api-operation.empty .type .label{background-color:#ccc;border-color:transparent;box-shadow:none}.api-editor .editor-detail .api-path-detail .operations-section .api-operation.empty .type .label:hover{background-color:#ccc;border-color:transparent;box-shadow:none}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .delete-operation{visibility:hidden}.api-editor .editor-detail .api-path-detail .operations-section .api-operation:hover .delete-operation{visibility:visible}.modal.in .modal-dialog{transform:none;margin-top:50px}.modal.fade .modal-dialog{transform:none;transition:margin-top .3s ease-out}.modal-dialog{width:650px;margin-top:0;margin-left:auto}.api-editor span.path-param,.api-editor span.server-variable{font-weight:400}.api-editor .context-help{margin-left:10px;position:relative;display:none}.api-editor .context-help a{cursor:pointer}.api-editor .context-help a .context-help-icon{transition:opacity .3s}.api-editor .context-help .context-help-panel{position:absolute;left:0;margin:0;padding:10px 14px;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;line-height:18px;font-size:12px;font-style:normal;font-weight:400;width:450px;cursor:default}.api-editor .context-help .context-help-panel p{padding:3px;margin:0;line-height:18px}.api-editor .context-help .context-help-panel p>a{color:#0088ce}.api-editor .context-help .context-help-panel p>a:hover{color:#00659c;text-decoration:underline}.api-editor .context-help .context-help-panel pre{margin-top:10px}.api-editor div.tab-panel{border-top:none;border-color:#ddd}.api-editor .nav-tabs>li>a{cursor:pointer}.api-editor .nav-tabs>li>a.active{cursor:default}.api-editor .nav-tabs>li>a>button{visibility:hidden}.api-editor .nav-tabs>li>a:hover>button{visibility:visible}.api-editor .editor-master{left:0;right:70%}.api-editor .editor-detail,.api-editor .editor-master{position:absolute;top:42px;bottom:0;display:flex;flex-direction:column;flex:1}.api-editor .editor-detail{left:30%;right:0}.api-editor .editor-detail .editor-detail-form{display:flex;height:100%;flex-direction:column;flex:1;overflow:hidden}.api-editor .editor-master .editor-main:hover{cursor:pointer}.api-editor .editor-master .editor-main.selected{cursor:default}.api-editor .editor-master .editor-main h2{padding:10px;margin:0}.api-editor .editor-master .editor-search{padding:10px;display:table;width:100%}.api-editor .editor-master .editor-search>search{display:table-cell;width:100%;padding-right:8px}.api-editor .editor-problem-drawer{position:absolute;z-index:200;top:41px;right:0;width:320px;bottom:0}.api-editor .editor-problem-drawer .drawer-pf{height:100%;width:360px}.api-editor .editor-problem-drawer .drawer-pf .panel-body{padding:0}.api-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification:hover{background-color:#efefef}.api-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-message{line-height:16px;font-weight:600;margin-bottom:2px}.api-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info .explanation{line-height:15px;font-size:13px}.api-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info a{cursor:pointer}.api-editor .editor-master .editor-outline{padding:5px;height:100%;overflow-y:auto}.api-editor .section{padding:0;margin:0}.api-editor .section .section-header{font-size:15px;padding-bottom:3px;margin-bottom:5px;line-height:inherit}.api-editor .section .section-header a{cursor:pointer;text-decoration:none}.api-editor .section .section-header a:before{display:inline-block;font-size:13px;margin-left:5px;margin-right:3px;text-align:center;vertical-align:0;font-weight:300}.api-editor .section .section-header a span.section-label{font-weight:600}.api-editor .section .section-header .context-help a span.fa{opacity:0;font-size:14px}.api-editor .section .section-header:hover .context-help a span.fa{opacity:1}.api-editor .section .section-header .context-help a:hover span.fa{color:#356c8c}.api-editor .section .section-header .btn{margin-top:1px}.api-editor .section .section-body{margin-bottom:20px}.api-editor .editor-master .editor-outline .api-path{position:relative;padding-left:15px;font-size:14px;border-left:2px solid transparent}.api-editor .editor-master .editor-outline .api-path:hover{cursor:pointer}.api-editor .editor-master .editor-outline .api-path.selected{cursor:default}.api-editor .editor-master .editor-outline .api-path.selected .label{font-size:12px;cursor:pointer;border:1px solid transparent;border-radius:2px;padding:2px 8px}.api-editor .editor-master .editor-outline .api-path.problem-marker:before{top:2px;left:1px;font-size:12px}.api-editor .editor-master .editor-outline .api-path .api-operations{margin-top:5px;padding-bottom:10px}.api-editor .editor-master .editor-outline .api-path .api-operations .label{position:relative;margin-right:5px}.api-editor .editor-master .editor-outline .api-path.contexted{cursor:default}.api-editor .editor-master .editor-outline .api-definition,.api-editor .editor-master .editor-outline .api-response{padding-left:15px;font-size:14px;border-left:2px solid transparent;position:relative}.api-editor .editor-master .editor-outline .api-definition:hover{cursor:pointer}.api-editor .editor-master .editor-outline .api-definition.selected{cursor:default}.api-editor .editor-master .editor-outline .api-definition.problem:before{top:4px;left:1px}.api-editor .editor-master .editor-outline .api-response{padding-left:15px;font-size:14px}.api-editor .editor-master .editor-outline .api-response:hover{cursor:pointer}.api-editor .editor-master .editor-outline .api-response.selected{cursor:default}.api-editor .editor-detail .section{padding-top:8px}.api-editor .editor-detail .api-inline-editor-form{display:inline-block;position:relative}.api-editor .editor-detail .api-description-editor-form{width:100%}.api-editor .editor-detail .api-inline-editor-form input{font-size:inherit;display:inline;height:auto}.api-editor .editor-detail .api-inline-editor-form textarea{width:100%;min-height:50px}.api-editor .editor-detail .api-inline-editor-form .inline-text-editor-input{min-width:90px}.api-editor .editor-detail .detail-title{height:45px}.api-editor .editor-detail .detail-title .detail-label{float:left;line-height:44px;font-size:18px;font-weight:500;padding-left:10px}.api-editor .editor-detail .detail-title .detail-icon{float:left;line-height:44px;height:44px;text-transform:uppercase}.api-editor .editor-detail .detail-title .detail-icon .label{border-radius:2px;padding:2px 8px}.api-editor .editor-detail .editor-detail-form .detail-tabs ul{padding-left:10px}.api-editor .editor-detail .editor-detail-form .detail-tabs ul li a{cursor:pointer}.api-editor .editor-detail .editor-detail-form .detail-tabs ul li.disabled a{cursor:not-allowed}.api-editor .editor-detail .detail-actionbar{text-align:right;padding:5px 25px 5px 5px;border-bottom:1px solid #ddd}.api-editor .editor-detail .detail-actionbar>button{margin-left:4px}.api-editor .editor-detail .detail-actionbar>button>span.pficon{margin-right:3px}.api-editor .editor-detail .detail-content{height:100%;overflow-y:auto;padding:10px}.api-editor .editor-detail .detail-content .section .section-body{padding-left:15px;padding-right:15px}.api-editor .editor-detail .detail-content .info-section .explanation{font-size:15px}.api-editor #securitySchemeModal .nav-tabs>li.enabled>a{font-weight:700}.api-editor .editor-detail .detail-content .set-license-modal .modal-dialog{width:950px}.api-editor .editor-detail .detail-content .set-license-modal .modal-dialog .modal-body{max-height:500px;overflow-y:auto;overflow-x:hidden}.api-editor .editor-detail .detail-content .container-fluid{padding:0}.api-editor .editor-detail .detail-content .license h2{font-size:17px;font-weight:700}.api-editor .editor-detail .detail-content .license h2 span.fa{font-size:14px;margin-left:5px}.api-editor .editor-detail .detail-content .license h3{font-size:14px;font-weight:700}.api-editor .editor-detail .detail-content .license ul{margin:0;padding:0 0 0 12px}.api-editor .editor-detail .detail-content .license ul li>span{color:#1d2225;cursor:pointer}.api-editor .editor-detail .detail-content .license ul li>span:hover{border-bottom:1px dotted}.api-editor .editor-detail .detail-title .label{margin-left:10px;font-size:13px}.api-editor .path-description{margin-top:15px;margin-bottom:20px}.api-details table td.icons,.api-editor .api-operation-parameters td.icons,.api-editor .api-operation-parameters td.parameter{width:1%;white-space:nowrap}.api-editor .api-operation-parameters td.icons i:hover{cursor:pointer}.api-editor .api-response .tlabel{padding:2px 10px 2px 2px;text-align:right}.api-editor .api-response .tlabel span{font-weight:700}.api-editor .editor-detail .api-path-detail .operations-section .api-operation{margin-top:5px;margin-bottom:5px;padding-top:5px;padding-bottom:5px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .type{display:inline-table;margin-right:5px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .type .label{border-radius:2px;cursor:pointer;padding:2px 8px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .name{display:inline-table;font-size:15px;font-weight:600}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .description{font-size:14px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation div.description{margin-right:30px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation .actions{margin-top:5px}.api-editor .editor-detail .api-path-detail .operations-section .api-operation.empty .type .label{cursor:default}.api-editor .editor-detail .requestBody-section .request-body-name{font-size:15px;margin-left:10px}.api-editor .editor-detail .requestBody-section .api-item-description{margin-top:8px;font-size:14px}.api-editor .editor-detail .requestBody-section .request-body-type{margin-top:20px}.api-editor .editor-detail .requestBody-section .request-body-type .strong{font-weight:600}.api-editor .editor-detail .requestBody-section .request-body-type .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.api-editor .editor-detail .requestBody-section .request-body-required{margin-top:15px}.api-editor .editor-detail .requestBody-section .request-body-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.api-editor .editor-detail .requestBody-section .request-body-content{margin-top:15px}.api-editor .editor-detail .requestBody-section .request-body-content .content .nav-tabs li>a .icon-button{margin-left:8px}.api-editor .editor-detail .api-operation-detail .media-type .strong{font-weight:600}.api-editor .editor-detail .api-operation-detail .media-type .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.api-editor .editor-detail .parameter.required{box-shadow:1px 1px 4px #aae}.api-editor .editor-detail .row.parameter,.api-editor .editor-detail .row.property,.api-editor .editor-detail .row.response{margin-left:0;margin-right:0}.api-editor .editor-detail table{font-size:13px}.api-editor .editor-detail table tbody tr td.actions>div{visibility:hidden}.api-editor .editor-detail table tbody tr:hover td.actions>div{visibility:visible}.api-editor .editor-detail .type-editor-dropdown-menu{right:0;left:auto;min-width:400px}.api-editor .editor-detail table .inline-type-editor-label{margin-right:36px}.api-editor .editor-detail .type-editor-dropdown-menu .dropdown{display:inline;margin-left:2px}.api-editor .editor-detail .type-editor-dropdown-menu .dropdown-menu{top:inherit}.api-editor .editor-detail .type-editor-dropdown-menu .typeinfo{padding:15px}.api-editor .editor-detail .type-editor-dropdown-menu .actions{border-top:1px solid #bbb;text-align:right;padding:5px}.api-editor .editor-detail .type-editor-dropdown-menu .actions .overlay-action-save{margin-right:3px}#definition-context-menu,#operation-context-menu,#path-context-menu,#response-context-menu{display:block;position:fixed}.api-editor .editor-detail .section .typed-item-list .typed-item{padding:5px;border-bottom:1px solid #ddd;border-right:1px solid #ddd;vertical-align:middle;margin-top:5px;position:relative}.api-editor .editor-detail .section .typed-item-list .typed-item.missing{opacity:.4}.api-editor .editor-detail .section .typed-item-list .typed-item.missing .description{font-size:12px;line-height:20px}.api-editor .editor-detail .section .typed-item-list .typed-item.overridable{background-color:#eeeeef}.api-editor .editor-detail .section .typed-item-list .typed-item.editing{border-bottom:none;border-right:1px solid #ccc;background-color:#efefef;box-shadow:1px 1px 5px #ccc;position:relative}.api-editor .editor-detail .section .typed-item-list .typed-item .typed-item-icon{cursor:help;color:inherit}.api-editor .editor-detail .section .typed-item-list .typed-item .typed-item-icon:hover{color:inherit;filter:brightness(80%)}.api-editor .editor-detail .section .typed-item-list .type-row{padding-top:12px;padding-bottom:10px;border:1px solid #ccc;position:relative;background-color:#fff;box-shadow:1px 1px 5px #ccc;margin-left:0;margin-right:0}.api-editor .editor-detail .section .typed-item-list .typed-item .metainfo{padding-left:0}.api-editor .editor-detail .section .typed-item-list .typed-item .actions{text-align:right;padding-right:10px}.api-editor .editor-detail .section .typed-item-list .typed-item .actions button{opacity:.25}.api-editor .editor-detail .section .typed-item-list .typed-item:hover{background-color:#eee;box-shadow:1px 1px 4px #ddd}.api-editor .editor-detail .section .typed-item-list .typed-item.editing:hover{box-shadow:1px 1px 5px #ccc;background-color:#efefef}.api-editor .editor-detail .section .typed-item-list .typed-item:hover .actions button{opacity:1}.api-editor .editor-detail .section .typed-item-list .typed-item.editing .actions button{display:none}.api-editor .editor-detail .section .typed-item-list .typed-item.editing .type{visibility:hidden}.api-editor .editor-detail .section .typed-item-list .typed-item .name{font-weight:600;font-size:15px;line-height:18px}.api-editor .editor-detail .section .typed-item-list .typed-item .description{font-size:14px}.api-editor .editor-detail .section .typed-item-list .typed-item .type{line-height:40px}.api-editor .editor-detail .section .typed-item-list .typed-item .type .empty{color:#999}.api-editor .editor-detail .section .typed-item-list .typed-item .actions{line-height:40px}.api-editor .editor-detail .section .typed-item-list .type-row .form-group{margin:5px}.api-editor .editor-detail .section .typed-item-list .type-row .form-group-actions{padding-top:5px}.api-editor .editor-detail .problem-form .actions{margin-top:15px}.api-editor .content .panel .examples{margin-top:10px}.api-editor .content .panel .examples a{cursor:pointer}.api-editor .content .panel .examples .table-examples{margin-bottom:0}.api-editor .response-type .examples{margin-top:5px}.api-editor .response-type .examples a{cursor:pointer}.api-editor .response-type .examples .table-examples{margin-bottom:0}.api-editor .response-type .examples .table-examples td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-editor .response-type .examples .table-examples .content-type{width:25%}.api-editor .response-type .examples .table-examples .value{width:60%}.api-editor .response-type .examples .table-examples .actions{width:15%}.api-editor table td.pre-actions,.api-editor table th.pre-actions{border-right-width:0}.api-editor table td.actions,.api-editor table th.actions{border-left-width:0}.api-editor .securityscheme-form{max-height:500px;overflow-y:auto;overflow-x:hidden;padding-right:10px}.api-editor .modal-header{background-color:#39a5dc;color:#fff}.api-editor .modal-header button.close{color:#fff}.api-editor .modal-footer{border-top:1px solid #ddd;background-color:#efefef}.api-editor .modal-dialog{margin-top:50px}.api-editor form input.ng-invalid.ng-touched{border-color:red}.api-editor .center-text{text-align:center}.api-editor .dropdown-menu>li>a{cursor:pointer}.api-editor .dropdown-menu{font-size:13px}.api-editor div.notice-of-required{margin-top:15px;font-size:11px}.api-editor div.notice-of-required .required-icon{color:red}.api-editor div.modal-notice-of-required{margin-bottom:-12px;padding-left:15px}.api-editor .form-group .control-label{white-space:nowrap}.api-editor .form-group .control-label.required:after{color:red;content:\"*\"}.api-editor .form-group .form-error-message.error{color:red}.api-editor span.validation-aggregate>a>.fa-exclamation-circle{color:#0088ce;cursor:pointer;font-size:14px}.api-editor span.validation-aggregate>a>.fa-exclamation-circle:hover{color:#00659c}.api-editor .section .section-header>a{position:relative}.api-editor .section .section-header>a .validation-aggregate{position:absolute;right:-15px;top:-6px}.api-editor .detail-content .operations-section .api-operation .type{position:relative}.api-editor .detail-content .operations-section .api-operation .type .validation-aggregate{position:absolute;right:-8px;top:-11px}.api-editor .request-body-content .content .nav-tabs li>a{position:relative}.api-editor .request-body-content .content .nav-tabs li>a .validation-aggregate{position:absolute;right:28px;top:0}.api-editor .validation-problem-icon{cursor:pointer;margin-right:4px}.api-editor .validation-problem-icon:hover{filter:brightness(125%)}.api-editor h2 .validation-problem-icon{font-size:15px}.api-editor .validation-aggregate .validation-aggregate-panel,.api-editor .validation-problems-panel{position:fixed;margin:0;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;max-width:425px;max-height:125px;cursor:default;overflow-y:auto;color:#4d5258;line-height:18px;padding:10px 14px;font-size:12px;font-style:normal;font-weight:400}.api-editor .validation-aggregate .validation-aggregate-panel .problem,.api-editor .validation-problems-panel .problem{width:100%;text-align:left;margin-top:3px;margin-bottom:3px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.api-editor .validation-aggregate .validation-aggregate-panel .problem .fa,.api-editor .validation-problems-panel .problem .fa{margin-right:3px}.api-editor .inline-editor-label{cursor:pointer}.api-editor .inline-editor-label .fa{visibility:hidden;color:#0088ce}.api-editor .inline-editor-label .fa:hover{color:#00659c}.api-editor .inline-editor-label:hover .fa{visibility:visible}.api-editor .editor-detail .inline-text-editor>input{display:inline;min-width:90px}.api-editor .editor-detail .inline-text-editor>input.form-control{width:auto}.api-editor .editor-detail .detail-content .info-section .section-field.version .inline-text-editor>input{width:110px}.api-editor .editor-detail .section .half-section{width:50%;display:inline-block}.api-editor .editor-detail .section .half-section.right{float:right}.api-editor .editor-detail .section-field-label{margin-bottom:0}.api-editor .editor-detail .section-field-label>span{font-weight:600}.api-editor .editor-detail .section-field{margin-bottom:8px}.api-editor .editor-detail .detail-content .contact-section .section-field.name .inline-text-editor>input{width:275px}.api-editor .editor-detail .detail-content .contact-section .section-field.email .inline-text-editor>input{width:275px}.api-editor .editor-detail .detail-content .contact-section .section-field.url .inline-text-editor>input{width:375px}.api-editor .entity-editor{position:absolute;left:0;right:0;top:0;bottom:0;overflow-y:auto;background-color:#fff;z-index:5}.api-editor .entity-editor h1{font-size:25px}.api-editor .entity-editor .close-button{position:absolute;right:0;top:0;margin-right:50px;font-size:32px;cursor:pointer;z-index:6;color:#666}.api-editor .entity-editor .close-button:hover{color:#000}.api-editor .entity-editor .context{padding-bottom:30px;padding-top:30px}.api-editor .entity-editor .context .context-label{color:#8b8d8f;font-size:18px;margin-right:15px}.api-editor .entity-editor .context .context-value{color:#8b8d8f}.api-editor .entity-editor .context .operation>.label{font-size:16px;border-radius:4px;text-transform:uppercase}.api-editor .entity-editor .notice-of-required{margin-bottom:-15px;padding-left:0;margin-top:10px}.api-editor .entity-editor hr{border-color:#bbb}.api-editor .entity-editor .body-section{width:60%;min-width:400px}.api-editor .entity-editor .body-section h3{font-weight:600;font-size:19px}.api-editor .entity-editor .body-section .explanation{padding-left:20px;margin-bottom:20px;margin-top:10px;color:#8b8d8f;line-height:18px}.api-editor .entity-editor .body-section>div>.form-group{padding-left:20px}.api-editor .entity-editor .body-section>div>.form-group input{min-width:350px;width:90%}.api-editor .entity-editor .body-section .form-group input.short{width:50%}.api-editor .entity-editor .body-section>div>.form-group textarea{min-width:350px;width:90%}.api-editor .entity-editor .body-section .form-group textarea.short{width:50%}.api-editor .entity-editor .body-section .empty-state{border:1px solid #ccc;color:#8b8d8f;padding:30px;line-height:18px}.api-editor .entity-editor .actions-section .actions{width:60%;min-width:400px;text-align:right;padding-bottom:30px}.api-editor .dropdown-label{margin-right:3px}.api-editor .dropdowns-label{margin-left:3px;margin-right:3px}.api-editor .detail-title .detail-actions .dropdown-menu li a span.pficon{margin-right:4px}.api-editor .detail-title .detail-actions .dropdown-menu li a span.fa{margin-right:3px}.api-editor .editor-master .context-menu li a span.pficon{margin-right:4px}.api-editor .editor-master .context-menu li a span.fa{margin-right:3px}"]}]}],"members":{"api":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":5}}]}],"embedded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":5}}]}],"features":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"validationRegistry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":5}}]}],"contentFetcher":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":5}}]}],"componentImporter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":96,"character":5}}]}],"onCommandExecuted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":98,"character":5}}]}],"onSelectionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":99,"character":5}}]}],"onValidationChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":100,"character":5}}]}],"onUndo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":101,"character":5}}]}],"onRedo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":102,"character":5}}]}],"onConfigureValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":103,"character":5}}]}],"master":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":121,"character":5},"arguments":["master",{"static":true}]}]}],"serverEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":122,"character":5},"arguments":["serverEditor",{"static":true}]}]}],"securitySchemeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":123,"character":5},"arguments":["securitySchemeEditor",{"static":true}]}]}],"securityRequirementEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":124,"character":5},"arguments":["securityRequirementEditor",{"static":true}]}]}],"dataTypeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":125,"character":5},"arguments":["dataTypeEditor",{"static":true}]}]}],"responseEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":126,"character":5},"arguments":["responseEditor",{"static":true}]}]}],"parameterEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":127,"character":5},"arguments":["parameterEditor",{"static":true}]}]}],"propertyEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":128,"character":5},"arguments":["propertyEditor",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"otEngine":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"undoLastCommand":[{"__symbolic":"method"}],"redoLastCommand":[{"__symbolic":"method"}],"onCommand":[{"__symbolic":"method"}],"executeCommand":[{"__symbolic":"method"}],"undoCommand":[{"__symbolic":"method"}],"redoCommand":[{"__symbolic":"method"}],"finalizeCommand":[{"__symbolic":"method"}],"updateCollaboratorSelection":[{"__symbolic":"method"}],"onNodeSelected":[{"__symbolic":"method"}],"updateFormDisplay":[{"__symbolic":"method"}],"validateModel":[{"__symbolic":"method"}],"selectedPath":[{"__symbolic":"method"}],"selectedDefinition":[{"__symbolic":"method"}],"selectedResponse":[{"__symbolic":"method"}],"deselectPath":[{"__symbolic":"method"}],"deselectDefinition":[{"__symbolic":"method"}],"deselectResponse":[{"__symbolic":"method"}],"preDocumentChange":[{"__symbolic":"method"}],"postDocumentChange":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"resolveRef":[{"__symbolic":"method"}],"getServerEditor":[{"__symbolic":"method"}],"getAaiServerEditor":[{"__symbolic":"method"}],"getSecuritySchemeEditor":[{"__symbolic":"method"}],"getSecurityRequirementEditor":[{"__symbolic":"method"}],"getDataTypeEditor":[{"__symbolic":"method"}],"getResponseEditor":[{"__symbolic":"method"}],"getParameterEditor":[{"__symbolic":"method"}],"getPropertyEditor":[{"__symbolic":"method"}],"getOperationTraitEditor":[{"__symbolic":"method"}],"getMessageTraitEditor":[{"__symbolic":"method"}],"getMessageEditor":[{"__symbolic":"method"}],"getOneOfInMessageEditor":[{"__symbolic":"method"}],"importComponent":[{"__symbolic":"method"}]},"statics":{"isUndo":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"ctrlKey"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"key"},"right":"z"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"metaKey"}}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"altKey"}}},"right":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"metaKey"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"key"},"right":"z"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"ctrlKey"}}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"altKey"}}}}},"isRedo":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"ctrlKey"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"key"},"right":"y"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"metaKey"}}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"altKey"}}},"right":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"metaKey"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"shiftKey"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"key"},"right":"z"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"ctrlKey"}}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"altKey"}}}}}}},"ApicurioCommonComponentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":32,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":34,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":34,"character":22},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"ModalModule","line":34,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":34,"character":48}],"declarations":[{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"FormErrorMessageComponent"},{"__symbolic":"reference","name":"CodeEditorComponent"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"TextAreaAutosize"},{"__symbolic":"reference","name":"DivAutoHeight"},{"__symbolic":"reference","name":"TextBoxAutosize"},{"__symbolic":"reference","name":"MarkdownComponent"},{"__symbolic":"reference","name":"MarkdownSummaryComponent"},{"__symbolic":"reference","name":"MarkdownEditorComponent"}],"providers":[],"exports":[{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"FormErrorMessageComponent"},{"__symbolic":"reference","name":"CodeEditorComponent"},{"__symbolic":"reference","name":"MarkdownEditorComponent"},{"__symbolic":"reference","name":"TextAreaAutosize"},{"__symbolic":"reference","name":"DivAutoHeight"},{"__symbolic":"reference","name":"TextBoxAutosize"},{"__symbolic":"reference","name":"MarkdownComponent"},{"__symbolic":"reference","name":"MarkdownSummaryComponent"}]}]}],"members":{}},"ApicurioEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":170,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":172,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":172,"character":22},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"ModalModule","line":172,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":172,"character":48},{"__symbolic":"reference","name":"ApicurioCommonComponentsModule"}],"declarations":[{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbi"},{"__symbolic":"reference","name":"ɵbj"},{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbq"},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵbt"},{"__symbolic":"reference","name":"ɵbu"},{"__symbolic":"reference","name":"ɵbv"},{"__symbolic":"reference","name":"ɵbw"},{"__symbolic":"reference","name":"ɵbx"},{"__symbolic":"reference","name":"ɵby"},{"__symbolic":"reference","name":"ɵbz"},{"__symbolic":"reference","name":"ɵca"},{"__symbolic":"reference","name":"ɵcb"},{"__symbolic":"reference","name":"ɵcc"},{"__symbolic":"reference","name":"ɵcd"},{"__symbolic":"reference","name":"ɵce"},{"__symbolic":"reference","name":"ɵcf"},{"__symbolic":"reference","name":"ɵcg"},{"__symbolic":"reference","name":"ɵch"},{"__symbolic":"reference","name":"ɵcj"},{"__symbolic":"reference","name":"ApiEditorComponent"},{"__symbolic":"reference","name":"ɵcl"},{"__symbolic":"reference","name":"ɵcm"},{"__symbolic":"reference","name":"ɵcn"},{"__symbolic":"reference","name":"ɵco"},{"__symbolic":"reference","name":"ɵcr"},{"__symbolic":"reference","name":"ɵcs"},{"__symbolic":"reference","name":"ɵct"},{"__symbolic":"reference","name":"ɵcu"},{"__symbolic":"reference","name":"ɵcv"},{"__symbolic":"reference","name":"ɵcw"},{"__symbolic":"reference","name":"ɵcx"},{"__symbolic":"reference","name":"ɵcy"},{"__symbolic":"reference","name":"ɵcz"},{"__symbolic":"reference","name":"ɵda"},{"__symbolic":"reference","name":"ɵdb"},{"__symbolic":"reference","name":"ɵdc"},{"__symbolic":"reference","name":"ɵdd"},{"__symbolic":"reference","name":"ɵde"},{"__symbolic":"reference","name":"ɵdf"},{"__symbolic":"reference","name":"ɵdg"},{"__symbolic":"reference","name":"ɵdh"},{"__symbolic":"reference","name":"ɵdi"},{"__symbolic":"reference","name":"ɵdj"},{"__symbolic":"reference","name":"ɵdk"},{"__symbolic":"reference","name":"ɵdl"},{"__symbolic":"reference","name":"ɵdm"},{"__symbolic":"reference","name":"ɵdo"},{"__symbolic":"reference","name":"ɵdp"},{"__symbolic":"reference","name":"ɵdq"},{"__symbolic":"reference","name":"ɵdr"},{"__symbolic":"reference","name":"ɵds"},{"__symbolic":"reference","name":"ɵdt"},{"__symbolic":"reference","name":"ɵdu"},{"__symbolic":"reference","name":"ɵdv"},{"__symbolic":"reference","name":"ɵdw"},{"__symbolic":"reference","name":"ɵdx"},{"__symbolic":"reference","name":"ɵdy"},{"__symbolic":"reference","name":"ɵdz"},{"__symbolic":"reference","name":"ɵea"},{"__symbolic":"reference","name":"ɵeb"},{"__symbolic":"reference","name":"ɵec"},{"__symbolic":"reference","name":"ɵed"},{"__symbolic":"reference","name":"ɵee"},{"__symbolic":"reference","name":"ɵef"},{"__symbolic":"reference","name":"ɵeg"},{"__symbolic":"reference","name":"ɵeh"},{"__symbolic":"reference","name":"ɵei"},{"__symbolic":"reference","name":"ɵej"},{"__symbolic":"reference","name":"ɵek"},{"__symbolic":"reference","name":"ɵel"},{"__symbolic":"reference","name":"ɵem"},{"__symbolic":"reference","name":"ɵen"},{"__symbolic":"reference","name":"ɵcq"},{"__symbolic":"reference","name":"ɵeo"},{"__symbolic":"reference","name":"ɵep"},{"__symbolic":"reference","name":"ɵeq"},{"__symbolic":"reference","name":"ɵer"},{"__symbolic":"reference","name":"ɵes"},{"__symbolic":"reference","name":"ɵet"},{"__symbolic":"reference","name":"ɵeu"},{"__symbolic":"reference","name":"ɵev"},{"__symbolic":"reference","name":"ɵew"},{"__symbolic":"reference","name":"ɵex"},{"__symbolic":"reference","name":"ɵey"},{"__symbolic":"reference","name":"ɵez"},{"__symbolic":"reference","name":"ɵfa"},{"__symbolic":"reference","name":"ɵfb"},{"__symbolic":"reference","name":"ɵfc"},{"__symbolic":"reference","name":"ɵfd"},{"__symbolic":"reference","name":"ɵfe"},{"__symbolic":"reference","name":"ɵff"},{"__symbolic":"reference","name":"ɵfh"},{"__symbolic":"reference","name":"ɵfi"},{"__symbolic":"reference","name":"ɵfj"},{"__symbolic":"reference","name":"ɵfk"},{"__symbolic":"reference","name":"ɵfl"},{"__symbolic":"reference","name":"ɵfm"},{"__symbolic":"reference","name":"ɵfn"},{"__symbolic":"reference","name":"ɵfo"},{"__symbolic":"reference","name":"ɵfp"},{"__symbolic":"reference","name":"AsyncApiEditorComponent"},{"__symbolic":"reference","name":"GraphQLEditorComponent"},{"__symbolic":"reference","name":"ɵfq"},{"__symbolic":"reference","name":"ɵfr"},{"__symbolic":"reference","name":"ɵfs"},{"__symbolic":"reference","name":"ɵft"},{"__symbolic":"reference","name":"ɵfu"},{"__symbolic":"reference","name":"ɵfv"},{"__symbolic":"reference","name":"ɵfw"},{"__symbolic":"reference","name":"ɵfx"},{"__symbolic":"reference","name":"ɵfy"},{"__symbolic":"reference","name":"ɵfz"}],"providers":[{"__symbolic":"reference","name":"ɵdn"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"}],"exports":[{"__symbolic":"reference","name":"ApiEditorComponent"},{"__symbolic":"reference","name":"AsyncApiEditorComponent"},{"__symbolic":"reference","name":"GraphQLEditorComponent"}]}]}],"members":{}},"AsyncApiEditorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵc"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":79,"character":1},"arguments":[{"selector":"async-api-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":83,"character":19},"member":"None"},"template":"<div (window:keydown)=\"onGlobalKeyDown($event)\" class=\"aai-editor\" [class.light]=\"theme === 'light'\" [class.dark]=\"theme === 'dark'\">\n\n    <title-bar [document]=\"document()\" \n               [validationErrors]=\"validationErrors\" \n               [undoableCommandCount]=\"_undoableCommandCount\" \n               [redoableCommandCount]=\"_redoableCommandCount\" \n               (onUndoClick)=\"undoLastCommand()\" \n               (onRedoClick)=\"redoLastCommand()\" \n               (onConfigureValidation)=\"onConfigureValidation.emit()\"></title-bar>\n\n    <aaimaster [document]=\"document()\" (onImportComponent)=\"importComponent($event)\" #master></aaimaster>\n    <div class=\"editor-detail\" [ngSwitch]=\"formType\">\n        <aaimain-form [document]=\"document()\" class=\"editor-detail-form\" \n                         *ngSwitchCase=\"'main_20'\"></aaimain-form>\n        <channel-form [channel]=\"selectedChannel()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'channel_20'\"></channel-form>\n        <definition-form [definition]=\"selectedDefinition()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'definition_20'\"></definition-form>\n        <operationtrait-form [operationTrait]=\"selectedOperationTrait()\" class=\"editor-detail-form\"\n                         *ngSwitchCase=\"'operationTrait_20'\"></operationtrait-form>\n        <messagetrait-form [messageTrait]=\"selectedMessageTrait()\" class=\"editor-detail-form\"\n                            *ngSwitchCase=\"'messageTrait_20'\"></messagetrait-form>\n        <message-form [message]=\"selectedMessage()\" class=\"editor-detail-form\"\n                           *ngSwitchCase=\"'message_20'\"></message-form>\n    </div>\n\n    <data-type-editor #dataTypeEditor></data-type-editor>\n    <aaiserver-editor #aaiServerEditor></aaiserver-editor>\n    <security-scheme-editor #securitySchemeEditor></security-scheme-editor>\n    <security-requirement-editor #securityRequirementEditor></security-requirement-editor>\n    <operationtrait-editor #operationTraitEditor></operationtrait-editor>\n    <messagetrait-editor #messageTraitEditor></messagetrait-editor>\n    <message-editor #messageEditor></message-editor>\n    <property-editor #propertyEditor></property-editor>\n\n</div>","styles":[".aai-editor .dropdown.empty>button.btn>span{color:#bbb}.aai-editor button.empty,.aai-editor div.empty,.aai-editor span.empty{color:#bbb}.aai-editor span.channel-param,.aai-editor span.server-variable{color:#ff6a7c}.aai-editor span.channel-segment:before{color:#363636}.aai-editor div.api-item-description{margin-right:30px}.aai-editor div.api-item-description.empty{color:#bbb}.aai-editor .editor-master{background-color:#fff;border-right:1px solid #ddd}.aai-editor .editor-detail{background-color:#fff}.aai-editor .editor-detail table tbody tr:hover{background-color:#efefef}.aai-editor .editor-master .editor-main{background-color:#eee;transition:background-color .2s}.aai-editor .editor-master .editor-main:hover{background-color:#d1eaf7}.aai-editor .editor-master .editor-main.selected{background-color:#a5d6ef}.aai-editor .editor-master .editor-search input{background-color:#eee;color:#333}.aai-editor .section .section-header{border-bottom:1px dotted #ddd}.aai-editor .section .section-header a{color:#333}.aai-editor .editor-master .editor-outline .api-channel{transition:background-color .2s;display:flex}.aai-editor .editor-master .editor-outline .api-channel:hover{background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-channel.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-channel.contexted,.aai-editor .editor-master .editor-outline .api-channel.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-channel.selected .label{transition:border-color .35s,box-shadow .35s}.aai-editor .editor-master .editor-outline .api-channel.selected .label:hover{box-shadow:0 0 3px #646464;border:1px solid #666}.aai-editor .editor-master .editor-outline .api-channel.selected .label.selected{border:1px solid #000;box-shadow:0 0 3px #141414}.aai-editor .editor-master .editor-outline .api-channel>*{margin-right:4px}.aai-editor .editor-master .editor-outline .api-channel>.api-channel-item{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aai-editor .editor-master .editor-outline .api-definition{transition:background-color .2s;display:flex}.aai-editor .editor-master .editor-outline .api-definition:hover{background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-definition.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-definition.contexted,.aai-editor .editor-master .editor-outline .api-definition.contexted:hover,.aai-editor .editor-master .editor-outline .api-response.contexted,.aai-editor .editor-master .editor-outline .api-response.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-definition>*{margin-right:4px}.aai-editor .editor-master .editor-outline .api-message:hover{background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-message.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-message.contexted,.aai-editor .editor-master .editor-outline .api-message.contexted:hover,.aai-editor .editor-master .editor-outline .api-response.contexted,.aai-editor .editor-master .editor-outline .api-response.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-message>*{margin-right:4px}.aai-editor .editor-master .editor-outline .api-response{transition:background-color .2s;display:flex}.aai-editor .editor-detail .detail-title{border-bottom:1px solid #ddd}.aai-editor .editor-detail .detail-title .detail-actions{float:right}.aai-editor .editor-detail .detail-title .detail-actions:hover{cursor:pointer;background-color:#d1eaf7}.aai-editor .editor-detail .detail-title .detail-actions .dropdown-menu{left:auto;right:0}.aai-editor .editor-detail .detail-title .detail-actions .dropdown .btn{color:#333;padding-left:20px;padding-right:20px;line-height:38px;font-size:18px;height:44px}.aai-editor .editor-detail .detail-content .info-section .api-md-entry .md-label{color:#333}.aai-editor .api-operation-parameters td.icons,.api-details table td.icons{color:#666}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation{border-bottom:1px solid #ddd}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .type .label{transition:border-color .2s,box-shadow .2s;box-shadow:none;border:1px solid transparent}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .type .label:hover{border-color:#666;box-shadow:0 0 8px #666}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .name.empty{color:#bbb}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation.empty{color:#999}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation.empty .type .label{background-color:#ccc;border-color:transparent;box-shadow:none}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation.empty .type .label:hover{background-color:#ccc;border-color:transparent;box-shadow:none}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .delete-operation{visibility:hidden}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation:hover .delete-operation{visibility:visible}.modal.in .modal-dialog{transform:none;margin-top:50px}.modal.fade .modal-dialog{transform:none;transition:margin-top .3s ease-out}.modal-dialog{width:650px;margin-top:0;margin-left:auto}.aai-editor span.channel-param,.aai-editor span.server-variable{font-weight:400}.aai-editor .context-help{margin-left:10px;position:relative;display:none}.aai-editor .context-help a{cursor:pointer}.aai-editor .context-help a .context-help-icon{transition:opacity .3s}.aai-editor .context-help .context-help-panel{position:absolute;left:0;margin:0;padding:10px 14px;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;line-height:18px;font-size:12px;font-style:normal;font-weight:400;width:450px;cursor:default}.aai-editor .context-help .context-help-panel p{padding:3px;margin:0;line-height:18px}.aai-editor .context-help .context-help-panel p>a{color:#0088ce}.aai-editor .context-help .context-help-panel p>a:hover{color:#00659c;text-decoration:underline}.aai-editor .context-help .context-help-panel pre{margin-top:10px}.aai-editor div.tab-panel{border-top:none;border-color:#ddd}.aai-editor .nav-tabs>li>a{cursor:pointer}.aai-editor .nav-tabs>li>a.active{cursor:default}.aai-editor .nav-tabs>li>a>button{visibility:hidden}.aai-editor .nav-tabs>li>a:hover>button{visibility:visible}.aai-editor .editor-master{left:0;right:70%}.aai-editor .editor-detail,.aai-editor .editor-master{position:absolute;top:42px;bottom:0;display:flex;flex-direction:column;flex:1}.aai-editor .editor-detail{left:30%;right:0}.aai-editor .editor-detail .editor-detail-form{display:flex;height:100%;flex-direction:column;flex:1;overflow:hidden}.aai-editor .editor-master .editor-main:hover{cursor:pointer}.aai-editor .editor-master .editor-main.selected{cursor:default}.aai-editor .editor-master .editor-main h2{padding:10px;margin:0}.aai-editor .editor-master .editor-search{padding:10px;display:table;width:100%}.aai-editor .editor-master .editor-search>search{display:table-cell;width:100%;padding-right:8px}.aai-editor .editor-problem-drawer{position:absolute;z-index:200;top:41px;right:0;width:320px;bottom:0}.aai-editor .editor-problem-drawer .drawer-pf{height:100%;width:360px}.aai-editor .editor-problem-drawer .drawer-pf .panel-body{padding:0}.aai-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification:hover{background-color:#efefef}.aai-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-message{line-height:16px;font-weight:600;margin-bottom:2px}.aai-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info .explanation{line-height:15px;font-size:13px}.aai-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info a{cursor:pointer}.aai-editor .editor-master .editor-outline{padding:5px;height:100%;overflow-y:auto}.aai-editor .section{padding:0;margin:0}.aai-editor .section .section-header{font-size:15px;padding-bottom:3px;margin-bottom:5px;line-height:inherit}.aai-editor .section .section-header a{cursor:pointer;text-decoration:none}.aai-editor .section .section-header a:before{display:inline-block;font-size:13px;margin-left:5px;margin-right:3px;text-align:center;vertical-align:0;font-weight:300}.aai-editor .section .section-header a span.section-label{font-weight:600}.aai-editor .section .section-header .context-help a span.fa{opacity:0;font-size:14px}.aai-editor .section .section-header:hover .context-help a span.fa{opacity:1}.aai-editor .section .section-header .context-help a:hover span.fa{color:#356c8c}.aai-editor .section .section-header .btn{margin-top:1px}.aai-editor .section .section-body{margin-bottom:20px}.aai-editor .editor-master .editor-outline .api-channel{position:relative;padding-left:15px;font-size:14px;border-left:2px solid transparent}.aai-editor .editor-master .editor-outline .api-channel:hover{cursor:pointer}.aai-editor .editor-master .editor-outline .api-channel.selected{cursor:default}.aai-editor .editor-master .editor-outline .api-channel.selected .label{font-size:12px;cursor:pointer;border:1px solid transparent;border-radius:2px;padding:2px 8px}.aai-editor .editor-master .editor-outline .api-channel.problem-marker:before{top:2px;left:1px;font-size:12px}.aai-editor .editor-master .editor-outline .api-channel .api-operations{margin-top:5px;padding-bottom:10px}.aai-editor .editor-master .editor-outline .api-channel .api-operations .label{position:relative;margin-right:5px}.aai-editor .editor-master .editor-outline .api-channel.contexted{cursor:default}.aai-editor .editor-master .editor-outline .api-definition,.aai-editor .editor-master .editor-outline .api-response{padding-left:15px;font-size:14px;border-left:2px solid transparent;position:relative}.aai-editor .editor-master .editor-outline .api-definition:hover{cursor:pointer}.aai-editor .editor-master .editor-outline .api-definition.selected{cursor:default}.aai-editor .editor-master .editor-outline .api-definition.problem:before{top:4px;left:1px}.aai-editor .editor-master .editor-outline .api-response{padding-left:15px;font-size:14px}.aai-editor .editor-master .editor-outline .api-response:hover{cursor:pointer}.aai-editor .editor-master .editor-outline .api-response.selected{cursor:default}.aai-editor .editor-detail .section{padding-top:8px}.aai-editor .editor-detail .api-inline-editor-form{display:inline-block;position:relative}.aai-editor .editor-detail .api-description-editor-form{width:100%}.aai-editor .editor-detail .api-inline-editor-form input{font-size:inherit;display:inline;height:auto}.aai-editor .editor-detail .api-inline-editor-form textarea{width:100%;min-height:50px}.aai-editor .editor-detail .api-inline-editor-form .inline-text-editor-input{min-width:90px}.aai-editor .editor-detail .detail-title{height:45px}.aai-editor .editor-detail .detail-title .detail-label{float:left;line-height:44px;font-size:18px;font-weight:500;padding-left:10px}.aai-editor .editor-detail .detail-title .detail-icon{float:left;line-height:44px;height:44px;text-transform:uppercase}.aai-editor .editor-detail .detail-title .detail-icon .label{border-radius:2px;padding:2px 8px}.aai-editor .editor-detail .editor-detail-form .detail-tabs ul{padding-left:10px}.aai-editor .editor-detail .editor-detail-form .detail-tabs ul li a{cursor:pointer}.aai-editor .editor-detail .editor-detail-form .detail-tabs ul li.disabled a{cursor:not-allowed}.aai-editor .editor-detail .detail-actionbar{text-align:right;padding:5px 25px 5px 5px;border-bottom:1px solid #ddd}.aai-editor .editor-detail .detail-actionbar>button{margin-left:4px}.aai-editor .editor-detail .detail-actionbar>button>span.pficon{margin-right:3px}.aai-editor .editor-detail .detail-content{height:100%;overflow-y:auto;padding:10px}.aai-editor .editor-detail .detail-content .section .section-body{padding-left:15px;padding-right:15px}.aai-editor .editor-detail .detail-content .info-section .explanation{font-size:15px}.aai-editor #securitySchemeModal .nav-tabs>li.enabled>a{font-weight:700}.aai-editor .editor-detail .detail-content .set-license-modal .modal-dialog{width:950px}.aai-editor .editor-detail .detail-content .set-license-modal .modal-dialog .modal-body{max-height:500px;overflow-y:auto;overflow-x:hidden}.aai-editor .editor-detail .detail-content .container-fluid{padding:0}.aai-editor .editor-detail .detail-content .license h2{font-size:17px;font-weight:700}.aai-editor .editor-detail .detail-content .license h2 span.fa{font-size:14px;margin-left:5px}.aai-editor .editor-detail .detail-content .license h3{font-size:14px;font-weight:700}.aai-editor .editor-detail .detail-content .license ul{margin:0;padding:0 0 0 12px}.aai-editor .editor-detail .detail-content .license ul li>span{color:#1d2225;cursor:pointer}.aai-editor .editor-detail .detail-content .license ul li>span:hover{border-bottom:1px dotted}.aai-editor .editor-detail .detail-title .label{margin-left:10px;font-size:13px}.aai-editor .channel-description{margin-top:15px;margin-bottom:20px}.aai-editor .api-operation-parameters td.icons,.aai-editor .api-operation-parameters td.parameter,.api-details table td.icons{width:1%;white-space:nowrap}.aai-editor .api-operation-parameters td.icons i:hover{cursor:pointer}.aai-editor .api-response .tlabel{padding:2px 10px 2px 2px;text-align:right}.aai-editor .api-response .tlabel span{font-weight:700}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation{margin-top:5px;margin-bottom:5px;padding-top:5px;padding-bottom:5px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .type{display:inline-table;margin-right:5px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .type .label{border-radius:2px;cursor:pointer;padding:2px 8px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .name{display:inline-table;font-size:15px;font-weight:600}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .description{font-size:14px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation div.description{margin-right:30px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation .actions{margin-top:5px}.aai-editor .editor-detail .api-channel-detail .operations-section .api-operation.empty .type .label{cursor:default}.aai-editor .editor-detail .requestBody-section .request-body-name{font-size:15px;margin-left:10px}.aai-editor .editor-detail .requestBody-section .api-item-description{margin-top:8px;font-size:14px}.aai-editor .editor-detail .requestBody-section .request-body-type{margin-top:20px}.aai-editor .editor-detail .requestBody-section .request-body-type .strong{font-weight:600}.aai-editor .editor-detail .requestBody-section .request-body-type .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.aai-editor .editor-detail .requestBody-section .request-body-required{margin-top:15px}.aai-editor .editor-detail .requestBody-section .request-body-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.aai-editor .editor-detail .requestBody-section .request-body-content{margin-top:15px}.aai-editor .editor-detail .requestBody-section .request-body-content .content .nav-tabs li>a .icon-button{margin-left:8px}.aai-editor .editor-detail .api-operation-detail .media-type .strong{font-weight:600}.aai-editor .editor-detail .api-operation-detail .media-type .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.aai-editor .editor-detail .parameter.required{box-shadow:1px 1px 4px #aae}.aai-editor .editor-detail .row.parameter,.aai-editor .editor-detail .row.property,.aai-editor .editor-detail .row.response{margin-left:0;margin-right:0}.aai-editor .editor-detail table{font-size:13px}.aai-editor .editor-detail table tbody tr td.actions>div{visibility:hidden}.aai-editor .editor-detail table tbody tr:hover td.actions>div{visibility:visible}.aai-editor .editor-detail .type-editor-dropdown-menu{right:0;left:auto;min-width:400px}.aai-editor .editor-detail table .inline-type-editor-label{margin-right:36px}.aai-editor .editor-detail .type-editor-dropdown-menu .dropdown{display:inline;margin-left:2px}.aai-editor .editor-detail .type-editor-dropdown-menu .dropdown-menu{top:inherit}.aai-editor .editor-detail .type-editor-dropdown-menu .typeinfo{padding:15px}.aai-editor .editor-detail .type-editor-dropdown-menu .actions{border-top:1px solid #bbb;text-align:right;padding:5px}.aai-editor .editor-detail .type-editor-dropdown-menu .actions .overlay-action-save{margin-right:3px}#channel-context-menu,#definition-context-menu,#message-context-menu,#messagetrait-context-menu,#operationtrait-context-menu{display:block;position:fixed}.aai-editor .editor-detail .section .typed-item-list .typed-item{padding:5px;border-bottom:1px solid #ddd;border-right:1px solid #ddd;vertical-align:middle;margin-top:5px;position:relative}.aai-editor .editor-detail .section .typed-item-list .typed-item.missing{opacity:.4}.aai-editor .editor-detail .section .typed-item-list .typed-item.missing .description{font-size:12px;line-height:20px}.aai-editor .editor-detail .section .typed-item-list .typed-item.overridable{background-color:#eeeeef}.aai-editor .editor-detail .section .typed-item-list .typed-item.editing{border-bottom:none;border-right:1px solid #ccc;background-color:#efefef;box-shadow:1px 1px 5px #ccc;position:relative}.aai-editor .editor-detail .section .typed-item-list .typed-item .typed-item-icon{cursor:help;color:inherit}.aai-editor .editor-detail .section .typed-item-list .typed-item .typed-item-icon:hover{color:inherit;filter:brightness(80%)}.aai-editor .editor-detail .section .typed-item-list .type-row{padding-top:12px;padding-bottom:10px;border:1px solid #ccc;position:relative;background-color:#fff;box-shadow:1px 1px 5px #ccc;margin-left:0;margin-right:0}.aai-editor .editor-detail .section .typed-item-list .typed-item .metainfo{padding-left:0}.aai-editor .editor-detail .section .typed-item-list .typed-item .actions{text-align:right;padding-right:10px}.aai-editor .editor-detail .section .typed-item-list .typed-item .actions button{opacity:.25}.aai-editor .editor-detail .section .typed-item-list .typed-item:hover{background-color:#eee;box-shadow:1px 1px 4px #ddd}.aai-editor .editor-detail .section .typed-item-list .typed-item.editing:hover{box-shadow:1px 1px 5px #ccc;background-color:#efefef}.aai-editor .editor-detail .section .typed-item-list .typed-item:hover .actions button{opacity:1}.aai-editor .editor-detail .section .typed-item-list .typed-item.editing .actions button{display:none}.aai-editor .editor-detail .section .typed-item-list .typed-item.editing .type{visibility:hidden}.aai-editor .editor-detail .section .typed-item-list .typed-item .name{font-weight:600;font-size:15px;line-height:18px}.aai-editor .editor-detail .section .typed-item-list .typed-item .description{font-size:14px}.aai-editor .editor-detail .section .typed-item-list .typed-item .type{line-height:40px}.aai-editor .editor-detail .section .typed-item-list .typed-item .type .empty{color:#999}.aai-editor .editor-detail .section .typed-item-list .typed-item .actions{line-height:40px}.aai-editor .editor-detail .section .typed-item-list .type-row .form-group{margin:5px}.aai-editor .editor-detail .section .typed-item-list .type-row .form-group-actions{padding-top:5px}.aai-editor .editor-detail .problem-form .actions{margin-top:15px}.aai-editor .content .panel .examples{margin-top:10px}.aai-editor .content .panel .examples a{cursor:pointer}.aai-editor .content .panel .examples .table-examples{margin-bottom:0}.aai-editor .response-type .examples{margin-top:5px}.aai-editor .response-type .examples a{cursor:pointer}.aai-editor .response-type .examples .table-examples{margin-bottom:0}.aai-editor .response-type .examples .table-examples td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aai-editor .response-type .examples .table-examples .content-type{width:25%}.aai-editor .response-type .examples .table-examples .value{width:60%}.aai-editor .response-type .examples .table-examples .actions{width:15%}.aai-editor table td.pre-actions,.aai-editor table th.pre-actions{border-right-width:0}.aai-editor table td.actions,.aai-editor table th.actions{border-left-width:0}.aai-editor .securityscheme-form{max-height:500px;overflow-y:auto;overflow-x:hidden;padding-right:10px}.aai-editor .modal-header{background-color:#39a5dc;color:#fff}.aai-editor .modal-header button.close{color:#fff}.aai-editor .modal-footer{border-top:1px solid #ddd;background-color:#efefef}.aai-editor .modal-dialog{margin-top:50px}.aai-editor form input.ng-invalid.ng-touched{border-color:red}.aai-editor .center-text{text-align:center}.aai-editor .dropdown-menu>li>a{cursor:pointer}.aai-editor .dropdown-menu{font-size:13px}.aai-editor div.notice-of-required{margin-top:15px;font-size:11px}.aai-editor div.notice-of-required .required-icon{color:red}.aai-editor div.modal-notice-of-required{margin-bottom:-12px;padding-left:15px}.aai-editor .form-group .control-label{white-space:nowrap}.aai-editor .form-group .control-label.required:after{color:red;content:\"*\"}.aai-editor .form-group .form-error-message.error{color:red}.aai-editor span.validation-aggregate>a>.fa-exclamation-circle{color:#0088ce;cursor:pointer;font-size:14px}.aai-editor span.validation-aggregate>a>.fa-exclamation-circle:hover{color:#00659c}.aai-editor .section .section-header>a{position:relative}.aai-editor .section .section-header>a .validation-aggregate{position:absolute;right:-15px;top:-6px}.aai-editor .detail-content .operations-section .api-operation .type{position:relative}.aai-editor .detail-content .operations-section .api-operation .type .validation-aggregate{position:absolute;right:-8px;top:-11px}.aai-editor .request-body-content .content .nav-tabs li>a{position:relative}.aai-editor .request-body-content .content .nav-tabs li>a .validation-aggregate{position:absolute;right:28px;top:0}.aai-editor .validation-problem-icon{cursor:pointer;margin-right:4px}.aai-editor .validation-problem-icon:hover{filter:brightness(125%)}.aai-editor h2 .validation-problem-icon{font-size:15px}.aai-editor .validation-aggregate .validation-aggregate-panel,.aai-editor .validation-problems-panel{position:fixed;margin:0;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;max-width:425px;max-height:125px;cursor:default;overflow-y:auto;color:#4d5258;line-height:18px;padding:10px 14px;font-size:12px;font-style:normal;font-weight:400}.aai-editor .validation-aggregate .validation-aggregate-panel .problem,.aai-editor .validation-problems-panel .problem{width:100%;text-align:left;margin-top:3px;margin-bottom:3px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.aai-editor .validation-aggregate .validation-aggregate-panel .problem .fa,.aai-editor .validation-problems-panel .problem .fa{margin-right:3px}.aai-editor .inline-editor-label{cursor:pointer}.aai-editor .inline-editor-label .fa{visibility:hidden;color:#0088ce}.aai-editor .inline-editor-label .fa:hover{color:#00659c}.aai-editor .inline-editor-label:hover .fa{visibility:visible}.aai-editor .editor-detail .inline-text-editor>input{display:inline;min-width:90px}.aai-editor .editor-detail .inline-text-editor>input.form-control{width:auto}.aai-editor .editor-detail .detail-content .info-section .section-field.version .inline-text-editor>input{width:110px}.aai-editor .editor-detail .section .half-section{width:50%;display:inline-block}.aai-editor .editor-detail .section .half-section.right{float:right}.aai-editor .editor-detail .section-field-label{margin-bottom:0}.aai-editor .editor-detail .section-field-label>span{font-weight:600}.aai-editor .editor-detail .section-field{margin-bottom:8px}.aai-editor .editor-detail .detail-content .contact-section .section-field.name .inline-text-editor>input{width:275px}.aai-editor .editor-detail .detail-content .contact-section .section-field.email .inline-text-editor>input{width:275px}.aai-editor .editor-detail .detail-content .contact-section .section-field.url .inline-text-editor>input{width:375px}.aai-editor .entity-editor{position:absolute;left:0;right:0;top:0;bottom:0;overflow-y:auto;background-color:#fff;z-index:5}.aai-editor .entity-editor h1{font-size:25px}.aai-editor .entity-editor .close-button{position:absolute;right:0;top:0;margin-right:50px;font-size:32px;cursor:pointer;z-index:6;color:#666}.aai-editor .entity-editor .close-button:hover{color:#000}.aai-editor .entity-editor .context{padding-bottom:30px;padding-top:30px}.aai-editor .entity-editor .context .context-label{color:#8b8d8f;font-size:18px;margin-right:15px}.aai-editor .entity-editor .context .context-value{color:#8b8d8f}.aai-editor .entity-editor .context .operation>.label{font-size:16px;border-radius:4px;text-transform:uppercase}.aai-editor .entity-editor .notice-of-required{margin-bottom:-15px;padding-left:0;margin-top:10px}.aai-editor .entity-editor hr{border-color:#bbb}.aai-editor .entity-editor .body-section{width:60%;min-width:400px}.aai-editor .entity-editor .body-section h3{font-weight:600;font-size:19px}.aai-editor .entity-editor .body-section .explanation{padding-left:20px;margin-bottom:20px;margin-top:10px;color:#8b8d8f;line-height:18px}.aai-editor .entity-editor .body-section>div>.form-group{padding-left:20px}.aai-editor .entity-editor .body-section>div>.form-group input{min-width:350px;width:90%}.aai-editor .entity-editor .body-section .form-group input.short{width:50%}.aai-editor .entity-editor .body-section>div>.form-group textarea{min-width:350px;width:90%}.aai-editor .entity-editor .body-section .form-group textarea.short{width:50%}.aai-editor .entity-editor .body-section .empty-state{border:1px solid #ccc;color:#8b8d8f;padding:30px;line-height:18px}.aai-editor .entity-editor .actions-section .actions{width:60%;min-width:400px;text-align:right;padding-bottom:30px}.aai-editor .dropdown-label{margin-right:3px}.aai-editor .dropdowns-label{margin-left:3px;margin-right:3px}.aai-editor .detail-title .detail-actions .dropdown-menu li a span.pficon{margin-right:4px}.aai-editor .detail-title .detail-actions .dropdown-menu li a span.fa{margin-right:3px}.aai-editor .editor-master .context-menu li a span.pficon{margin-right:4px}.aai-editor .editor-master .context-menu li a span.fa{margin-right:3px}"]}]}],"members":{"api":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"embedded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":5}}]}],"features":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":5}}]}],"validationRegistry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"contentFetcher":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":5}}]}],"componentImporter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":5}}]}],"onCommandExecuted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":94,"character":5}}]}],"onSelectionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":5}}]}],"onValidationChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":5}}]}],"onUndo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":5}}]}],"onRedo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":98,"character":5}}]}],"onConfigureValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":99,"character":5}}]}],"master":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":121,"character":5},"arguments":["master",{"static":true}]}]}],"aaiServerEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":122,"character":5},"arguments":["aaiServerEditor",{"static":true}]}]}],"securitySchemeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":123,"character":5},"arguments":["securitySchemeEditor",{"static":true}]}]}],"securityRequirementEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":124,"character":5},"arguments":["securityRequirementEditor",{"static":true}]}]}],"dataTypeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":125,"character":5},"arguments":["dataTypeEditor",{"static":true}]}]}],"operationTraitEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":126,"character":5},"arguments":["operationTraitEditor",{"static":true}]}]}],"messageTraitEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":127,"character":5},"arguments":["messageTraitEditor",{"static":true}]}]}],"messageEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":128,"character":5},"arguments":["messageEditor",{"static":true}]}]}],"oneOfInMessageEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":129,"character":5},"arguments":["oneOfInMessageEditor",{"static":true}]}]}],"propertyEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":130,"character":5},"arguments":["propertyEditor",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"sourceTheme":[{"__symbolic":"method"}],"sourceMode":[{"__symbolic":"method"}],"isDirty":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"otEngine":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"undoLastCommand":[{"__symbolic":"method"}],"redoLastCommand":[{"__symbolic":"method"}],"onCommand":[{"__symbolic":"method"}],"executeCommand":[{"__symbolic":"method"}],"undoCommand":[{"__symbolic":"method"}],"redoCommand":[{"__symbolic":"method"}],"finalizeCommand":[{"__symbolic":"method"}],"updateCollaboratorSelection":[{"__symbolic":"method"}],"onNodeSelected":[{"__symbolic":"method"}],"updateFormDisplay":[{"__symbolic":"method"}],"validateModel":[{"__symbolic":"method"}],"selectedChannel":[{"__symbolic":"method"}],"selectedDefinition":[{"__symbolic":"method"}],"deselectDefinition":[{"__symbolic":"method"}],"selectedOperationTrait":[{"__symbolic":"method"}],"selectedMessageTrait":[{"__symbolic":"method"}],"selectedMessage":[{"__symbolic":"method"}],"preDocumentChange":[{"__symbolic":"method"}],"postDocumentChange":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"saveSource":[{"__symbolic":"method"}],"revertSource":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"getServerEditor":[{"__symbolic":"method"}],"getAaiServerEditor":[{"__symbolic":"method"}],"getSecuritySchemeEditor":[{"__symbolic":"method"}],"getSecurityRequirementEditor":[{"__symbolic":"method"}],"getDataTypeEditor":[{"__symbolic":"method"}],"getResponseEditor":[{"__symbolic":"method"}],"getParameterEditor":[{"__symbolic":"method"}],"getPropertyEditor":[{"__symbolic":"method"}],"getOperationTraitEditor":[{"__symbolic":"method"}],"getMessageTraitEditor":[{"__symbolic":"method"}],"getMessageEditor":[{"__symbolic":"method"}],"getOneOfInMessageEditor":[{"__symbolic":"method"}],"importComponent":[{"__symbolic":"method"}]}},"CodeEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"code-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":33,"character":19},"member":"None"},"template":"<ace-editor #editor\n            [theme]=\"aceTheme()\"\n            [mode]=\"aceMode()\"\n            [(text)]=\"text\"\n            [wordWrap]=\"wordWrap\"\n            [ngStyle]=\"editorStyle\"></ace-editor>\n"}]}],"members":{"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":39,"character":5},"arguments":["editor",{"static":true}]}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"editorStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"wordWrap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"textChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":5}}]}],"debounceTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"aceMode":[{"__symbolic":"method"}],"aceTheme":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}]},"statics":{"DEFAULT_DEBOUNCE_TIME":200}},"DivAutoHeight":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":43,"character":1},"arguments":[{"selector":"div[autoheight]"}]}],"members":{"maxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":29,"character":32}]}],"ngAfterViewChecked":[{"__symbolic":"method"}],"adjust":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":84,"character":1},"arguments":[{"selector":"drop-down","template":"<div class=\"dropdown {{ classes }}\" dropdown [class.empty]=\"!hasValue()\" [isOpen]=\"_open\" (isOpenChange)=\"setOpen($event)\">\n    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"{{ id }}\" dropdownToggle>\n        <span *ngIf=\"hasValue() && !loading\">{{ displayValue() }}</span>\n        <span *ngIf=\"!hasValue() && !loading\">{{ noSelectionLabel }}</span>\n        <span *ngIf=\"loading\"><span class=\"spinner spinner-xs spinner-inline\"></span> {{ loadingLabel }}</span>\n        <span class=\"caret\"></span>\n    </button>\n    <ul class=\"dropdown-menu\" [style.max-height]=\"'400px'\" [style.overflow-y]=\"'auto'\" role=\"menu\" [attr.aria-labelledby]=\"id\" *dropdownMenu>\n        <li role=\"filter\" class=\"filter\" *ngIf=\"shouldShowFilter()\">\n            <input type=\"text\" class=\"form-control\" id=\"dd-filter\" placeholder=\"Filter...\" #filter autocomplete=\"off\"\n                   [(ngModel)]=\"criteria\" (ngModelChange)=\"filterOptions()\" (keypress)=\"inputKeypress($event)\">\n        </li>\n        <li class=\"divider\" *ngIf=\"shouldShowFilter()\"></li>\n        <li role=\"presentation\" *ngFor=\"let option of filteredOptions\" [class.divider]=\"option.divider\" [class.disabled]=\"option.disabled\">\n            <a *ngIf=\"!option.divider\" role=\"menuitem\" tabindex=\"-1\" (click)=\"option.disabled ? false : setValue(option.value)\">{{ option.name }}</a>\n        </li>\n        <li role=\"presentation\" *ngIf=\"!hasOptions()\">\n            <span>{{ noOptionsLabel }}</span>\n        </li>\n    </ul>\n</div>\n","styles":["div.dropdown li.filter{padding-left:3px;padding-right:3px}div.dropdown li>span{border-color:transparent;border-style:solid;border-width:1px 0;padding:1px 10px;display:block;clear:both;font-weight:400;line-height:1.66666667;color:#363636;white-space:nowrap}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":5}}]}],"noSelectionLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":5}}]}],"noOptionsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":5}}]}],"filterItemCountThreshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":5}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":5}}]}],"loadingLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":5}}]}],"onValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":103,"character":5}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":116,"character":5},"arguments":["filter"]}]}],"toggle":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"setOpen":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"displayValue":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"filterOptions":[{"__symbolic":"method"}],"hasOptions":[{"__symbolic":"method"}],"inputKeypress":[{"__symbolic":"method"}],"shouldShowFilter":[{"__symbolic":"method"}]}},"FormErrorMessageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"form-error-message","template":"<div *ngIf=\"isVisible()\" class=\"form-error-message\" [class.error]=\"isError()\"><ng-content></ng-content></div>\n"}]}],"members":{"inputModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"alwaysOn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"isError":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","members":{}},"GraphQLEditorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"graphql-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":42,"character":19},"member":"None"},"template":"<div (window:keydown)=\"onGlobalKeyDown($event)\" class=\"graphql-editor\">\n\n    <div class=\"editor-toolbar\">\n        <div class=\"title\">Editing API: <em>{{ api.name }}</em></div>\n        <div class=\"actions\">\n            <button [disabled]=\"!sourceIsValid || !isDirty()\" (click)=\"saveSource()\" class=\"btn btn-primary\"><span class=\"pficon pficon-save\"></span> Save Changes</button>\n            <button [disabled]=\"!isDirty()\" (click)=\"revertSource()\" class=\"btn btn-default\"><span class=\"icon fa fa-ban\"></span> Revert Changes</button>\n        </div>\n    </div>\n\n    <div class=\"editor-source\">\n        <code-editor [theme]=\"sourceTheme()\" #codeEditor\n                     [mode]=\"sourceMode()\"\n                     [debounceTime]=\"300\"\n                     [(text)]=\"sourceValue\"\n                     (textChange)=\"validate()\"\n                     [editorStyle]=\"{ position: 'absolute', top: '0', bottom: '0', right: '0', left: '0', fontSize: '15px' }\"></code-editor>\n    </div>\n\n</div>\n","styles":[".graphql-editor .editor-toolbar{width:100%;height:42px;display:flex;flex-direction:row;flex-wrap:nowrap}.graphql-editor .editor-toolbar .title{flex-grow:1;height:42px;line-height:42px;font-size:18px;padding-left:10px}.graphql-editor .editor-toolbar .title>em{font-weight:700}.graphql-editor .editor-toolbar .actions{height:42px;line-height:42px;flex-grow:0}.graphql-editor .editor-toolbar .actions>.btn{margin-right:10px}.graphql-editor .dropdown.empty>button.btn>span{color:#bbb}.graphql-editor button.empty,.graphql-editor div.empty,.graphql-editor span.empty{color:#bbb}.graphql-editor span.server-variable{color:#ff6a7c}.modal.in .modal-dialog{transform:none;margin-top:50px}.modal.fade .modal-dialog{transform:none;transition:margin-top .3s ease-out}.modal-dialog{width:650px;margin-top:0;margin-left:auto}.graphql-editor span.server-variable{font-weight:400}.graphql-editor div.tab-panel{border-top:none;border-color:#ddd}.graphql-editor .nav-tabs>li>a{cursor:pointer}.graphql-editor .nav-tabs>li>a.active{cursor:default}.graphql-editor .nav-tabs>li>a>button{visibility:hidden}.graphql-editor .nav-tabs>li>a:hover>button{visibility:visible}.graphql-editor .editor-problem-drawer{position:absolute;z-index:200;top:41px;right:0;width:320px;bottom:0}.graphql-editor .editor-problem-drawer .drawer-pf{height:100%;width:360px}.graphql-editor .editor-problem-drawer .drawer-pf .panel-body{padding:0}.graphql-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification:hover{background-color:#efefef}.graphql-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-message{line-height:16px;font-weight:600;margin-bottom:2px}.graphql-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info .explanation{line-height:15px;font-size:13px}.graphql-editor .editor-problem-drawer .drawer-pf .drawer-pf-notification-info a{cursor:pointer}.api-details table td.icons{width:1%;white-space:nowrap}.graphql-editor .modal-header{background-color:#39a5dc;color:#fff}.graphql-editor .modal-header button.close{color:#fff}.graphql-editor .modal-footer{border-top:1px solid #ddd;background-color:#efefef}.graphql-editor .modal-dialog{margin-top:50px}.graphql-editor form input.ng-invalid.ng-touched{border-color:red}.graphql-editor .center-text{text-align:center}.graphql-editor .dropdown-menu>li>a{cursor:pointer}.graphql-editor .dropdown-menu{font-size:13px}.graphql-editor div.notice-of-required{margin-top:15px;font-size:11px}.graphql-editor div.notice-of-required .required-icon{color:red}.graphql-editor div.modal-notice-of-required{margin-bottom:-12px;padding-left:15px}.graphql-editor .form-group .control-label{white-space:nowrap}.graphql-editor .form-group .control-label.required:after{color:red;content:\"*\"}.graphql-editor .form-group .form-error-message.error{color:red}.graphql-editor span.validation-aggregate>a>.fa-exclamation-circle{color:#0088ce;cursor:pointer;font-size:14px}.graphql-editor span.validation-aggregate>a>.fa-exclamation-circle:hover{color:#00659c}.graphql-editor .validation-problem-icon{cursor:pointer;margin-right:4px}.graphql-editor .validation-problem-icon:hover{filter:brightness(125%)}.graphql-editor h2 .validation-problem-icon{font-size:15px}.graphql-editor .validation-aggregate .validation-aggregate-panel,.graphql-editor .validation-problems-panel{position:fixed;margin:0;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;max-width:425px;max-height:125px;cursor:default;overflow-y:auto;color:#4d5258;line-height:18px;padding:10px 14px;font-size:12px;font-style:normal;font-weight:400}.graphql-editor .validation-aggregate .validation-aggregate-panel .problem,.graphql-editor .validation-problems-panel .problem{width:100%;text-align:left;margin-top:3px;margin-bottom:3px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.graphql-editor .validation-aggregate .validation-aggregate-panel .problem .fa,.graphql-editor .validation-problems-panel .problem .fa{margin-right:3px}.graphql-editor .inline-editor-label{cursor:pointer}.graphql-editor .inline-editor-label .fa{visibility:hidden;color:#0088ce}.graphql-editor .inline-editor-label .fa:hover{color:#00659c}.graphql-editor .inline-editor-label:hover .fa{visibility:visible}.graphql-editor .dropdown-label{margin-right:3px}.graphql-editor .dropdowns-label{margin-left:3px;margin-right:3px}.graphql-editor .editor-source{position:absolute;top:42px;left:0;right:0;bottom:0;display:flex;flex-direction:column;flex:1}"]}]}],"members":{"api":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"textChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"sourceTheme":[{"__symbolic":"method"}],"sourceMode":[{"__symbolic":"method"}],"isDirty":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"saveSource":[{"__symbolic":"method"}],"revertSource":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}]}},"MarkdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"markdown","template":"<div class=\"md-container\" [innerHTML]=\"convertedData\" [class.empty]=\"isEmpty()\"></div>","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":24,"character":19},"member":"None"},"styles":[".md-container ul{list-style-type:circle;list-style-position:inside}.md-container ul li{padding-left:18px}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["data"]}]}],"emptyText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5},"arguments":["emptyText"]}]}],"ngOnChanges":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"MarkdownEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"markdown-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":19},"member":"None"},"template":"<code-editor\n        [mode]=\"codeEditorMode()\"\n        [debounceTime]=\"100\"\n        [(text)]=\"value\"\n        wordWrap=\"true\"\n        [editorStyle]=\"editorStyle\"></code-editor>"}]}],"members":{"editorStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":5}}]}],"codeEditorMode":[{"__symbolic":"method"}]}},"MarkdownSummaryComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"markdown-summary","template":"<span class=\"md-summary\" [innerHTML]=\"convertedData\" [class.empty]=\"isEmpty()\"></span>","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":19},"member":"None"}}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5},"arguments":["data"]}]}],"delimiter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5},"arguments":["delimiter"]}]}],"showImageText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5},"arguments":["showImageText"]}]}],"emptyText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5},"arguments":["emptyText"]}]}],"ngOnChanges":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"TextAreaAutosize":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"textarea[autosize]"}]}],"members":{"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":24,"character":5},"arguments":["input",["$event.target"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":29,"character":32}]}],"ngAfterContentChecked":[{"__symbolic":"method"}],"adjust":[{"__symbolic":"method"}]}},"TextBoxAutosize":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":77,"character":1},"arguments":[{"selector":"input[autosize]"}]}],"members":{"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":5},"arguments":["input",["$event.target"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":29,"character":32}]}],"ngAfterContentChecked":[{"__symbolic":"method"}],"adjust":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","members":{"executeCommand":[{"__symbolic":"method"}],"undoCommand":[{"__symbolic":"method"}],"redoCommand":[{"__symbolic":"method"}],"finalizeCommand":[{"__symbolic":"method"}],"updateCollaboratorSelection":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":78,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"currentSelection":[{"__symbolic":"method"}],"selection":[{"__symbolic":"method"}],"simpleSelect":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"selectNode":[{"__symbolic":"method"}],"selectRoot":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"clearAllSelections":[{"__symbolic":"method"}],"reselectAll":[{"__symbolic":"method"}],"clearCurrentSelection":[{"__symbolic":"method"}],"highlightPath":[{"__symbolic":"method"}],"highlight":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setDocument":[{"__symbolic":"method"}],"currentDocument":[{"__symbolic":"method"}],"emitChange":[{"__symbolic":"method"}],"change":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"emit":[{"__symbolic":"method"}],"commands":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":54,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setProvider":[{"__symbolic":"method"}],"getServerEditor":[{"__symbolic":"method"}],"getAaiServerEditor":[{"__symbolic":"method"}],"getSecuritySchemeEditor":[{"__symbolic":"method"}],"getSecurityRequirementEditor":[{"__symbolic":"method"}],"getDataTypeEditor":[{"__symbolic":"method"}],"getResponseEditor":[{"__symbolic":"method"}],"getParameterEditor":[{"__symbolic":"method"}],"getPropertyEditor":[{"__symbolic":"method"}],"getOperationTraitEditor":[{"__symbolic":"method"}],"getMessageTraitEditor":[{"__symbolic":"method"}],"getMessageEditor":[{"__symbolic":"method"}],"getOneOfInMessageEditor":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setFeatures":[{"__symbolic":"method"}],"getFeatures":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":82,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"collaboratorSelection":[{"__symbolic":"method"}],"currentCollaboratorSelection":[{"__symbolic":"method"}],"setCollaboratorSelection":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"getCollaboratorsForPath":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setFetcher":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"changes":[{"__symbolic":"method"}],"getAllRefs":[{"__symbolic":"method"}],"fetchAndCache":[{"__symbolic":"method"}],"parseContent":[{"__symbolic":"method"}],"toDesignId":[{"__symbolic":"method"}],"cacheContent":[{"__symbolic":"method"}],"lookup":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"ace-editor","template":"","styles":[":host { display:block;width:100%; }"],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":37,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵk"},"multi":true}]}]}],"members":{"textChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"textChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":63,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":63,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"initEvents":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"updateText":[{"__symbolic":"method"}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":5}}]}],"setOptions":[{"__symbolic":"method"}],"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":5}}]}],"setReadOnly":[{"__symbolic":"method"}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":147,"character":5}}]}],"setTheme":[{"__symbolic":"method"}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":5}}]}],"setMode":[{"__symbolic":"method"}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":5}}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"wordWrap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":200,"character":5}}]}],"setWordWrap":[{"__symbolic":"method"}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":214,"character":5}}]}],"setText":[{"__symbolic":"method"}],"autoUpdateContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":231,"character":5}}]}],"setAutoUpdateContent":[{"__symbolic":"method"}],"durationBeforeCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":239,"character":5}}]}],"setDurationBeforeCallback":[{"__symbolic":"method"}],"getEditor":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"validation-icon","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":36,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<div class=\"validation-icon\" [class.has-errors]=\"hasErrors()\">\n    <button class=\"btn btn-link nav-item-iconic drawer-pf-trigger-icon\" title=\"{{ message() }}\" (click)=\"onClick.emit(true)\">\n        <span class=\"fa icon\" [class.fa-exclamation-circle]=\"hasErrors()\" [class.fa-check-circle]=\"!hasErrors()\"></span>\n        <span class=\"issues-label\">Issues</span>\n        <span>(</span><span>{{ numErrors() }}</span><span>)</span>\n    </button>\n</div>\n","styles":[".validation-icon{margin:2px;height:38px;line-height:32px}.validation-icon button{color:#666;font-size:16px;margin:0;height:38px;text-decoration:none;cursor:pointer}.validation-icon:hover{background-color:#d1eaf7}.validation-icon button .icon{color:#0088ce;margin-right:3px}.validation-icon button .issues-label{margin-right:3px}.validation-icon button:focus,.validation-icon button:hover{text-decoration:none}"]}]}],"members":{"validationErrors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"onClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"message":[{"__symbolic":"method"}],"hasErrors":[{"__symbolic":"method"}],"numErrors":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":26,"character":57},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"boolean"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"[server-url]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":27,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":28,"character":21},"member":"OnPush"},"template":"<span class=\"server-url-segment\" *ngFor=\"let segment of segments()\" [class.server-variable]=\"segment.startsWith('{') && segment.endsWith('}')\">{{ segment }}</span>\n"}]}],"members":{"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":34,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"segments":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"search","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":26,"character":21},"member":"OnPush"},"template":"<form role=\"form\" class=\"search-pf has-button\">\n    <div class=\"form-group has-clear\">\n        <div class=\"search-pf-input-group\">\n            <label for=\"{{ searchId }}\" class=\"sr-only\">Search</label>\n            <input name=\"search\" id=\"{{ searchId }}\" type=\"search\" class=\"form-control\" placeholder=\"{{ placeholder }}\"\n                   value=\"{{ initialValue }}\" [ngModel]=\"value\" (ngModelChange)=\"changeValue($event)\" autocomplete=\"off\">\n            <button *ngIf=\"hasValue()\" type=\"button\" class=\"clear\" (click)=\"clear()\"><span class=\"pficon pficon-close\"></span></button>\n        </div>\n    </div>\n    <div class=\"form-group\">\n        <button class=\"btn btn-default\" type=\"button\"><span class=\"fa fa-search\"></span></button>\n    </div>\n</form>\n"}]}],"members":{"initialValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"searchId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"onSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"changeValue":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"schema-type","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"template":"<span [class.empty]=\"!hasType()\">{{ displayType() }}</span>\n"}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"displayType":[{"__symbolic":"method"}],"hasType":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"[response-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<span class=\"icon fa fa-fw fa-reply-all\"></span>\n<span class=\"name\">{{ responseName() }}</span>\n<span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n<collaborator-aggregate [nodePath]=\"asNodePath()\"></collaborator-aggregate>\n<validation-aggregate [models]=\"[response]\"></validation-aggregate>","styles":["span.icon{line-height:21px}span.name{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}span.imported{font-size:11px;border-radius:2px;margin-top:2px;margin-bottom:2px}"]}]}],"members":{"response":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"responseName":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"[path-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":27,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":28,"character":21},"member":"OnPush"},"template":"<span class=\"path-segment\" *ngFor=\"let pathSegment of pathSegments()\" [class.path-param]=\"pathSegment.indexOf('{') === 0\">{{ pathSegment }}</span>\n"}]}],"members":{"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":34,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"pathSegments":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"context-help","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":23,"character":21},"member":"OnPush"},"template":"<span class=\"context-help\" (window:keydown)=\"onGlobalKeyDown($event)\">\n    <a (click)=\"open($event)\"><span class=\"context-help-icon fa fa-fw fa-info-circle\"></span></a>\n    <div #helppanel *ngIf=\"isOpen()\" class=\"context-help-panel\">\n        <ng-content></ng-content>\n    </div>\n</span>"}]}],"members":{"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":5},"arguments":["document:click",["$event"]]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵx"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"inline-markdown-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":26,"character":19},"member":"None"},"template":"<div class=\"md-description inline-markdown-editor-label\" *ngIf=\"!editing\" (click)=\"onStartEditing()\" title=\"Click to edit.\">\n    <markdown [data]=\"displayValue()\" *ngIf=\"!isEmpty()\"></markdown>\n    <div *ngIf=\"isEmpty()\">\n        <span class=\"empty\">{{ noValueMessage }}</span>\n        <i class=\"glyphicon glyphicon-pencil\"></i>\n    </div>\n</div>\n<div class=\"inline-editor inline-markdown-editor\" *ngIf=\"editing\" (keyup)=\"onInputKeypress($event)\">\n    <code-editor [mode]=\"codeEditorMode()\" #codeEditor\n                 [debounceTime]=\"150\"\n                 [(text)]=\"evalue\"\n                 wordWrap=\"true\"\n                 [editorStyle]=\"{ position: 'relative', height: '220px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n    <button title=\"Save changes.\" class=\"btn btn-xs btn-primary\" (click)=\"onSave()\"><span class=\"fa fa-fw fa-check\"></span></button>\n    <button title=\"Cancel changes.\" class=\"btn btn-xs btn-default\" (click)=\"onCancel()\"><span class=\"fa fa-fw fa-close\"></span></button>\n</div>\n","styles":[".inline-markdown-editor-label{border:1px solid transparent;padding:2px 5px;margin-left:-6px;display:inline-block;width:100%}.inline-markdown-editor-label:hover{border-color:#bbb;cursor:pointer}.inline-markdown-editor-label .glyphicon{font-size:11px;margin-left:5px}.inline-markdown-editor-label:hover .glyphicon{color:#669}.inline-markdown-editor-label .md-container p:last-child{margin-bottom:0}.inline-markdown-editor>button{margin-right:3px}"]}]}],"members":{"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":30,"character":5},"arguments":["codeEditor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"codeEditorMode":[{"__symbolic":"method"}],"getValueForSave":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":27,"character":1}}],"members":{"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"labelClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"inputClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"formClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"baseNode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"nodePath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"onStartEditing":[{"__symbolic":"method"}],"initialValueForEditing":[{"__symbolic":"method"}],"onSave":[{"__symbolic":"method"}],"getValueForSave":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}],"isEditedValueEmpty":[{"__symbolic":"method"}],"onInputKeypress":[{"__symbolic":"method"}],"onInputFocus":[{"__symbolic":"method"}],"isEscapeKey":[{"__symbolic":"method"}],"isEnterKey":[{"__symbolic":"method"}]},"statics":{"s_activeEditor":null}},"ɵv":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ɵu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":134,"character":1}}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":5}}]}],"noValueMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"ngOnChanges":[{"__symbolic":"method"}],"displayValue":[{"__symbolic":"method"}],"formatValue":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"initialValueForEditing":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵv"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":174,"character":1}}],"members":{"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":177,"character":5},"arguments":["newvalue"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"isEditedValueEmpty":[{"__symbolic":"method"}],"formatValue":[{"__symbolic":"method"}],"getValueForSave":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵw"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":225,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"onInputKeypress":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"selector":"operation-info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":48,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":49,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"In this section you can easily edit the Summary, ID, and Description of the Operation.\"\n         [collaborationNodePath]=\"operationInfoPaths()\"\n         [validationModels]=\"[operation]\" [validationShallow]=\"true\" [validationProperties]=\"[ 'operationId', 'summary', 'description' ]\">\n    <span actions></span>\n    <div body>\n        <div class=\"half-section\">\n            <!-- Summary -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                <span>Summary</span>\n            </div>\n            <div class=\"section-field summary\">\n                <pf-inline-text-editor [value]=\"operation.summary\" [noValueMessage]=\"'No Summary'\"\n                                       [labelClass]=\"'api-item-title'\"\n                                       [inputClass]=\"'api-item-editor api-summary-editor api-item-title'\"\n                                       [baseNode]=\"operation\" nodePath=\"summary\"\n                                       (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n            </div>\n        </div>\n\n        <div class=\"half-section right\">\n            <!-- Operation ID -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'operationId'\"></validation-problem>\n                <span>Operation ID</span>\n            </div>\n            <div class=\"section-field operationId\">\n                <pf-inline-text-editor [value]=\"operation.operationId\" [noValueMessage]=\"'No Operation ID'\"\n                                       [labelClass]=\"'api-item-operation-id'\"\n                                       [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                       [baseNode]=\"operation\" nodePath=\"operationId\"\n                                       (onChange)=\"changeOperationId($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Deprecated -->\n            <div class=\"section-field deprecated\">\n                <drop-down [value]=\"operation.deprecated\"\n                           [options]=\"deprecatedOptions()\"\n                           (onValueChange)=\"changeDeprecated($event)\"\n                           noSelectionLabel=\"Not Deprecated\"></drop-down>\n            </div>\n        </div>\n\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"operation.description\" [noValueMessage]=\"'No description.'\"\n                                    [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                    [inputClass]=\"'api-item-description'\"\n                                    [formClass]=\"'api-description-editor-form'\"\n                                    [baseNode]=\"operation\" nodePath=\"description\"\n                                    (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n        </div>\n\n        <!-- Tags -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'tags'\"></validation-problem>\n            <span>Tags</span>\n        </div>\n        <div class=\"section-field tags\">\n            <inline-array-editor noValueMessage=\"No tags configured.\" [value]=\"operation.tags\" [items]=\"tagDefs()\"\n                                 [baseNode]=\"operation\" nodepath=\"tags\"\n                                 (onChange)=\"changeTags($event)\"></inline-array-editor>\n        </div>\n\n        <!-- Consumes and Produces (2.0 only) -->\n        <div *ngIf=\"is2xDocument()\">\n            <!-- Consumes -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation.ownerDocument()\" property=\"consumes\" [shallow]=\"true\"></validation-problem>\n                <span>Consumes (Inputs)</span>\n            </div>\n            <div class=\"section-field consumes\">\n                <div class=\"inherited-labels\" *ngIf=\"showInheritedConsumes()\">\n                    <span class=\"apicurio-icon-inherit-d icon-inherit\" title=\"Content types inherited from global scope.\"></span>\n                    <div class=\"inherited-labels-inner\">\n                        <span class=\"inherited-label label label-default\" *ngFor=\"let item of inheritedConsumes()\">{{ item }}</span>\n                    </div>\n                    <button class=\"btn btn-default btn-xs btn-override\" title=\"Override the 'consumes' setting.\" (click)=\"overrideConsumes()\">Override</button>\n                </div>\n                <div class=\"overridden-labels\" *ngIf=\"!showInheritedConsumes()\">\n                    <span *ngIf=\"hasGlobalConsumes()\" class=\"apicurio-icon-override icon-override\" title=\"Overrides the global 'consumes' setting.\"></span>\n                    <span *ngIf=\"!hasGlobalConsumes() && hasLocalConsumes()\" class=\"apicurio-icon-local-d icon-local\" title=\"Content types defined in this operation only (no global setting).\"></span>\n                    <span *ngIf=\"!hasGlobalConsumes() && !hasLocalConsumes()\" class=\"apicurio-icon-undefined-d icon-local\" title=\"No content types defined at any level.\"></span>\n                    <inline-array-editor [value]=\"consumes()\" [noValueMessage]=\"'No consumes content-type(s) set.'\" #consumesEditor\n                                         [items]=\"[ 'application/json', 'text/xml', 'multipart/form-data' ]\"\n                                         [baseNode]=\"operation\" nodepath=\"consumes\"\n                                         (onClose)=\"onConsumesClose()\"\n                                         (onChange)=\"onConsumesChange($event)\"></inline-array-editor>\n                </div>\n            </div>\n            <!-- Produces -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation.ownerDocument()\" property=\"produces\" [shallow]=\"true\"></validation-problem>\n                <span>Produces (Outputs)</span>\n            </div>\n            <div class=\"section-field produces\">\n                <div class=\"inherited-labels\" *ngIf=\"showInheritedProduces()\">\n                    <span class=\"apicurio-icon-inherit-d icon-inherit\" title=\"Content types inherited from global scope.\"></span>\n                    <div class=\"inherited-labels-inner\">\n                        <span class=\"inherited-label label label-default\" *ngFor=\"let item of inheritedProduces()\">{{ item }}</span>\n                    </div>\n                    <button class=\"btn btn-default btn-xs btn-override\" title=\"Override the produces setting.\" (click)=\"overrideProduces()\">Override</button>\n                </div>\n                <div class=\"overridden-labels\" *ngIf=\"!showInheritedProduces()\">\n                    <span *ngIf=\"hasGlobalProduces()\" class=\"apicurio-icon-override icon-override\" title=\"Overrides the global 'produces' setting.\"></span>\n                    <span *ngIf=\"!hasGlobalProduces() && hasLocalProduces()\" class=\"apicurio-icon-local-d icon-local\" title=\"Content types defined in this operation only (no global setting).\"></span>\n                    <span *ngIf=\"!hasGlobalProduces() && !hasLocalProduces()\" class=\"apicurio-icon-undefined-d icon-local\" title=\"No content types defined at any level.\"></span>\n                    <inline-array-editor [value]=\"produces()\" [noValueMessage]=\"'No produces content-type(s) set.'\" #producesEditor\n                                         [items]=\"[ 'application/json', 'text/xml', 'multipart/form-data' ]\"\n                                         [baseNode]=\"operation\" nodepath=\"produces\"\n                                         (onClose)=\"onProducesClose()\"\n                                         (onChange)=\"onProducesChange($event)\"></inline-array-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","styles":[".inherited-labels .inherited-label{margin-right:5px;margin-bottom:3px;padding:5px 5px 5px 8px;display:inline-block}.inherited-labels .inherited-label:hover{filter:brightness(110%)}.inherited-labels,.overridden-labels{padding-left:28px;position:relative}.inherited-labels .icon-inherit,.overridden-labels .icon-local,.overridden-labels .icon-override{position:absolute;top:7px;left:1px;font-size:16px;color:#666;cursor:help}.inherited-labels-inner{display:inline-block;padding-top:3px}.inherited-labels button{display:inline-block;margin-top:-2px}"]}]}],"members":{"operation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"consumesEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":54,"character":5},"arguments":["consumesEditor"]}]}],"producesEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":55,"character":5},"arguments":["producesEditor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":68,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnChanges":[{"__symbolic":"method"}],"_initConsumesProduces":[{"__symbolic":"method"}],"operationInfoPaths":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeOperationId":[{"__symbolic":"method"}],"changeTags":[{"__symbolic":"method"}],"changeDeprecated":[{"__symbolic":"method"}],"onConsumesChange":[{"__symbolic":"method"}],"onConsumesClose":[{"__symbolic":"method"}],"onProducesChange":[{"__symbolic":"method"}],"onProducesClose":[{"__symbolic":"method"}],"consumes":[{"__symbolic":"method"}],"produces":[{"__symbolic":"method"}],"hasGlobalConsumes":[{"__symbolic":"method"}],"hasLocalConsumes":[{"__symbolic":"method"}],"hasLocalProduces":[{"__symbolic":"method"}],"showInheritedConsumes":[{"__symbolic":"method"}],"inheritedConsumes":[{"__symbolic":"method"}],"hasGlobalProduces":[{"__symbolic":"method"}],"showInheritedProduces":[{"__symbolic":"method"}],"inheritedProduces":[{"__symbolic":"method"}],"overrideConsumes":[{"__symbolic":"method"}],"overrideProduces":[{"__symbolic":"method"}],"tagDefs":[{"__symbolic":"method"}],"is2xDocument":[{"__symbolic":"method"}],"deprecatedOptions":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"channel-operation-info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":41,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"In this section you can easily edit the Summary, ID, and Description of the Operation.\"\n         [collaborationNodePath]=\"operationInfoPaths()\"\n         [validationModels]=\"[operation]\" [validationShallow]=\"true\" [validationProperties]=\"[ 'operationId', 'summary', 'description' ]\">\n    <span actions></span>\n    <div body>\n        <div class=\"half-section\">\n            <!-- Summary -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                <span>Summary</span>\n            </div>\n            <div class=\"section-field summary\">\n                <pf-inline-text-editor [value]=\"operation.summary\" [noValueMessage]=\"'No Summary'\"\n                                       [labelClass]=\"'api-item-title'\"\n                                       [inputClass]=\"'api-item-editor api-summary-editor api-item-title'\"\n                                       [baseNode]=\"operation\" nodePath=\"summary\"\n                                       (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n            </div>\n        </div>\n\n        <div class=\"half-section right\">\n            <!-- Operation ID -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'operationId'\"></validation-problem>\n                <span>Operation ID</span>\n            </div>\n            <div class=\"section-field operationId\">\n                <pf-inline-text-editor [value]=\"operation.operationId\" [noValueMessage]=\"'No Operation ID'\"\n                                       [labelClass]=\"'api-item-operation-id'\"\n                                       [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                       [baseNode]=\"operation\" nodePath=\"operationId\"\n                                       (onChange)=\"changeOperationId($event)\"></pf-inline-text-editor>\n            </div>\n        </div>\n\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"operation.description\" [noValueMessage]=\"'No description.'\"\n                                    [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                    [inputClass]=\"'api-item-description'\"\n                                    [formClass]=\"'api-description-editor-form'\"\n                                    [baseNode]=\"operation\" nodePath=\"description\"\n                                    (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n        </div>\n\n        <!-- Tags -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"operation\" [shallow]=\"true\" [property]=\"'tags'\"></validation-problem>\n            <span>Tags</span>\n        </div>\n        <div class=\"section-field tags\">\n            <inline-array-editor noValueMessage=\"No tags configured.\" [value]=\"operation.tags\" [items]=\"tagDefs()\"\n                                 [baseNode]=\"operation\" nodepath=\"tags\"\n                                 (onChange)=\"changeTags($event)\"></inline-array-editor>\n        </div>\n    </div>\n</section>\n","styles":[".inherited-labels .inherited-label{margin-right:5px;margin-bottom:3px;padding:5px 5px 5px 8px;display:inline-block}.inherited-labels .inherited-label:hover{filter:brightness(110%)}.inherited-labels,.overridden-labels{padding-left:28px;position:relative}.inherited-labels .icon-inherit,.overridden-labels .icon-local,.overridden-labels .icon-override{position:absolute;top:7px;left:1px;font-size:16px;color:#666;cursor:help}.inherited-labels-inner{display:inline-block;padding-top:3px}.inherited-labels button{display:inline-block;margin-top:-2px}"]}]}],"members":{"operation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":57,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnChanges":[{"__symbolic":"method"}],"operationInfoPaths":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeOperationId":[{"__symbolic":"method"}],"changeTags":[{"__symbolic":"method"}],"tagDefs":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"selector":"message-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":49,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":50,"character":21},"member":"OnPush"},"template":"<section type=\"message\" label=\"MESSAGE\"\n         contextHelp=\"Use this section to configure the operation's Message.\"\n         [collaborationNodePath]=\"messagePath()\"\n         [validationModels]=\"[messageFromOperation()]\" [validationProperties]=\"[ 'name', 'title', 'summary', 'description' ]\">\n    <span actions>\n        <icon-button (onClick)=\"addOneOfDialog.open(getMessagesFromDocument(),referenceAlreadyAdd())\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a refrence into the message.'\"></icon-button>\n    </span>\n    <div body>\n        <!--<signpost *ngIf=\"!hasMessage()\">\n            <span>No message has been defined.</span>\n            <a (click)=\"addMessage()\">Add a message</a>\n        </signpost>-->\n\n        <div *ngIf=\"isMultiMessages()\">\n            <!-- One Of -->\n            <!-- Inheritance -->\n            <div class=\"section-field-label\">\n                <span>Inheritance Type OneOf</span>\n            </div><br>\n            <oneof-row *ngFor=\"let sel of this.messageFromOperation().oneOf; let idx = index\" [item]=\"sel\" [oneOfName]=\"oneOfName(sel)\"\n                          (onDelete)=\"deleteMessageInOneOf(this.messageFromOperation(),idx)\"></oneof-row>\n        </div>\n\n        <div class=\"half-section\" *ngIf=\"hasMessage() && !isMultiMessages()\">\n            <!-- Name -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'name'\"></validation-problem>\n                <span>Name</span>\n            </div>\n            <div class=\"section-field name\">\n                <pf-inline-text-editor [value]=\"messageFromOperation().name\" [noValueMessage]=\"'No name.'\"\n                                        [labelClass]=\"'api-version'\"\n                                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"name\"\n                                        (onChange)=\"changeName($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Title -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'title'\"></validation-problem>\n                <span>Title</span>\n            </div>\n            <div class=\"section-field title\">\n                <pf-inline-text-editor [value]=\"messageFromOperation().title\" [noValueMessage]=\"'No title.'\"\n                                        [labelClass]=\"'api-version'\"\n                                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"title\"\n                                        (onChange)=\"changeTitle($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Summary -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                <span>Summary</span>\n            </div>\n            <div class=\"section-field summary\">\n                <pf-inline-text-editor [value]=\"messageFromOperation().summary\" [noValueMessage]=\"'No summary.'\"\n                                        [labelClass]=\"'api-version'\"\n                                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"summary\"\n                                        (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Description -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n                <span>Description</span>\n            </div>\n            <div class=\"section-field description\">\n                <inline-markdown-editor [value]=\"messageFromOperation().description\" [noValueMessage]=\"'No description.'\"\n                                        [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                        [inputClass]=\"'api-item-description'\"\n                                        [formClass]=\"'api-description-editor-form'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"description\"\n                                        (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n            </div>\n        </div>\n\n        <div class=\"half-section right\" *ngIf=\"hasMessage() && !isMultiMessages()\">\n            <!-- Correlation ID -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'name'\"></validation-problem>\n                <span>Correlation ID</span>\n            </div>\n            <div class=\"section-field name\">\n                <pf-inline-text-editor [value]=\"messageFromOperation().name\" [noValueMessage]=\"'No name.'\"\n                                        [labelClass]=\"'api-version'\"\n                                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"name\"\n                                        (onChange)=\"changeName($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Content Type -->\n            <div class=\"section-field-label\" *ngIf=\"hasMessage() && !isMultiMessages()\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'contentType'\"></validation-problem>\n                <span>Content Type</span>\n            </div>\n            <div class=\"section-field contentType\">\n                <pf-inline-text-editor [value]=\"messageFromOperation().contentType\" [noValueMessage]=\"'No content type. Default will apply.'\"\n                                        [labelClass]=\"'api-version'\"\n                                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                        [baseNode]=\"messageFromOperation()\" nodePath=\"contentType\"\n                                        (onChange)=\"changeContentType($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Schema Format -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'schemaFormat'\"></validation-problem>\n                <span>Schema Format</span>\n            </div>\n            <div class=\"section-field schemaFormat\">\n                <drop-down [value]=\"messageFromOperation().schemaFormat\"\n                                        [options]=\"schemaFormatOptions()\"\n                                        (onValueChange)=\"changeSchemaFormat($event)\"\n                                        noSelectionLabel=\"No Schema Format\"></drop-down>\n            </div>\n        </div>\n\n        <div class=\"section-field-label\" *ngIf=\"hasMessage() && !isMultiMessages()\">\n            <validation-problem [model]=\"messageFromOperation()\" [shallow]=\"true\" [property]=\"'payload'\"></validation-problem>\n            <span>Content</span>\n        </div>\n        <div class=\"parts-tabs\" *ngIf=\"hasMessage() && !isMultiMessages()\">\n            <div class=\"tab\" [class.active]=\"isPartActive('payload')\">\n                <a (click)=\"setActivePart('payload')\">\n                    <span>Payload</span>\n                </a>\n            </div>\n            <div class=\"tab\" [class.active]=\"isPartActive('headers')\">\n                <a (click)=\"setActivePart('headers')\">\n                    <span>Headers</span>\n                </a>\n            </div>\n        </div>\n        <div class=\"parts-tab-content\" *ngIf=\"hasMessage() && !isMultiMessages() \">\n            <payload-tab [message]=\"messageFromOperation()\" *ngIf=\"isPartActive('payload')\"></payload-tab>\n            <headers-tab [message]=\"messageFromOperation()\" *ngIf=\"isPartActive('headers')\"></headers-tab>\n        </div>\n    </div>\n\n</section>\n<add-oneof-in-message-dialog #addOneOfDialog (onAdd)=\"addOneOf($event)\" ></add-oneof-in-message-dialog>\n\n","styles":[".message-section .section-body .parts-tabs{display:flex;width:100%;margin-top:5px}.message-section .section-body .parts-tabs .tab{position:relative;padding:5px 10px;background-color:#efefef;border:1px solid transparent;margin-right:5px}.message-section .section-body .parts-tabs .tab:hover{background-color:#e4e4e4}.message-section .section-body .parts-tabs .tab.active{border-color:#ddd;border-bottom:1px solid transparent;background-color:#fff;margin-bottom:-1px}.message-section .section-body .parts-tabs .tab:first-child{border-left:1px solid transparent}.message-section .section-body .parts-tabs .tab:first-child.active{border-left:1px solid #ddd}.message-section .section-body .parts-tabs .tab>a{cursor:pointer;text-decoration:none;color:#666}.message-section .section-body .parts-tabs .tab.active>a{cursor:default}.message-section .section-body .parts-tabs .tab.statusCode.success>a{color:green}.message-section .section-body .parts-tabs .tab.statusCode.redirect>a{color:#00f}.message-section .section-body .parts-tabs .tab.statusCode.problem>a{color:orange}.message-section .section-body .parts-tabs .tab.statusCode.error>a{color:red}.message-section .section-body .parts-tabs .tab .validation-aggregate{position:absolute;right:-3px;top:-7px}.message-section .section-body .parts-tabs .actions{flex-grow:1;text-align:right;padding-right:10px;margin-top:5px}.message-section .section-body .parts-tab-content{border:1px solid #ddd;background-color:#fff;padding:10px}"]}]}],"members":{"operation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":67,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵg"}]}],"ngOnInit":[{"__symbolic":"method"}],"messagePath":[{"__symbolic":"method"}],"selectMain":[{"__symbolic":"method"}],"deselectMessage":[{"__symbolic":"method"}],"addOneOf":[{"__symbolic":"method"}],"deleteMessageInOneOf":[{"__symbolic":"method"}],"isMultiMessages":[{"__symbolic":"method"}],"messageFromOperation":[{"__symbolic":"method"}],"getMessagesFromDocument":[{"__symbolic":"method"}],"referenceAlreadyAdd":[{"__symbolic":"method"}],"hasMessage":[{"__symbolic":"method"}],"schemaFormatOptions":[{"__symbolic":"method"}],"isPartActive":[{"__symbolic":"method"}],"setActivePart":[{"__symbolic":"method"}],"oneOfName":[{"__symbolic":"method"}],"deref":[{"__symbolic":"method"}],"changeName":[{"__symbolic":"method"}],"changeTitle":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeContentType":[{"__symbolic":"method"}],"changeSchemaFormat":[{"__symbolic":"method"}],"inheritanceType":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"payload-tab","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":39,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":21},"member":"OnPush"},"template":"<div class=\"payload\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"reference\">\n            <span>Reference</span>\n        </div>\n        <div class=\"problem-flex type\" (click)=\"toggleType()\" [class.selected]=\"isEditingType()\">\n            <!-- <validation-problem [model]=\"message.payload\" property=\"$ref\"></validation-problem> --> \n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingType()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!messageHasExamples()\">{{ displayExamples() }}</span>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"mt-content\" *ngIf=\"isEditingType()\">\n                        <div class=\"mt-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"false\"\n                                                [dataTypesOnly]=\"true\"\n                                                (onChange)=\"changeRefType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"mt-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!messageHasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"messageHasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Payload</th>\n                                    <th class=\"pre-actions\">Headers</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of messageExamples()\">\n                                    <td class=\"name\">\n                                        <span>{{ exampleName(example) }}</span>\n                                    </td>\n                                    <td class=\"payloadValue pre-actions\">\n                                        <span>{{ examplePayloadValue(example) }}</span>\n                                    </td>\n                                    <td class=\"payloadHeaders pre-actions\">\n                                        <span>{{ exampleHeadersValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                         [title]=\"'Delete example.'\"></icon-button>\n                                            <!-- <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                         [title]=\"'Edit example.'\"></icon-button> -->\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                            <a (click)=\"deleteAllExamples()\" class=\"pull-right\">Delete all examples</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n<add-aai-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\"\n    [payloadSchema]=\"schemaForExamplePayload()\" [headersSchema]=\"schemaForExampleHeaders()\"></add-aai-example-dialog>\n<edit-aai-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\"\n    [payloadSchema]=\"schemaForExamplePayload()\" [headersSchema]=\"schemaForExampleHeaders()\"></edit-aai-example-dialog>","styles":[".payload.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.payload .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.payload .header:hover{background-color:#edf8ff}.payload.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.payload .header .reference{flex-basis:22%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.payload .header .reference>span{font-weight:600;color:#333}.payload .header .reference>span.fa{font-weight:400;margin-right:3px}.payload .header .reference .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.payload .header .type{flex-basis:38%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.payload .header .type:hover{color:#0088ce;cursor:pointer}.payload .header .examples{flex-basis:38%}.payload .header .examples:hover{color:#0088ce;cursor:pointer}.payload .header .actions{flex-basis:2%;text-align:center}.payload .header .actions .btn-override{position:absolute;right:5px;top:6px}.payload .header .actions>div .fa-ellipsis-v{visibility:hidden}.payload:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.payload .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.payload .body{position:relative;padding:15px}.payload .body .close{position:absolute;right:10px;top:5px}.payload .body .mt-examples .form-label{font-weight:600;margin-top:0;margin-bottom:5px}.payload .problem-flex{display:flex}.payload .problem-flex .grow{flex-grow:1}.payload .problem-flex>:first-child{margin-right:7px;margin-top:2px}.payload div.form-label{margin-top:15px;font-weight:600}.payload .payload-reference div.form-label{margin-top:2px}.payload .mt-examples table{margin-bottom:3px}.payload .mt-examples table td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payload .mt-examples table td.name{width:30%}.payload .mt-examples table td.value{width:60%}.payload .mt-examples table td.actions{width:10%}.payload .mt-examples a{cursor:pointer}.payload .examples>.fa,.payload .type>.fa{margin-right:2px}"]}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":50,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"model":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}],"isEditing":[{"__symbolic":"method"}],"isEditingTab":[{"__symbolic":"method"}],"toggleType":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"isEditingType":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"messageHasExamples":[{"__symbolic":"method"}],"messageExamples":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"changeRefType":[{"__symbolic":"method"}],"schemaForExamplePayload":[{"__symbolic":"method"}],"schemaForExampleHeaders":[{"__symbolic":"method"}],"exampleName":[{"__symbolic":"method"}],"examplePayloadValue":[{"__symbolic":"method"}],"exampleHeadersValue":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"headers-tab","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":41,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":21},"member":"OnPush"},"template":"<div class=\"headers\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"reference\">\n            <span>Reference</span>\n        </div>\n        <div class=\"problem-flex type\" (click)=\"toggleType()\" [class.selected]=\"isEditingType()\">\n            <!-- <validation-problem [model]=\"message.headers\" property=\"$ref\"></validation-problem> --> \n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingType()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"mt-content\" *ngIf=\"isEditingType()\">\n                        <div class=\"mt-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"false\"\n                                                [dataTypesOnly]=\"true\"\n                                                (onChange)=\"changeRefType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n\n    <!--\n    <div class=\"headers-reference\">\n        <div class=\"form-label\">Reference</div>\n        <div class=\"problem-flex\">\n            <pf-inline-text-editor [value]=\"messageHeadersRef()\" [noValueMessage]=\"'No reference.'\"\n                        [labelClass]=\"'api-version'\"\n                        [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                        [baseNode]=\"message\" nodePath=\"headers.$ref\"\n                        (onChange)=\"changeReference($event)\"></pf-inline-text-editor>\n        </div>\n    </div>\n    -->\n</div>","styles":[".headers.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.headers .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.headers .header:hover{background-color:#edf8ff}.headers.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.headers .header .reference{flex-basis:22%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.headers .header .reference>span{font-weight:600;color:#333}.headers .header .reference>span.fa{font-weight:400;margin-right:3px}.headers .header .reference .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.headers .header .type{flex-basis:38%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.headers .header .type:hover{color:#0088ce;cursor:pointer}.headers .body{position:relative;padding:15px}.headers .body .close{position:absolute;right:10px;top:5px}.headers .problem-flex{display:flex}.headers .problem-flex .grow{flex-grow:1}.headers .problem-flex>:first-child{margin-right:7px;margin-top:2px}.headers div.form-label{margin-top:15px;font-weight:600}.headers .headers-reference div.form-label{margin-top:2px}"]}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":52,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"model":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}],"isEditing":[{"__symbolic":"method"}],"isEditingTab":[{"__symbolic":"method"}],"toggleType":[{"__symbolic":"method"}],"isEditingType":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"changeRefType":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"set-license-dialog","template":"<!-- Choose License Dialog -->\n<div bsModal #setLicenseModal=\"bs-modal\" class=\"set-license-modal modal fade\" id=\"setLicenseModal\" tabindex=\"-1\" role=\"dialog\"\n     aria-labelledby=\"setLicenseModalLabel\" role=\"dialog\" aria-hidden=\"true\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"setLicenseModalLabel\">Choose a License</h4>\n            </div>\n            <div class=\"modal-body\" #dialogBody>\n\n                <div *ngFor=\"let license of licenses()\" class=\"container-fluid license\">\n                    <div class=\"row\">\n                        <div class=\"col-md-6\">\n                            <h2><a href=\"{{ license.url }}\" target=\"_blank\">{{ license.name }}</a><span class=\"fa fa-fw fa-external-link\"></span></h2>\n                            <p>{{ license.description }}</p>\n                            <button class=\"btn btn-xs btn-primary\" (click)=\"chooseLicense(license)\">Use This License</button>\n                            <a class=\"pull-right\" href=\"{{ license.moreInfoUrl }}\" target=\"_blank\">View full {{ license.fullName }} »</a>\n                        </div>\n                        <div class=\"col-md-2\">\n                            <h3>Permissions</h3>\n                            <ul class=\"permissions\">\n                                <li *ngFor=\"let permission of license.permissions\"><span title=\"{{ licenseService.permissionDescription(permission) }}\">{{ licenseService.permissionName(permission) }}</span></li>\n                            </ul>\n                        </div>\n                        <div class=\"col-md-2\">\n                            <h3>Conditions</h3>\n                            <ul class=\"conditions\">\n                                <li *ngFor=\"let condition of license.conditions\"><span title=\"{{ licenseService.conditionDescription(condition) }}\">{{ licenseService.conditionName(condition) }}</span></li>\n                            </ul>\n                        </div>\n                        <div class=\"col-md-2\">\n                            <h3>Limitations</h3>\n                            <ul class=\"limitations\">\n                                <li *ngFor=\"let limitation of license.limitations\"><span title=\"{{ licenseService.limitationDescription(limitation) }}\">{{ licenseService.limitationName(limitation) }}</span></li>\n                            </ul>\n                        </div>\n                    </div>\n                    <hr />\n                </div>\n\n            </div>\n            <div class=\"modal-footer\">\n                <span class=\"pull-left\">License information provided by <a href=\"https://choosealicense.com/\" target=\"_blank\">Choose a License &copy; </a> under the <a href=\"https://creativecommons.org/licenses/by/3.0/\" target=\"_blank\">Create Commons License</a>.</span>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onLicenseChosen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"setLicenseModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":31,"character":5},"arguments":["setLicenseModal"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵd"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"licenses":[{"__symbolic":"method"}],"chooseLicense":[{"__symbolic":"method"}]}},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":263,"character":1}}],"members":{"getLicenses":[{"__symbolic":"method"}],"permissionName":[{"__symbolic":"method"}],"permissionDescription":[{"__symbolic":"method"}],"conditionName":[{"__symbolic":"method"}],"conditionDescription":[{"__symbolic":"method"}],"limitationName":[{"__symbolic":"method"}],"limitationDescription":[{"__symbolic":"method"}],"findLicense":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"clone-path-dialog","template":"<!-- Clone Path Dialog -->\n<div bsModal #clonePathModal=\"bs-modal\" class=\"modal fade\" id=\"clonePathModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"clonePathModalLabel\"\n     role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"clonePathModalLabel\">Clone Path</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter a new resource path below and then click Clone.</p>\n                <form id=\"clonepath-form\" class=\"form-horizontal\" (submit)=\"clone()\" #clonePathForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"path\">Path</label>\n                        <div class=\"col-sm-10\">\n                            <input #pname=\"ngModel\" name=\"path\" type=\"text\" id=\"path\" class=\"form-control\" placeholder=\"Enter a Path\"\n                                   pattern=\"(\\/[^{}\\/]*(\\{[a-zA-Z_][0-9a-zA-Z_]*\\})?)+\" required [(ngModel)]=\"path\"\n                                   (ngModelChange)=\"validatePath($event)\">\n                            <div class=\"form-error-message error\" *ngIf=\"pathExists\">Path already exists.</div>\n                            <form-error-message [inputModel]=\"pname\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid path.</form-error-message>\n                            <form-error-message [inputModel]=\"pname\" [type]=\"'required'\">Path is required.</form-error-message>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"clone()\" [disabled]=\"!clonePathForm.form.valid || pathExists\">Clone</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onClone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":5}}]}],"clonePathModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":30,"character":5},"arguments":["clonePathModal"]}]}],"clonePathInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":31,"character":5},"arguments":["clonePathInput"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}],"validatePath":[{"__symbolic":"method"}]}},"ɵbg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"clone-definition-dialog","template":"<!-- Clone Data Type Dialog -->\n<div>\n    <div bsModal #cloneDefinitionModal=\"bs-modal\" class=\"modal fade\" id=\"cloneDefinitionModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"cloneDefinitionModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"cloneDefinitionInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"cloneDefinitionModalLabel\">Clone Data Type</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter a new data type name below and then click Clone.</p>\n                    <form id=\"clonedef-form\" class=\"form-horizontal\" #cloneDefinitionForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"definitionName\">Name</label>\n                            <div class=\"col-sm-10\">\n                                <input name=\"definitionName\" type=\"text\" id=\"definitionName\" class=\"form-control\" #cloneDefinitionInput\n                                       placeholder=\"Enter a Data Type Name\" pattern=\"[a-zA-Z0-9\\.\\-_]+\" #defName=\"ngModel\"\n                                       required [(ngModel)]=\"name\" (ngModelChange)=\"defExists = defs.indexOf($event) != -1\">\n                                <div class=\"form-error-message error\" *ngIf=\"defExists\">Data type already exists.</div>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'required'\">Name is required.</form-error-message>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                            </div>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"clone()\"\n                            [disabled]=\"!cloneDefinitionForm.form.valid || defExists\">Clone</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onClone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":5}}]}],"cloneDefinitionModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":40,"character":5},"arguments":["cloneDefinitionModal"]}]}],"open":[{"__symbolic":"method"}],"getDefinitions":[{"__symbolic":"method"}],"getAaiDefinitions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}]}},"ɵbh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"scopes-input","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"template":"<div class=\"scopes\">\n    <div class=\"scope\" *ngFor=\"let scope of scopes\">\n        <div class=\"scope-left\">\n            <div class=\"scope-name\">\n                <pf-inline-text-editor [noValueMessage]=\"'No Name'\"\n                                       (onChange)=\"scope.name = $event\"\n                                       [value]=\"scope.name\"></pf-inline-text-editor>\n            </div>\n            <div class=\"scope-description\">\n                <pf-inline-text-editor [noValueMessage]=\"'No description.'\"\n                                       (onChange)=\"scope.description = $event\"\n                                       [value]=\"scope.description\"></pf-inline-text-editor>\n            </div>\n        </div>\n        <div class=\"scope-right\">\n            <button class=\"btn icon-button\" (click)=\"deleteScope(scope)\"\n                    type=\"button\" title=\"Delete scope.\"><span class=\"pficon pficon-delete\"></span></button>\n        </div>\n    </div>\n    <button type=\"button\" class=\"btn btn-default btn-sm\" (click)=\"addScope()\">Add Scope</button>\n</div>\n","styles":[".scopes .scope{display:flex;width:100%;border-bottom:1px solid #ccc;padding-left:10px;padding-right:10px;padding-bottom:5px;margin-bottom:5px}.scopes .scope:hover{background-color:#eef}.scopes .scope .scope-left{flex-grow:1}.scopes .scope .scope-name{font-weight:600}.scopes .scope .icon-button{border:0;background-color:transparent;box-shadow:none;font-size:14px}"]}]}],"members":{"scopes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":37,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"addScope":[{"__symbolic":"method"}],"deleteScope":[{"__symbolic":"method"}],"hasScope":[{"__symbolic":"method"}]}},"ɵbi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"add-tag-dialog","template":"<!-- Add Tag Dialog -->\n<div bsModal #addTagModal=\"bs-modal\" class=\"modal fade\" id=\"addTagModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"addTagModalLabel\"\n     role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addTagModalLabel\">Add Tag</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter information about the new tag below and then click <strong>Add</strong>.</p>\n                <form id=\"addtag-form\" class=\"form-horizontal\" (submit)=\"add()\" #addTagForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"tag\">Tag</label>\n                        <div class=\"col-sm-10\">\n                            <input #addTagInput name=\"tag\" type=\"text\" id=\"tag\" class=\"form-control\" placeholder=\"Tag Name\"\n                                   required [(ngModel)]=\"tag\" (ngModelChange)=\"tagExists = tags.indexOf($event) != -1\" #name=\"ngModel\">\n                            <div class=\"form-error-message error\" *ngIf=\"tagExists\">Tag already exists.</div>\n                            <form-error-message [inputModel]=\"name\" [type]=\"'required'\">Name is required.</form-error-message>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\" for=\"description\">Description</label>\n                        <div class=\"col-sm-10\">\n                            <textarea name=\"description\" id=\"description\" class=\"form-control\" autosize\n                                      placeholder=\"Tag description\" [(ngModel)]=\"description\"></textarea>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addTagForm.form.valid || tagExists\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":["#addTagModal .modal-dialog .modal-body form textarea{min-height:60px}"]}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"addTagModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":31,"character":5},"arguments":["addTagModal"]}]}],"addTagInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["addTagInput"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}]}},"ɵbj":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"undo-icon","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":35,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"template":"<div class=\"undo-icon\">\n    <button class=\"btn btn-link nav-item-iconic\" [class.enabled]=\"isUndoable()\"\n            title=\"Click to undo the last change.\" (click)=\"onClick.emit(true)\">\n        <span class=\"fa fa-share fa-flip-horizontal\"></span>\n    </button>\n</div>","styles":[".undo-icon{margin:2px;height:38px;line-height:32px}.undo-icon button{color:#c6c6c6;font-size:19px;margin:0;height:38px;padding-left:10px;padding-right:10px;cursor:default}.undo-icon button:focus,.undo-icon button:hover{color:#c6c6c6}.undo-icon button.enabled{color:#666;cursor:pointer}.undo-icon button.enabled:hover{background-color:#d1eaf7}.undo-icon button.enabled:active{background-color:#a5d6ef}"]}]}],"members":{"commandStackCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"onClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":43,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"isUndoable":[{"__symbolic":"method"}]}},"ɵbk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":53,"character":1},"arguments":[{"selector":"schema-type-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":57,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":58,"character":21},"member":"OnPush"},"template":"<div class=\"schema-type-type\">\n    <span class=\"strong dropdown-label\">{{ typeLabel }}:</span>\n    <validation-problem *ngIf=\"hasValidationModel()\" [model]=\"validationModel\" [property]=\"validationProperty\"></validation-problem>\n    <drop-down [id]=\"'api-property-type'\"\n               [value]=\"type()\"\n               [options]=\"typeOptions()\"\n               (onValueChange)=\"changeType($event)\"\n               [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n    <span class=\"dropdowns-label\" *ngIf=\"isArray()\">of</span>\n    <drop-down *ngIf=\"isArray()\"\n               [id]=\"'api-property-type-of'\"\n               [value]=\"typeOf()\"\n               [options]=\"typeOfOptions()\"\n               (onValueChange)=\"changeTypeOf($event)\"\n               [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n    <span class=\"dropdowns-label\" *ngIf=\"shouldShowFormattedAs()\">as</span>\n    <drop-down *ngIf=\"shouldShowFormattedAs()\"\n               [id]=\"'api-property-type-as'\"\n               [value]=\"typeAs()\"\n               [options]=\"typeAsOptions()\"\n               (onValueChange)=\"changeTypeAs($event)\"\n               [noSelectionLabel]=\"'Format'\"></drop-down>\n</div>\n<div class=\"schema-type-enum\" *ngIf=\"shouldShowEnumEditor()\">\n    <span class=\"enum-label\">Enum Values:</span>\n    <inline-array-editor [value]=\"value.enum_\" (onChange)=\"changeTypeEnum($event)\"\n                         noValueMessage=\"Click to define enum values.\"></inline-array-editor>\n</div>\n","styles":[".schema-type-type .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.schema-type-enum{margin-top:5px}.schema-type-enum .enum-label{display:block;font-weight:600}.schema-type-enum .inline-array-editor>.form-control-pf-edit>.form-control-pf-textbox>input{width:100%;min-width:auto}"]}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"typeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"validationModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"validationProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}}]}],"isParameter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":5}}]}],"dataTypesOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":85,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"hasValidationModel":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"typeOptions":[{"__symbolic":"method"}],"typeOf":[{"__symbolic":"method"}],"typeOfOptions":[{"__symbolic":"method"}],"getSchemaDefinitionsOptions":[{"__symbolic":"method"}],"typeAs":[{"__symbolic":"method"}],"typeAsOptions":[{"__symbolic":"method"}],"shouldShowFormattedAs":[{"__symbolic":"method"}],"shouldShowEnumEditor":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"changeTypeEnum":[{"__symbolic":"method"}],"changeTypeOf":[{"__symbolic":"method"}],"changeTypeAs":[{"__symbolic":"method"}],"isArray":[{"__symbolic":"method"}]}},"ɵbl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"no-operation","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":24,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":25,"character":21},"member":"OnPush"},"template":"<div class=\"blank-slate-pf\" id=\"no-operation\">\n    <div class=\"blank-slate-pf-icon\">\n        <span class=\"pficon pficon pficon-add-circle-o\"></span>\n    </div>\n    <h1>Operation Not Defined</h1>\n    <p>\n        This operation is not yet defined.  If you want this path/endpoint to support the operation, get\n        started by clicking the <strong>Add Operation</strong> button below.\n    </p>\n    <div class=\"blank-slate-pf-main-action\">\n        <button class=\"btn btn-primary btn-lg\" (click)=\"add.emit()\">Add Operation</button>\n    </div>\n</div>","styles":["#no-operation{margin-top:10px}"]}]}],"members":{"method":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"add":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}]}},"ɵbm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"content","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":58,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":59,"character":21},"member":"OnPush"},"template":"<div class=\"content\" *ngIf=\"hasMediaTypes()\">\n    <div class=\"container-fluid media-types typed-item-list\">\n        <media-type-row *ngFor=\"let mtName of mediaTypeNames()\" [item]=\"mediaTypeByName(mtName)\"></media-type-row>\n    </div>\n    <div class=\"actions\">\n        <a (click)=\"addMediaTypeDialog.open(mediaTypeNames())\">Add a media type</a>\n    </div>\n</div>\n\n<div class=\"content\" *ngIf=\"!hasMediaTypes()\">\n    <signpost>\n        <span>No media types have been defined.</span>\n        <a (click)=\"addMediaTypeDialog.open(mediaTypeNames())\">Add a media type</a>\n    </signpost>\n</div>\n\n<add-media-type-dialog #addMediaTypeDialog (onAdd)=\"addMediaType($event)\"></add-media-type-dialog>\n","styles":["div.content>div.actions{padding-left:10px}div.content>div.actions>a{cursor:pointer}"]}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"}]}],"hasMediaTypes":[{"__symbolic":"method"}],"mediaTypeNames":[{"__symbolic":"method"}],"mediaTypeByName":[{"__symbolic":"method"}],"addMediaType":[{"__symbolic":"method"}]}},"ɵbn":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":52,"character":1},"arguments":[{"selector":"httpHeaders","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":56,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":57,"character":21},"member":"OnPush"},"template":"<div class=\"httpHeaders\" *ngIf=\"hasHttpHeaders()\">\n    <div class=\"container-fluid media-types typed-item-list\">\n        <header-row *ngFor=\"let header of httpHeaders()\" [item]=\"httpHeaderByName(header)\"></header-row>\n    </div>\n    <div class=\"actions\">\n        <a (click)=\"addHttpHeaderDialog.open(httpHeaderNames())\">Add a http header</a>\n    </div>\n</div>\n\n<div class=\"httpHeaders\" *ngIf=\"!hasHttpHeaders()\">\n    <signpost>\n        <span>No http headers have been defined.</span>\n        <a (click)=\"addHttpHeaderDialog.open(httpHeaderNames())\">Add a http header</a>\n    </signpost>\n</div>\n\n<add-header-dialog #addHttpHeaderDialog (onAdd)=\"addHttpHeader($event)\"></add-header-dialog>\n","styles":["div.httpHeaders>div.actions{padding-left:10px}div.httpHeaders>div.actions>a{cursor:pointer}"]}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":63,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"}]}],"hasHttpHeaders":[{"__symbolic":"method"}],"httpHeaderNames":[{"__symbolic":"method"}],"httpHeaders":[{"__symbolic":"method"}],"httpHeaderByName":[{"__symbolic":"method"}],"addHttpHeader":[{"__symbolic":"method"}]}},"ɵbo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"selector":"property-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":46,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":47,"character":21},"member":"OnPush"},"template":"<div class=\"property\" [class.expanded]=\"isEditing()\" [class.required]=\"isRequired()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span title=\"{{ item.getPropertyName() }}\">{{ item.getPropertyName() }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <span class=\"property-required\" *ngIf=\"isRequired()\" title=\"This property is required.\">[required]</span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"example\" (click)=\"toggleExample()\" [class.selected]=\"isEditingExample()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExample()\"></span>\n            <markdown-summary [data]=\"example()\" emptyText=\"No example.\"></markdown-summary>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"property-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"property-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"property-required\">\n                            <span class=\"dropdown-label\">Property is</span>\n                            <drop-down id=\"api-property-required\"\n                                       [value]=\"required()\"\n                                       [options]=\"requiredOptions()\"\n                                       (onValueChange)=\"changeRequired($event)\"\n                                       [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        </div>\n                        <div class=\"property-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n\n                        <div class=\"property-config-tabs\" *ngIf=\"hasType()\">\n                            <ul class=\"nav nav-tabs nav-tabs-pf\">\n                                <li [class.active]=\"_ptab == null\"><a (click)=\"_ptab = null\">Advanced</a></li>\n                                <li [class.active]=\"_ptab == 'minmax'\" *ngIf=\"isIntFloatEligible()\"><a (click)=\"_ptab = 'minmax'\">Minimum/Maximum</a></li>\n                                <li [class.active]=\"_ptab == 'length'\" *ngIf=\"isStringEligible()\"><a (click)=\"_ptab = 'length'\">Min/Max Length</a></li>\n                                <li [class.active]=\"_ptab == 'exclusive'\" *ngIf=\"isStringEligible()\"><a (click)=\"_ptab = 'exclusive'\">Min/Max Exclusive</a></li>\n                                <li [class.active]=\"_ptab == 'items'\" *ngIf=\"isArrayEligible()\"><a (click)=\"_ptab = 'items'\">Min/Max/Unique Items</a></li>\n                            </ul>\n                        </div>\n                        <div class=\"property-config-tabcontent\" *ngIf=\"hasType()\">\n                            <!-- Advanced tab content -->\n                            <div class=\"tabcontent-advanced\" *ngIf=\"_ptab == null\">\n                                <div class=\"property-readOnly\">\n                                    <checkbox-input [defaultValue]=\"readOnlyIsSet()\" [name]=\"'readOnly'\" label=\"Read Only\"\n                                                    id=\"read-only\" [baseNode]=\"item\" nodePath=\"readOnly\"\n                                                    (onChange)=\"setBoolean($event,'readOnly')\"></checkbox-input>\n                                </div>\n                                <div class=\"property-writeOnly\">\n                                    <checkbox-input [defaultValue]=\"writeOnlyIsSet()\" [name]=\"'writeOnly'\" label=\"Write Only\"\n                                                    id=\"write-only\" [baseNode]=\"item\" nodePath=\"writeOnly\"\n                                                    (onChange)=\"setBoolean($event,'writeOnly')\"></checkbox-input>\n                                </div>\n\n                                <div class=\"property-pattern\" *ngIf=\"isStringEligible()\">\n                                    <div class=\"property-label\">\n                                        <label for=\"pattern\">Pattern</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"item.pattern\"\n                                                               noValueMessage=\"No pattern.\"\n                                                               id=\"pattern\"\n                                                               [baseNode]=\"item\"\n                                                               nodePath=\"pattern\"\n                                                               (onChange)=\"setPattern($event)\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n                            </div>\n\n                            <!-- Min/max tab content -->\n                            <div class=\"tabcontent-minmax\" *ngIf=\"_ptab == 'minmax'\">\n                                <div class=\"property-minimum\">\n                                    <div class=\"property-label\">\n                                        <label for=\"minimum\">Minimum</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"minimumIsSet()\" noValueMessage=\"No minimum.\"\n                                                                [baseNode]=\"item\" nodePath=\"minimum\" id=\"minimum\"\n                                                                (onChange)=\"setNumValue($event,'minimum')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n\n                                <div class=\"property-maximum\">\n                                    <div class=\"property-label\">\n                                        <label for=\"maximum\">Maximum</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"maximumIsSet()\" noValueMessage=\"No maximum.\"\n                                                                [baseNode]=\"item\" nodePath=\"maximum\" id=\"maximum\"\n                                                                (onChange)=\"setNumValue($event,'maximum')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n\n                                <div class=\"property-multipleOf\">\n                                    <div class=\"property-label\">\n                                        <label for=\"multiple-of\">MultipleOf</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"multipleOfIsSet()\" noValueMessage=\"No multipleOf.\"\n                                                                [baseNode]=\"item\" nodePath=\"multipleOf\" id=\"multiple-of\"\n                                                                (onChange)=\"setNumValue($event,'multipleOf')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n                            </div>\n\n                            <!-- Min/Max Length tab content -->\n                            <div class=\"tabcontent-length\" *ngIf=\"_ptab == 'length'\">\n                                <div class=\"property-min-length\">\n                                    <div class=\"property-label\">\n                                        <label for=\"min-length\">Minimum Length</label>\n                                    </div>\n                                    <pf-inline-text-editor [value]=\"minLengthIsSet()\" noValueMessage=\"No minLength.\"\n                                                            [baseNode]=\"item\" nodePath=\"minLength\" id=\"min-length\"\n                                                            (onChange)=\"setNumValue($event,'minLength')\"></pf-inline-text-editor>\n                                </div>\n\n                                <div class=\"property-max-length\">\n                                    <div class=\"property-label\">\n                                        <label for=\"max-length\">Maximum Length</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"maxLengthIsSet()\" noValueMessage=\"No maxLength.\"\n                                                                [baseNode]=\"item\" nodePath=\"maxLength\" id=\"max-length\"\n                                                                (onChange)=\"setNumValue($event,'maxLength')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n                            </div>\n\n                            <!-- Exclusive min/max tab content -->\n                            <div class=\"tabcontent-exclusive\" *ngIf=\"_ptab == 'exclusive'\">\n                                <div class=\"property-exclusive-minimum\">\n                                    <checkbox-input [defaultValue]=\"exclusiveMinIsSet()\" name=\"exclusive-minimum\" label=\"Exclusive Min\"\n                                                    id=\"exclusive-minimum\" [baseNode]=\"item\" nodePath=\"exclusiveMinimum\"\n                                                    (onChange)=\"setBoolean($event,'exclusiveMinimum')\"></checkbox-input>\n                                </div>\n                                <div class=\"property-exclusive-maximum\">\n                                    <checkbox-input [defaultValue]=\"exclusiveMaxIsSet()\" name=\"exclusive-maximum\" label=\"Exclusive Max\"\n                                                    id=\"exclusive-maximum\" [baseNode]=\"item\" nodePath=\"exclusiveMaximum\"\n                                                    (onChange)=\"setBoolean($event,'exclusiveMaximum')\"></checkbox-input>\n                                </div>\n                            </div>\n\n                            <!-- Min/max Items tab content -->\n                            <div class=\"tabcontent-items\" *ngIf=\"_ptab == 'items'\">\n                                <div class=\"property-min-items\">\n                                    <div class=\"property-label\">\n                                        <label for=\"min-items\">Minimum Items</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"minItemsIsSet()\" noValueMessage=\"No minItems.\"\n                                                                [baseNode]=\"item\" nodePath=\"minItems\" id=\"min-items\"\n                                                                (onChange)=\"setNumValue($event,'minItems')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n\n                                <div class=\"property-max-items\">\n                                    <div class=\"property-label\">\n                                        <label for=\"max-items\">Maximum Items</label>\n                                    </div>\n                                    <div class=\"property-value\">\n                                        <pf-inline-text-editor [value]=\"maxItemsIsSet()\" noValueMessage=\"No maxItems.\"\n                                                                [baseNode]=\"item\" nodePath=\"maxItems\" id=\"max-items\"\n                                                                (onChange)=\"setNumValue($event,'maxItems')\"></pf-inline-text-editor>\n                                    </div>\n                                </div>\n\n                                <div class=\"property-unique-items\">\n                                    <checkbox-input [defaultValue]=\"uniqueItemsIsSet()\" name=\"unique-items\" label=\"Unique Items\"\n                                                    id=\"unique-items\" [baseNode]=\"item\" nodePath=\"uniqueItems\"\n                                                    (onChange)=\"setBoolean($event,'uniqueItems')\"></checkbox-input>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"property-example\" *ngIf=\"isEditingExample()\">\n                        <div class=\"form-label\">Example</div>\n                        <inline-markdown-editor [value]=\"item.example\" [noValueMessage]=\"'No example.'\"\n                                                [baseNode]=\"item\" nodePath=\"example\"\n                                                (onChange)=\"setExample($event)\"></inline-markdown-editor>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".property{border:1px solid transparent;position:relative}.property.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.property-config-tabcontent{margin-top:8px;padding-left:10px;padding-right:10px}.property .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.property .header:hover{background-color:#edf8ff}.property.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.property .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.property .header .name>span{font-weight:600}.property .header .description{flex-basis:39%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.property .header .description:hover{color:#0088ce;cursor:pointer}.property .header .example{flex-basis:39%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.property .header .example:hover{color:#0088ce;cursor:pointer}.property .header .summary{flex-basis:41%}.property .header .summary:hover{color:#0088ce;cursor:pointer}.property .header .summary .property-required{font-weight:600;margin-right:3px}.property .header .summary .property-required:hover{filter:brightness(120%)}.property .header .minmax{flex-basis:41%}.property .header .minmax:hover{color:#0088ce;cursor:pointer}.property .header .minmax .property-required{font-weight:600;margin-right:3px}.property .header .minmax .property-required:hover{filter:brightness(120%)}.property .header .actions{flex-basis:2%;text-align:center}.property .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.property .body{position:relative;padding:15px}.property .body .close{position:absolute;right:10px;top:5px}.property .body .property-description form{width:100%}.property .body .property-description .form-label{font-weight:600}.property .body .property-example form{width:100%}.property .body .property-example .form-label,.property .body span.strong{font-weight:600}.property .body .property-required{margin-bottom:20px}.property .body .property-type{margin-bottom:10px}.property .body .property-minmax{margin-bottom:10px;margin-top:20px}.property .body .toggle-buttons{margin:20px auto}.property .body .toggle-buttons button{margin-left:10px}.property .body .divider{height:1px;width:100%;display:block;margin:15px 0;overflow:hidden;background-color:#e5e5e5}.property .body .property-pattern{margin-bottom:10px}.property .body .property-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.property .header .description>.fa,.property .header .example>.fa,.property .header .summary>.fa{margin-right:2px}.property .summary .parameter-required{margin-right:3px}.property .header .minmax>.fa{margin-right:2px}.property .minmax .parameter-required{margin-right:3px}.property .body .exclusive-div,.property .body .nullable-div{margin-top:10px}.property-label>label{margin-bottom:0;margin-top:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":63,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"hasType":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"example":[{"__symbolic":"method"}],"minimum":[{"__symbolic":"method"}],"maximum":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"minimumIsSet":[{"__symbolic":"method"}],"maximumIsSet":[{"__symbolic":"method"}],"multipleOfIsSet":[{"__symbolic":"method"}],"minItemsIsSet":[{"__symbolic":"method"}],"maxItemsIsSet":[{"__symbolic":"method"}],"minLengthIsSet":[{"__symbolic":"method"}],"maxLengthIsSet":[{"__symbolic":"method"}],"exclusiveMinIsSet":[{"__symbolic":"method"}],"uniqueItemsIsSet":[{"__symbolic":"method"}],"readOnlyIsSet":[{"__symbolic":"method"}],"writeOnlyIsSet":[{"__symbolic":"method"}],"minPropertiesIsSet":[{"__symbolic":"method"}],"maxPropertiesIsSet":[{"__symbolic":"method"}],"exclusiveMaxIsSet":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"isEditingExample":[{"__symbolic":"method"}],"isIntFloatEligible":[{"__symbolic":"method"}],"isStringEligible":[{"__symbolic":"method"}],"isArrayEligible":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"toggleExample":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"setExample":[{"__symbolic":"method"}],"setNumValue":[{"__symbolic":"method"}],"setArrayValue":[{"__symbolic":"method"}],"setPattern":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"setBoolean":[{"__symbolic":"method"}]}},"ɵbp":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":24,"character":1}}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":45},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"model":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"isEditing":[{"__symbolic":"method"}],"isEditingTab":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}},"ɵbq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"selector":"oneof-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":48,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":49,"character":21},"member":"OnPush"},"template":"<div class=\"oneof\" [class.expanded]=\"isEditing()\" >\n    <div class=\"header\">\n        <div class=\"reference\">\n            <span>Reference</span>\n        </div>\n        <div class=\"name\">\n            <span>{{displayOneOf()}}</span>\n        </div>\n        <div class=\"oneof-value\" (click)=\"toggleDropDown()\" [class.selected]=\"isEditing()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"oneof-content\" *ngIf=\"isEditing()\">\n                        <div class=\"oneof-sel\">\n                            <span class=\"dropdown-label\">Message (OneOf type) is</span>\n                            <drop-down id=\"api-oneof-sel\"\n                                       [value]=\"oneOf(item)\"\n                                       [options]=\"oneOfOptions(item)\"\n                                       (onValueChange)=\"changeRef($event)\"\n                                       [noSelectionLabel]=\"oneOfName\"></drop-down>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".oneof{border:1px solid transparent;position:relative}.oneof.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.oneof-config-tabcontent{margin-top:8px;padding-left:10px;padding-right:10px}.oneof .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.oneof .header:hover{background-color:#edf8ff}.oneof.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.oneof .header .reference{flex-basis:20%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.oneof .header .reference>span{font-weight:600}.oneof .header .name{flex-basis:40%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.oneof .header .name>span{font-weight:600}.oneof .header .oneof-value{flex-basis:40%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.oneof .header .oneof-value:hover{color:#0088ce;cursor:pointer}.oneof .header .summary .oneof-sel{font-weight:600;margin-right:3px}.oneof .header .summary .oneof-sel:hover{filter:brightness(120%)}.oneof .header .actions{flex-basis:2%;text-align:center}.oneof .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.oneof .body{position:relative;padding:15px}.oneof .body .close{position:absolute;right:10px;top:5px}.oneof .body .oneof-description form{width:100%}.oneof .body .oneof-description .form-label,.oneof .body span.strong{font-weight:600}.oneof .body .oneof-sel{margin-bottom:20px}.oneof .body .oneof-type{margin-bottom:10px}.oneof .body .toggle-buttons{margin:20px auto}.oneof .body .toggle-buttons button{margin-left:10px}.oneof .body .divider{height:1px;width:100%;display:block;margin:15px 0;overflow:hidden;background-color:#e5e5e5}.oneof .body .oneof-sel .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.oneof-label>label{margin-bottom:0;margin-top:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5}}]}],"oneOfName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":63,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"isEditingOneOf":[{"__symbolic":"method"}],"isOneOf":[{"__symbolic":"method"}],"oneOf":[{"__symbolic":"method"}],"oneOfOptions":[{"__symbolic":"method"}],"toggleDropDown":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"deref":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"displayOneOf":[{"__symbolic":"method"}],"setNumValue":[{"__symbolic":"method"}],"changeRef":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}]}},"ɵbr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":49,"character":1},"arguments":[{"selector":"path-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":53,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":54,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div path-item class=\"detail-label\" [path]=\"path.getPath()\"></div>\n    <div class=\"detail-actions\">\n        <div class=\"dropdown\">\n            <button class=\"btn btn-link dropdown-toggle\" type=\"button\" id=\"dropdownKebab\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                <span class=\"fa fa-ellipsis-v\"></span>\n            </button>\n            <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownKebab\">\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"collapseAllSections()\">\n                        <span class=\"fa fa-compress\"></span>\n                        <span>Collapse All Sections</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"expandAllSections()\">\n                        <span class=\"fa fa-expand\"></span>\n                        <span>Expand All Sections</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"newPath()\">\n                        <span class=\"pficon pficon-add-circle-o\"></span>\n                        <span>New Sub-Path</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"javascript:return false\" (click)=\"rename()\">\n                        <span class=\"fa fa-pencil-square-o\"></span>\n                        <span>Rename Path</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"javascript:return false\" (click)=\"clone()\">\n                        <span class=\"fa fa-clone\"></span>\n                        <span>Clone Path</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"javascript:return false\" (click)=\"delete()\">\n                        <span class=\"pficon pficon-delete\"></span>\n                        <span>Delete Path</span>\n                    </a>\n                </li>\n            </ul>\n        </div>\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <div class=\"api-path-detail\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\" id=\"apipath-2-get\">\n                <!-- Info Section -->\n                <path-info-section [path]=\"path\" *ngIf=\"is3xDocument()\"></path-info-section>\n\n                <!-- Servers -->\n                <servers-section *ngIf=\"is3xDocument()\" [parent]=\"path\" [collapsed]=\"true\"\n                                 [description]=\"'Configure servers specific to this Path Item and all its Operations.  Once defined, servers indicate where to access the API (e.g. host and port).'\"></servers-section>\n\n                <!-- Path Parameters Section -->\n                <path-params-section [parent]=\"path\" [path]=\"path\"></path-params-section>\n\n                <!-- Query Parameters Section -->\n                <query-params-section [parent]=\"path\" [path]=\"path\"></query-params-section>\n\n                <!-- Header Parameters Section -->\n                <header-params-section [parent]=\"path\" [path]=\"path\"></header-params-section>\n\n                <!-- Cookie Parameters Section -->\n                <cookie-params-section [parent]=\"path\" [path]=\"path\" *ngIf=\"is3xDocument()\"></cookie-params-section>\n\n                <!-- Vendor Extensions -->\n                <extensions-section [parent]=\"path\"></extensions-section>\n\n                <!-- Operations Section -->\n                <operations-section [path]=\"path\"></operations-section>\n            </div>\n        </div>\n    </div>\n</div>\n\n<add-path-dialog #addPathDialog (onAdd)=\"addPath($event)\"></add-path-dialog>\n<clone-path-dialog #clonePathDialog (onClone)=\"clone($event)\"></clone-path-dialog>\n<rename-path-dialog #renamePathDialog (onRename)=\"rename($event)\"></rename-path-dialog>\n","styles":[".detail-content .api-path-detail{padding-bottom:40px}.operations-section .section-body .api-operation>.header{display:flex}.operations-section .section-body .api-operation>.header>.type{line-height:32px}.operations-section .section-body .api-operation>.header>.summary{padding-left:9px;padding-right:10px;flex-grow:1}.operations-section .section-body .api-operation>.header>.summary .pf-inline-text-editor{margin-top:3px}.operations-section .section-body .api-operation>.header>.delete>button{margin-top:4px}.operations-section .section-body .api-operation .md-description{margin-top:5px;margin-left:0;width:100%}.operations-section .section-body .api-operation .inline-markdown-editor{margin-top:5px}"]}]}],"members":{"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"clonePathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":69,"character":5},"arguments":["clonePathDialog",{"static":true}]}]}],"addPathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":70,"character":5},"arguments":["addPathDialog",{"static":true}]}]}],"renamePathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":71,"character":5},"arguments":["renamePathDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":73,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"is3xDocument":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"newPath":[{"__symbolic":"method"}],"addPath":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"hasParameters":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"changeParamDescription":[{"__symbolic":"method"}],"changeParamType":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}]}},"ɵbs":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":33,"character":1}}],"members":{"sourceJs":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":104,"character":55},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"}]}],"onDocumentChange":[{"__symbolic":"method"}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"canFormatSource":[{"__symbolic":"method"}],"canToggleSourceFormat":[{"__symbolic":"method"}],"canRevertSource":[{"__symbolic":"method"}],"canSaveSource":[{"__symbolic":"method"}],"revertSource":[{"__symbolic":"method"}],"saveSource":[{"__symbolic":"method"}],"isSourceFormatYaml":[{"__symbolic":"method"}],"isSourceFormatJson":[{"__symbolic":"method"}],"toggleSourceFormat":[{"__symbolic":"method"}],"setSourceFormat":[{"__symbolic":"method"}],"formatSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"isDesignMode":[{"__symbolic":"method"}],"isSourceMode":[{"__symbolic":"method"}],"enableDesignMode":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"sourceEditorTheme":[{"__symbolic":"method"}],"sourceEditorMode":[{"__symbolic":"method"}],"collapseAllSections":[{"__symbolic":"method"}],"expandAllSections":[{"__symbolic":"method"}]}},"ɵbt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"channel-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":43,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":44,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div path-item class=\"detail-label\" [path]=\"channel.getName()\"></div>\n    <div class=\"detail-actions\">\n\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <div class=\"api-path-detail\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\" id=\"apipath-2-get\">\n                <!-- Info Section -->\n                <channel-info-section [channel]=\"channel\"></channel-info-section>\n\n                <!-- Operations Section -->\n                <channel-operations-section [channel]=\"channel\"></channel-operations-section>\n            </div>\n        </div>\n    </div>\n</div>","styles":[""]}]}],"members":{"channel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}]}},"ɵbu":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"selector":"messagetrait-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":48,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":49,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div messagetrait-item class=\"detail-label\" [messageTrait]=\"messageTrait\"></div>\n    <div class=\"detail-actions\">\n\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <div class=\"api-path-detail\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\" id=\"apipath-2-get\">\n                <!-- Title -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"messageTrait\" [shallow]=\"true\" [property]=\"'title'\"></validation-problem>\n                    <span>Title</span>\n                </div>\n                <div class=\"section-field title\">\n                    <pf-inline-text-editor [value]=\"messageTrait.title\" [noValueMessage]=\"'No title.'\"\n                                            [labelClass]=\"'api-version'\"\n                                            [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                            [baseNode]=\"messageTrait\" nodePath=\"title\"\n                                            (onChange)=\"changeTitle($event)\"></pf-inline-text-editor>\n                </div>\n\n                <!-- Summary -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"messageTrait\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                    <span>Summary</span>\n                </div>\n                <div class=\"section-field summary\">\n                    <pf-inline-text-editor [value]=\"messageTrait.summary\" [noValueMessage]=\"'No summary.'\"\n                                            [labelClass]=\"'api-version'\"\n                                            [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                            [baseNode]=\"messageTrait\" nodePath=\"summary\"\n                                            (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n                </div>\n\n                <!-- Description -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"messageTrait\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n                    <span>Description</span>\n                </div>\n                <div class=\"section-field description\">\n                    <inline-markdown-editor [value]=\"messageTrait.description\" [noValueMessage]=\"'No description.'\"\n                                            [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                            [inputClass]=\"'api-item-description'\"\n                                            [formClass]=\"'api-description-editor-form'\"\n                                            [baseNode]=\"messageTrait\" nodePath=\"description\"\n                                            (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n                </div>\n\n                <!-- Tags -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"messageTrait\" [shallow]=\"true\" [property]=\"'tags'\"></validation-problem>\n                    <span>Tags</span>\n                </div>\n                <div class=\"section-field tags\">\n                    <inline-array-editor noValueMessage=\"No tags configured.\" [value]=\"messageTrait.tags\" [items]=\"tagDefs()\"\n                                        [baseNode]=\"messageTrait\" nodepath=\"tags\"\n                                        (onChange)=\"changeTags($event)\"></inline-array-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>"}]}],"members":{"messageTrait":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":74,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵj"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"changeTitle":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeTags":[{"__symbolic":"method"}],"tagDefs":[{"__symbolic":"method"}]}},"ɵbv":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":49,"character":1},"arguments":[{"selector":"message-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":53,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":54,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div message-item class=\"detail-label\" [message]=\"message\"></div>\n    <div class=\"detail-actions\">\n\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <div class=\"api-path-detail\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\" id=\"apipath-2-get\">\n\n                <div class=\"half-section\" >\n\n                    <!-- Name -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'name'\"></validation-problem>\n                        <span>Name</span>\n                    </div>\n                    <div class=\"section-field name\">\n                        <pf-inline-text-editor [value]=\"message.name\" [noValueMessage]=\"'No name.'\"\n                                               [labelClass]=\"'api-version'\"\n                                               [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                               [baseNode]=\"message\" nodePath=\"name\"\n                                               (onChange)=\"changeName($event)\"></pf-inline-text-editor>\n                    </div>\n\n                    <!-- Title -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'title'\"></validation-problem>\n                        <span>Title</span>\n                    </div>\n                    <div class=\"section-field title\">\n                        <pf-inline-text-editor [value]=\"message.title\" [noValueMessage]=\"'No title.'\"\n                                               [labelClass]=\"'api-version'\"\n                                               [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                               [baseNode]=\"message\" nodePath=\"title\"\n                                               (onChange)=\"changeTitle($event)\"></pf-inline-text-editor>\n                    </div>\n\n                    <!-- Summary -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                        <span>Summary</span>\n                    </div>\n                    <div class=\"section-field summary\">\n                        <pf-inline-text-editor [value]=\"message.summary\" [noValueMessage]=\"'No summary.'\"\n                                               [labelClass]=\"'api-version'\"\n                                               [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                               [baseNode]=\"message\" nodePath=\"summary\"\n                                               (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n                    </div>\n\n                    <!-- Description -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n                        <span>Description</span>\n                    </div>\n                    <div class=\"section-field description\">\n                        <inline-markdown-editor [value]=\"message.description\" [noValueMessage]=\"'No description.'\"\n                                                [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                                [inputClass]=\"'api-item-description'\"\n                                                [formClass]=\"'api-description-editor-form'\"\n                                                [baseNode]=\"message\" nodePath=\"description\"\n                                                (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n                    </div>\n\n                </div>\n\n                <div class=\"half-section right\">\n                    <!-- Correlation ID -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'name'\"></validation-problem>\n                        <span>Correlation ID</span>\n                    </div>\n                    <div class=\"section-field name\">\n                        <pf-inline-text-editor [value]=\"message.name\" [noValueMessage]=\"'No name.'\"\n                                               [labelClass]=\"'api-version'\"\n                                               [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                               [baseNode]=\"message\" nodePath=\"name\"\n                                               (onChange)=\"changeName($event)\"></pf-inline-text-editor>\n                    </div>\n\n                    <!-- Content Type -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'contentType'\"></validation-problem>\n                        <span>Content Type</span>\n                    </div>\n                    <div class=\"section-field contentType\">\n                        <pf-inline-text-editor [value]=\"message.contentType\" [noValueMessage]=\"'No content type. Default will apply.'\"\n                                               [labelClass]=\"'api-version'\"\n                                               [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                               [baseNode]=\"message\" nodePath=\"contentType\"\n                                               (onChange)=\"changeContentType($event)\"></pf-inline-text-editor>\n                    </div>\n\n                    <!-- Schema Format -->\n                    <div class=\"section-field-label\">\n                        <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'schemaFormat'\"></validation-problem>\n                        <span>Schema Format</span>\n                    </div>\n                    <div class=\"section-field schemaFormat\">\n                        <drop-down [value]=\"message.schemaFormat\"\n                                   [options]=\"schemaFormatOptions()\"\n                                   (onValueChange)=\"changeSchemaFormat($event)\"\n                                   noSelectionLabel=\"No Schema Format\"></drop-down>\n                    </div>\n                </div>\n\n                <div class=\"section-field-label\" >\n                    <validation-problem [model]=\"message\" [shallow]=\"true\" [property]=\"'payload'\"></validation-problem>\n                    <span>Content</span>\n                </div>\n                <div class=\"parts-tabs\" >\n                    <div class=\"tab\" [class.active]=\"isPartActive('payload')\">\n                        <a (click)=\"setActivePart('payload')\">\n                            <span>Payload</span>\n                        </a>\n                    </div>\n                    <div class=\"tab\" [class.active]=\"isPartActive('headers')\">\n                        <a (click)=\"setActivePart('headers')\">\n                            <span>Headers</span>\n                        </a>\n                    </div>\n                </div>\n                <div class=\"parts-tab-content\" >\n                    <payload-tab [message]=\"message\" *ngIf=\"isPartActive('payload')\"></payload-tab>\n                    <headers-tab [message]=\"message\" *ngIf=\"isPartActive('headers')\"></headers-tab>\n                </div>\n\n\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".half-section{width:50%;display:inline-block}.half-section.right{float:right}.parts-tabs{display:flex;width:100%;margin-top:5px}.parts-tabs .tab{position:relative;padding:5px 10px;background-color:#efefef;border:1px solid transparent;margin-right:5px}.parts-tabs .tab:hover{background-color:#e4e4e4}.parts-tabs .tab.active{border-color:#ddd;border-bottom:1px solid transparent;background-color:#fff;margin-bottom:-1px}.parts-tabs .tab:first-child{border-left:1px solid transparent}.parts-tabs .tab:first-child.active{border-left:1px solid #ddd}.parts-tabs .tab>a{cursor:pointer;text-decoration:none;color:#666}.parts-tabs .tab.active>a{cursor:default}.parts-tabs .tab.statusCode.success>a{color:green}.parts-tabs .tab.statusCode.redirect>a{color:#00f}.parts-tabs .tab.statusCode.problem>a{color:orange}.parts-tabs .tab.statusCode.error>a{color:red}.parts-tabs .tab .validation-aggregate{position:absolute;right:-3px;top:-7px}.parts-tabs .actions{flex-grow:1;text-align:right;padding-right:10px;margin-top:5px}.parts-tab-content{border:1px solid #ddd;background-color:#fff;padding:10px}"]}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":82,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵj"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"schemaFormatOptions":[{"__symbolic":"method"}],"isPartActive":[{"__symbolic":"method"}],"setActivePart":[{"__symbolic":"method"}],"changeName":[{"__symbolic":"method"}],"changeTitle":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeContentType":[{"__symbolic":"method"}],"changeSchemaFormat":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"tagDefs":[{"__symbolic":"method"}]}},"ɵbw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"[messagetrait-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<span class=\"icon fa fa-fw fa-envelope-square\"></span>\n<span class=\"name\">{{ messageTraitName() }}</span>\n<span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n<collaborator-aggregate [nodePath]=\"asNodePath()\"></collaborator-aggregate>\n<validation-aggregate [models]=\"[messageTrait]\"></validation-aggregate>","styles":["span.icon{line-height:21px}span.name{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}span.imported{font-size:11px;border-radius:2px;margin-top:2px;margin-bottom:2px}"]}]}],"members":{"messageTrait":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"messageTraitName":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}]}},"ɵbx":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"[message-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<span class=\"icon fa fa-fw fa-envelope-square\"></span>\n<span class=\"name\">{{ messageName() }}</span>\n<span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n<collaborator-aggregate [nodePath]=\"asNodePath()\"></collaborator-aggregate>\n<validation-aggregate [models]=\"[message]\"></validation-aggregate>","styles":["span.icon{line-height:21px}span.name{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}span.imported{font-size:11px;border-radius:2px;margin-top:2px;margin-bottom:2px}"]}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"messageName":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}]}},"ɵby":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"selector":"operationtrait-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":48,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":49,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div operationtrait-item class=\"detail-label\" [operationTrait]=\"operationTrait\"></div>\n    <div class=\"detail-actions\">\n\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <div class=\"api-path-detail\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\" id=\"apipath-2-get\">\n                <!-- Summary -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"operationTrait\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n                    <span>Summary</span>\n                </div>\n                <div class=\"section-field summary\">\n                    <pf-inline-text-editor [value]=\"operationTrait.summary\" [noValueMessage]=\"'No summary.'\"\n                                            [labelClass]=\"'api-version'\"\n                                            [inputClass]=\"'api-item-editor api-operationId-editor api-item-operationId'\"\n                                            [baseNode]=\"operationTrait\" nodePath=\"summary\"\n                                            (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n                </div>\n\n                <!-- Description -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"operationTrait\" [shallow]=\"true\" [property]=\"'description'\"></validation-problem>\n                    <span>Description</span>\n                </div>\n                <div class=\"section-field description\">\n                    <inline-markdown-editor [value]=\"operationTrait.description\" [noValueMessage]=\"'No description.'\"\n                                            [labelClass]=\"'api-item-editor api-description-editor operation-description api-item-description'\"\n                                            [inputClass]=\"'api-item-description'\"\n                                            [formClass]=\"'api-description-editor-form'\"\n                                            [baseNode]=\"operationTrait\" nodePath=\"description\"\n                                            (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n                </div>\n\n                <!-- Tags -->\n                <div class=\"section-field-label\">\n                    <validation-problem [model]=\"operationTrait\" [shallow]=\"true\" [property]=\"'tags'\"></validation-problem>\n                    <span>Tags</span>\n                </div>\n                <div class=\"section-field tags\">\n                    <inline-array-editor noValueMessage=\"No tags configured.\" [value]=\"operationTrait.tags\" [items]=\"tagDefs()\"\n                                        [baseNode]=\"operationTrait\" nodepath=\"tags\"\n                                        (onChange)=\"changeTags($event)\"></inline-array-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>"}]}],"members":{"operationTrait":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":74,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵj"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}],"changeTags":[{"__symbolic":"method"}],"tagDefs":[{"__symbolic":"method"}]}},"ɵbz":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"[operationtrait-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<span class=\"icon fa fa-fw fa-cog\"></span>\n<span class=\"name\">{{ operationTraitName() }}</span>\n<span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n<collaborator-aggregate [nodePath]=\"asNodePath()\"></collaborator-aggregate>\n<validation-aggregate [models]=\"[operationTrait]\"></validation-aggregate>","styles":["span.icon{line-height:21px}span.name{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}span.imported{font-size:11px;border-radius:2px;margin-top:2px;margin-bottom:2px}"]}]}],"members":{"operationTrait":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"operationTraitName":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}]}},"ɵca":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":49,"character":1},"arguments":[{"selector":"query-param-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":53,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":54,"character":21},"member":"OnPush"},"template":"<div class=\"query-param\" [class.expanded]=\"isEditing()\" [class.required]=\"isRequired()\" [class.overridable]=\"isOverridable()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"apicurio-icon-override icon-override\" *ngIf=\"isParentOperation() && isOverride()\"\n                  title=\"Overrides a parameter defined at the Path level.\"></span>\n            <span class=\"apicurio-icon-inherit-d icon-override\" *ngIf=\"isParentOperation() && isOverridable()\"\n                  title=\"Query parameter inherited from the Path level.\"></span>\n            <span class=\"apicurio-icon-local-d icon-override\" *ngIf=\"isParentOperation() && isLocalOnly()\"\n                  title=\"Query parameter defined for this operation only.\"></span>\n            <span title=\"{{ item.name }}\">{{ item.name }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <span class=\"parameter-required\" *ngIf=\"isRequired()\" title=\"This query parameter is required.\">[required]</span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\" *ngIf=\"is3xDocument()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!hasExamples()\"> {{ displayExamples() }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\" *ngIf=\"!isOverridable()\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n            <button *ngIf=\"isOverridable()\" (click)=\"override()\" title=\"Override the query parameter.\"\n                    class=\"btn btn-default btn-xs btn-override\">Override</button>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"param-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"param-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"param-required\">\n                            <span class=\"dropdown-label\">Parameter is</span>\n                            <drop-down [id]=\"'api-param-required'\"\n                                       [value]=\"required()\"\n                                       [options]=\"requiredOptions()\"\n                                       (onValueChange)=\"changeRequired($event)\"\n                                       [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        </div>\n                        <div class=\"param-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"param-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!hasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"hasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Example</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of paramExamples()\">\n                                    <td class=\"name\">\n                                        <validation-problem [model]=\"example\"></validation-problem>\n                                        <span>{{ example.getName() }}</span>\n                                    </td>\n                                    <td class=\"value pre-actions\">\n                                        <span>{{ exampleValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                            [title]=\"'Delete example.'\"></icon-button>\n                                            <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                            [title]=\"'Edit example.'\"></icon-button>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n    <add-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"schemaForExample()\"></add-example-dialog>\n    <edit-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"schemaForExample()\"></edit-example-dialog>\n</div>\n","styles":[".query-param{border:1px solid transparent;position:relative}.query-param.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.query-param .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.query-param .header:hover{background-color:#edf8ff}.query-param.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.query-param .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.query-param .header .name>span{font-weight:600;color:#39a5dc}.query-param .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.query-param .header .description{flex-basis:28%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.query-param .header .description:hover{color:#0088ce;cursor:pointer}.query-param .header .summary{flex-basis:27%}.query-param .header .summary:hover{color:#0088ce;cursor:pointer}.query-param .header .summary .parameter-required{font-weight:600}.query-param .header .summary .parameter-required:hover{filter:brightness(120%)}.query-param .header .examples{flex-basis:25%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.query-param .header .examples:hover{color:#0088ce;cursor:pointer}.query-param .header .actions{flex-basis:2%;text-align:center}.query-param .header .actions .btn-override{position:absolute;right:5px;top:6px}.query-param .header .actions>div .fa-ellipsis-v{visibility:hidden}.query-param:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.query-param .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.query-param .body{position:relative;padding:15px}.query-param .body .close{position:absolute;right:10px;top:5px}.query-param .body .param-description form{width:100%}.query-param .body .param-description .form-label,.query-param .body span.strong{font-weight:600}.query-param .body .param-required{margin-bottom:20px}.query-param .body .param-type{margin-bottom:10px}.query-param .body .param-examplesform{width:100%}.query-param .body .param-examples .form-label{font-weight:600}.query-param .body .param-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.query-param.overridable>.header>div>.fa-angle-right{display:none}.query-param.overridable .header .description:hover,.query-param.overridable .header .summary:hover{color:inherit;cursor:default}.query-param .description>.fa,.query-param .summary>.fa{margin-right:2px}.query-param .summary .parameter-required{margin-right:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":75,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParentOperation":[{"__symbolic":"method"}],"isParentPath":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"is3xDocument":[{"__symbolic":"method"}],"hasExamples":[{"__symbolic":"method"}],"paramExamples":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"schemaForExample":[{"__symbolic":"method"}],"override":[{"__symbolic":"method"}],"isMissing":[{"__symbolic":"method"}],"isExists":[{"__symbolic":"method"}],"isOverride":[{"__symbolic":"method"}],"isOverridable":[{"__symbolic":"method"}],"isLocalOnly":[{"__symbolic":"method"}],"getOverriddenParam":[{"__symbolic":"method"}],"detectParentType":[{"__symbolic":"method"}]}},"ɵcb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":40,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":41,"character":21},"member":"OnPush"},"template":"<div class=\"section {{ type }}-section panel-group\" [class.highlight]=\"showHighlight\">\n    <div class=\"section-header panel-title\" #sectionHeader>\n        <a [class.collapsed]=\"!expanded\" (click)=\"toggleExpansion()\" (contextmenu)=\"openContextMenu($event)\">\n            <span class=\"section-label\">{{ label }} <counter [items]=\"counterItems\" *ngIf=\"hasCounter()\"></counter></span>\n            <validation-aggregate *ngIf=\"hasValidationAggregate()\" [models]=\"validationModels\"\n                                  [shallow]=\"validationShallow\" [properties]=\"validationProperties\"></validation-aggregate>\n        </a>\n        <context-help>\n            <p>{{ contextHelp }}</p>\n        </context-help>\n        <collaborator-aggregate [nodePath]=\"collaborationNodePath\"></collaborator-aggregate>\n        <div class=\"section-actions\">\n            <ng-content select=\"[actions]\"></ng-content>\n        </div>\n    </div>\n    <div class=\"section-body\" [class.collapsed]=\"!expanded\" #sectionBody>\n        <ng-content select=\"[body]\"></ng-content>\n    </div>\n\n    <!-- Section Context Menu -->\n    <ul class=\"dropdown-menu context-menu section-context-menu\" *ngIf=\"showContextMenu\" (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"collapseAllOtherSections()\">\n                <span class=\"fa fa-long-arrow-right\"></span>\n                <span>Collapse All Other Sections</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"collapseAllSections()\">\n                <span class=\"fa fa-compress\"></span>\n                <span>Collapse All Sections</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"expandAllSections()\">\n                <span class=\"fa fa-expand\"></span>\n                <span>Expand All Sections</span>\n            </a>\n        </li>\n    </ul>\n\n</div>\n","styles":[".section .section-actions{display:inline}.section .section-body.collapsed{display:none}.section .section-context-menu{display:block;position:fixed}.section .section-context-menu li a span.fa{margin-right:3px}.section .section-header .collaborator-aggregate{margin-left:18px}.section .section-header .collaborator-aggregate>a.collaborator-icon{color:#fff}.section .section-body{border:1px solid transparent}.section.highlight .section-body{border:1px solid #0088ce;box-shadow:0 0 3px 1px #0088ce}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"expanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"counterItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"contextHelp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"validationModels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"validationShallow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"validationProperties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"collaborationNodePath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"inForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"sectionHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":61,"character":5},"arguments":["sectionHeader",{"static":true}]}]}],"sectionBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":5},"arguments":["sectionBody",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":80,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"acceptsPath":[{"__symbolic":"method"}],"highlight":[{"__symbolic":"method"}],"hasCounter":[{"__symbolic":"method"}],"hasValidationAggregate":[{"__symbolic":"method"}],"toggleExpansion":[{"__symbolic":"method"}],"openContextMenu":[{"__symbolic":"method"}],"closeContextMenu":[{"__symbolic":"method"}],"collapseAllOtherSections":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapseAllSections":[{"__symbolic":"method"}],"expandAllSections":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":248,"character":5},"arguments":["document:click",["$event"]]}]}]},"statics":{"allVisibleSections":[]}},"ɵcc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":62,"character":1},"arguments":[{"selector":"requestBody-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":66,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":67,"character":21},"member":"OnPush"},"template":"<section type=\"requestBody\" label=\"REQUEST BODY\" [expanded]=\"showRequestBody\"\n         contextHelp=\"Use this section to configure the operation's Request Body.  Typically a request body is used for PUT and POST only.\"\n         [collaborationNodePath]=\"requestBodyPaths()\"\n         [validationModels]=\"validationModels()\">\n    <span actions>\n        <icon-button *ngIf=\"is20Document()\"\n                     (onClick)=\"openAddFormDataParamEditor()\" [pullRight]=\"true\" type=\"add\"\n                     [invisible]=\"!hasFormDataParams()\"\n                     [title]=\"'Add a response to the operation.'\"></icon-button>\n        <icon-button *ngIf=\"is20Document()\"\n                     (onClick)=\"deleteRequestBody()\" [disabled]=\"!hasBodyParam() && !hasFormDataParams()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete the request body.'\"></icon-button>\n\n        <icon-button *ngIf=\"is30Document()\"\n                     (onClick)=\"deleteRequestBody()\" [pullRight]=\"true\" type=\"delete\" [disabled]=\"!hasRequestBody()\"\n                     [title]=\"'Delete the request body.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasAnything()\">\n            <span>No request body has been defined.</span>\n            <a (click)=\"addRequestBody()\">Add a request body</a>\n            <span *ngIf=\"is20Document()\">, or</span>\n            <a *ngIf=\"is20Document()\" (click)=\"openAddFormDataParamEditor()\">add request form data</a>\n        </signpost>\n\n        <!-- If we're using a 'body' param -->\n        <div *ngIf=\"hasBodyParam()\">\n            <div class=\"alert alert-warning\" *ngIf=\"operation.getMethod() === 'get'\">\n                <span class=\"pficon pficon-warning-triangle-o\"></span>\n                <strong>Not Recommended</strong>\n                <span>It is unusual and not recommended to define a request body for a <strong>GET</strong> operation.</span>\n            </div>\n            <inline-markdown-editor [value]=\"bodyDescription()\" noValueMessage=\"No request body description.\"\n                                    labelClass=\"request-body-description api-item-description description\"\n                                    inputClass=\"api-description-editor api-item-description request-body-description api-item-description description\"\n                                    formClass=\"api-description-editor-form\"\n                                    [baseNode]=\"bodyParam()\" nodePath=\"description\"\n                                    (onChange)=\"changeBodyDescription($event)\"></inline-markdown-editor>\n            <div class=\"request-body-type\">\n                <schema-type-editor [document]=\"operation.ownerDocument()\" [isParameter]=\"false\" [value]=\"requestBodyType()\"\n                                    typeLabel=\"Request Body Type\" [validationModel]=\"bodyParam()\"\n                                    (onChange)=\"changeRequestBodyType($event)\"></schema-type-editor>\n            </div>\n        </div>\n\n        <!-- If we're using 'formData' params -->\n        <div *ngIf=\"hasFormDataParams()\">\n            <div class=\"container-fluid formData-parameters typed-item-list\">\n                <formData-param-row *ngFor=\"let param of formDataParameters()\" [item]=\"param\"\n                                    (onRename)=\"openRenameFormDataParameterDialog(param)\"\n                                    (onDelete)=\"deleteParam(param)\"></formData-param-row>\n            </div>\n        </div>\n\n        <!-- If it's a 3.0 document -->\n        <div *ngIf=\"hasRequestBody()\">\n            <div class=\"alert alert-warning\" *ngIf=\"operation.getMethod() === 'get'\">\n                <span class=\"pficon pficon-warning-triangle-o\"></span>\n                <strong>Not Recommended</strong>\n                <span>It is unusual and not recommended to define a request body for a <strong>GET</strong> operation.</span>\n            </div>\n            <inline-markdown-editor [value]=\"bodyDescription()\" noValueMessage=\"No request body description.\"\n                                    labelClass=\"request-body-description api-item-description description\"\n                                    inputClass=\"api-description-editor api-item-description request-body-description api-item-description description\"\n                                    formClass=\"api-description-editor-form\"\n                                    [baseNode]=\"requestBody()\" nodePath=\"description\"\n                                    (onChange)=\"changeBodyDescription($event)\"></inline-markdown-editor>\n            <div class=\"request-body-required\">\n                <span class=\"dropdown-label\">It is</span>\n                <drop-down [id]=\"'api-request-body-required'\"\n                           [value]=\"requestBody().required ? 'required' : 'not-required'\"\n                           [options]=\"requestBodyRequiredOptions()\"\n                           (onValueChange)=\"changeRequestBodyRequired($event)\"\n                           [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                <span class=\"dropdowns-label\">that clients include the request body.</span>\n            </div>\n            <div class=\"request-body-content\">\n                <div class=\"form-label\">Media Types</div>\n                <content [parent]=\"requestBody()\"></content>\n            </div>\n        </div>\n\n    </div>\n</section>\n<rename-entity-dialog #renameFormDataDialog\n                      type=\"Form Data Parameter\"\n                      title=\"Rename Form Data Parameter\"\n                      warning=\"Renaming a Form Data Parameter may also update any form data parameters with the same name depending on path and operation hierarchies.\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_\\$]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., -, _ and $ are allowed - no whitespace).\"\n                      (onRename)=\"renameFormDataParameter($event)\"></rename-entity-dialog>\n","styles":[".requestBody-section .section-body .request-body-content .form-label{font-weight:600}"]}]}],"members":{"operation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5}}]}],"renameFormDataDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":73,"character":5},"arguments":["renameFormDataDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":77,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"is20Document":[{"__symbolic":"method"}],"is30Document":[{"__symbolic":"method"}],"requestBodyPaths":[{"__symbolic":"method"}],"openAddFormDataParamEditor":[{"__symbolic":"method"}],"addFormDataParam":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"bodyParam":[{"__symbolic":"method"}],"hasBodyParam":[{"__symbolic":"method"}],"hasRequestBody":[{"__symbolic":"method"}],"hasAnything":[{"__symbolic":"method"}],"formDataParameters":[{"__symbolic":"method"}],"hasFormDataParams":[{"__symbolic":"method"}],"hasParameters":[{"__symbolic":"method"}],"deleteRequestBody":[{"__symbolic":"method"}],"requestBodyParams":[{"__symbolic":"method"}],"validationModels":[{"__symbolic":"method"}],"addRequestBody":[{"__symbolic":"method"}],"bodyDescription":[{"__symbolic":"method"}],"changeBodyDescription":[{"__symbolic":"method"}],"requestBodyType":[{"__symbolic":"method"}],"changeRequestBodyType":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"requestBodyRequiredOptions":[{"__symbolic":"method"}],"requestBody":[{"__symbolic":"method"}],"changeRequestBodyRequired":[{"__symbolic":"method"}],"openRenameFormDataParameterDialog":[{"__symbolic":"method"}],"renameFormDataParameter":[{"__symbolic":"method"}]}},"ɵcd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"[definition-item]","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<span class=\"icon fa fa-fw fa-code\"></span>\n<span class=\"name\">{{ definitionName() }}</span>\n<span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n<collaborator-aggregate [nodePath]=\"asNodePath()\"></collaborator-aggregate>\n<validation-aggregate [models]=\"[schema]\"></validation-aggregate>","styles":["span.icon{line-height:21px}span.name{flex-grow:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}span.imported{font-size:11px;border-radius:2px;margin-top:2px;margin-bottom:2px}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"definitionName":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}]}},"ɵce":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":63,"character":1},"arguments":[{"selector":"definition-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":66,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":67,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div class=\"detail-label\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span>{{ definitionName() }}</span>\n        <span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n    </div>\n    <div class=\"detail-actions\">\n        <div class=\"dropdown\">\n            <button class=\"btn btn-link dropdown-toggle\" type=\"button\" id=\"dropdownKebab\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                <span class=\"fa fa-ellipsis-v\"></span>\n            </button>\n            <ul class=\"dropdown-menu \" aria-labelledby=\"dropdownKebab\">\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"collapseAllSections()\">\n                        <span class=\"fa fa-compress\"></span>\n                        <span>Collapse All Sections</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"expandAllSections()\">\n                        <span class=\"fa fa-expand\"></span>\n                        <span>Expand All Sections</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"rename()\">\n                        <span class=\"fa fa-pencil-square-o\"></span>\n                        <span>Rename Data Type</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"clone()\">\n                        <span class=\"fa fa-clone\"></span>\n                        <span>Clone Data Type</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"delete()\">\n                        <span class=\"pficon pficon-delete\"></span>\n                        <span>Delete Data Type</span>\n                    </a>\n                </li>\n            </ul>\n        </div>\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n    <div class=\"api-definition-detail\" *ngIf=\"!isImported()\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\">\n\n                <!-- Info about the Definition -->\n                <definition-info-section [definition]=\"definition\"></definition-info-section>\n\n                <!-- Simple Type -->\n                <section type=\"simpleType\" label=\"TYPE\" *ngIf=\"!isObject()\"\n                         contextHelp=\"Use this section to manage the type information.\"\n                         [validationModels]=\"[ definition ]\"\n                         [validationProperties]=\"['type', 'format', 'items']\"\n                         [validationShallow]=\"true\">\n                    <div body>\n                        <schema-type-editor [document]=\"definition.ownerDocument()\" [value]=\"simpleType()\" [isParameter]=\"false\"\n                                            (onChange)=\"changeSimpleType($event)\"></schema-type-editor>\n                    </div>\n                </section>\n\n                <!-- Inheritance -->\n                <section type=\"inheritance\" label=\"INHERITANCE\" *ngIf=\"isObject()\">\n                    <div body>\n                        <div class=\"section-field-label\">\n                            <span>Inheritance Type</span>\n                        </div>\n                        <div class=\"section-field inheritance-type\">\n                            <drop-down [id]=\"'inheritance-type'\" [value]=\"inheritanceType()\" [options]=\"inheritanceTypeOptions()\"\n                                       (onValueChange)=\"setInheritanceType($event)\"></drop-down>\n                        </div>\n                    </div>\n                </section>\n\n                <!-- Object Type : Properties -->\n                <schemas-section [definition]=\"definition\" *ngIf=\"isInheritanceEnabled()\"></schemas-section>\n\n                <!-- Object Type : Properties -->\n                <properties-section [definition]=\"definition\" *ngIf=\"isObject()\"></properties-section>\n\n                <!-- Definition Example -->\n                <definition-example-section [definition]=\"definition\"></definition-example-section>\n\n                <!-- Vendor Extensions -->\n                <extensions-section [parent]=\"definition\"></extensions-section>\n\n            </div>\n        </div>\n    </div>\n    <div class=\"api-definition-detail\" *ngIf=\"isImported()\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\">\n                <!-- Reference -->\n                <section type=\"dtReference\" label=\"REFERENCE\"\n                         contextHelp=\"This section describes the externally referenced Data Type.\"\n                         [validationModels]=\"[ definition ]\"\n                         [validationProperties]=\"['$ref']\"\n                         [validationShallow]=\"true\">\n                    <div body>\n                        <span>This Data Type is an external reference to: </span>\n                        <em><a [href]=\"refLink()\" target=\"_blank\"><span class=\"fa fa-fw fa-external-link\"></span>{{ definition.$ref }}</a></em>\n                    </div>\n                </section>\n                <!-- Reference Details -->\n                <section type=\"dtReferenceDetails\" label=\"REFERENCE DETAILS\"\n                         contextHelp=\"This section shows details about the externally referenced Data Type.\">\n                    <div body>\n                        <pre>{{ referenceContent() }}</pre>\n                    </div>\n                </section>\n            </div>\n        </div>\n    </div>\n</div>\n\n<clone-definition-dialog #cloneDefinitionDialog (onClone)=\"clone($event)\"></clone-definition-dialog>\n<rename-entity-dialog #renameDefinitionDialog\n                      type=\"Data Type\"\n                      title=\"Rename Data Type\"\n                      warning=\"Renaming a Data Type will also update any references to the type elsewhere in the API (e.g. responses and request bodies).\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"definition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5}}]}],"cloneDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":86,"character":5},"arguments":["cloneDefinitionDialog",{"static":true}]}]}],"renameDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":87,"character":5},"arguments":["renameDefinitionDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":98,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵj"}]}],"definitionName":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"_definitionName":[{"__symbolic":"method"}],"isObject":[{"__symbolic":"method"}],"simpleType":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"changeSimpleType":[{"__symbolic":"method"}],"inheritanceType":[{"__symbolic":"method"}],"inheritanceTypeOptions":[{"__symbolic":"method"}],"isInheritanceEnabled":[{"__symbolic":"method"}],"setInheritanceType":[{"__symbolic":"method"}],"referenceContent":[{"__symbolic":"method"}],"refLink":[{"__symbolic":"method"}],"getRefId":[{"__symbolic":"method"}]}},"ɵcf":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"formData-param-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":37,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":38,"character":21},"member":"OnPush"},"template":"<div class=\"formData-param\" [class.expanded]=\"isEditing()\" [class.required]=\"isRequired()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span title=\"{{ item.name }}\">{{ item.name }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <span class=\"parameter-required\" *ngIf=\"isRequired()\" title=\"This form data parameter is required.\">[required]</span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"param-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"param-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"param-required\">\n                            <span class=\"dropdown-label\">Parameter is</span>\n                            <drop-down [id]=\"'api-param-required'\"\n                                       [value]=\"required()\"\n                                       [options]=\"requiredOptions()\"\n                                       (onValueChange)=\"changeRequired($event)\"\n                                       [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        </div>\n                        <div class=\"param-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".formData-param{border:1px solid transparent;position:relative}.formData-param.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.formData-param .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.formData-param .header:hover{background-color:#edf8ff}.formData-param.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.formData-param .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.formData-param .header .name>span{font-weight:600;color:#336}.formData-param .header .description{flex-basis:39%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.formData-param .header .description:hover{color:#0088ce;cursor:pointer}.formData-param .header .summary{flex-basis:41%}.formData-param .header .summary:hover{color:#0088ce;cursor:pointer}.formData-param .header .summary .parameter-required{font-weight:600}.formData-param .header .summary .parameter-required:hover{filter:brightness(120%)}.formData-param .header .actions{flex-basis:2%;text-align:center}.formData-param .header .actions>div .fa-ellipsis-v{visibility:hidden}.formData-param:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.formData-param .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.formData-param .body{position:relative;padding:15px}.formData-param .body .close{position:absolute;right:10px;top:5px}.formData-param .body .param-description form{width:100%}.formData-param .body .param-description .form-label,.formData-param .body span.strong{font-weight:600}.formData-param .body .param-required{margin-bottom:20px}.formData-param .body .param-type{margin-bottom:10px}.formData-param .body .param-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.formData-param .description>.fa,.formData-param .summary>.fa{margin-right:2px}.formData-param .summary .parameter-required{margin-right:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":52,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}]}},"ɵcg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"response-tab-30","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<div class=\"response\">\n    <div class=\"response-description\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Description</div>\n        <div class=\"problem-flex\">\n            <validation-problem [model]=\"response\" property=\"description\"></validation-problem>\n            <div class=\"grow\">\n                <inline-markdown-editor [value]=\"response.description\" noValueMessage=\"No description.\"\n                                        [baseNode]=\"response\" nodePath=\"description\"\n                                        (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n            </div>\n        </div>\n    </div>\n    <div class=\"response-header\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Response Headers</div>\n        <httpHeaders [parent]=\"response\"></httpHeaders>\n    </div>\n    <div class=\"response-content\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Response Body</div>\n        <content [parent]=\"response\"></content>\n    </div>\n\n    <div class=\"response-ref\" *ngIf=\"isRef()\">\n        <div class=\"form-label\">Response Definition</div>\n        <validation-problem [model]=\"response\" property=\"$ref\"></validation-problem>\n        <span>This response references the </span>\n        <em><a (click)=\"navigateToDefinition()\">{{ definitionName() }}</a></em>\n        <span> Response Definition.</span>\n    </div>\n</div>\n","styles":[".response .problem-flex{display:flex}.response .problem-flex .grow{flex-grow:1}.response .problem-flex>:first-child{margin-top:2px}.response .problem-flex>:first-child>span{margin-right:8px}.response div.form-label{margin-top:15px;font-weight:600}.response .response-description div.form-label{margin-top:2px}.response .response-content div.form-label,.response .response-header div.form-label{margin-bottom:5px}.response .response-ref em{font-style:normal}.response .response-ref em>a{font-weight:700}"]}]}],"members":{"response":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":43,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"isRef":[{"__symbolic":"method"}],"responseDefRefPrefix":[{"__symbolic":"method"}],"responseDefPathPrefix":[{"__symbolic":"method"}],"definitionName":[{"__symbolic":"method"}],"navigateToDefinition":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}]}},"ɵch":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":78,"character":1},"arguments":[{"selector":"master","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":82,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":83,"character":21},"member":"OnPush"},"template":"<div class=\"editor-master\">\n    <!-- Path Context Menu -->\n    <ul id=\"path-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'path'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"newPath()\">\n                <span class=\"pficon pficon-add-circle-o\"></span>\n                <span>New Sub-Path</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renamePath()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"clonePath()\">\n                <span class=\"fa fa-clone\"></span>\n                <span>Clone</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deletePath()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Data Type Context Menu -->\n    <ul id=\"definition-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'definition'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameDefinition()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"cloneDefinition()\">\n                <span class=\"fa fa-clone\"></span>\n                <span>Clone</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteDefinition()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Response Context Menu -->\n    <ul id=\"response-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'response'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameResponse()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"cloneResponse()\">\n                <span class=\"fa fa-clone\"></span>\n                <span>Clone</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteResponse()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Search - Used to Filter Paths and Data Type -->\n    <div class=\"editor-search\">\n        <search [placeholder]=\"'Search everything...'\" [searchId]=\"'masterSearch'\" (onSearch)=\"filterAll($event)\"></search>\n    </div>\n\n    <!-- Outline - Paths, Data Types, Responses -->\n    <div class=\"editor-outline\">\n        <!-- Paths Section -->\n        <section type=\"path\" label=\"Paths\" [counterItems]=\"paths()\" [inForm]=\"false\"\n                 collaborationNodePath=\"/paths\"\n                 contextHelp=\"The core of any REST API is the set of resources/paths it exposes.  Each path is of the form '/path/to/resource' and can support a number of operations.\">\n            <span actions>\n                <icon-button (onClick)=\"addPathDialog.open(document, getCurrentPathSelection())\" [pullRight]=\"true\" type=\"add\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"path-list master-entity-list\" (keydown)=\"onPathsKeypress($event)\" #pathList>\n                <signpost *ngIf=\"paths().length === 0\">\n                    <span>No paths have been created.</span>\n                    <a (click)=\"addPathDialog.open(document, '/')\">Add a path</a>\n                </signpost>\n\n                <div class=\"api-path {{ pathClasses(path) }}\" *ngFor=\"let path of paths()\">\n                    <div class=\"api-path-item\" path-item [path]=\"path.getPath()\" (click)=\"pathList.focus() ; selectPath(path)\"\n                         (contextmenu)=\"showPathContextMenu($event, path)\"></div>\n                    <collaborator-aggregate [nodePath]=\"asNodePath(path)\"></collaborator-aggregate>\n                    <validation-aggregate [models]=\"[path]\" *ngIf=\"shouldShowValidationAggregate()\"></validation-aggregate>\n                </div>\n            </div>\n        </section>\n\n        <!-- Data Types Section -->\n        <section type=\"definition\" label=\"Data Types\" [counterItems]=\"definitions()\" [inForm]=\"false\"\n                 [collaborationNodePath]=\"definitionsPath()\"\n                 contextHelp=\"It is often necessary for many operations to return the same type of data (or a list of that same data type).  Rather than define the same data type multiple times within each operation, you can create named Data Types in this section.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddDefinitionEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Data Type\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importDataTypes()\" [pullRight]=\"true\" type=\"import\" title=\"Import Data Type\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"definition-list master-entity-list\" (keydown)=\"onDefinitionsKeypress($event)\" #defList>\n                <signpost *ngIf=\"definitions().length === 0\">\n                    <span>No reusable types have been created.</span>\n                    <a (click)=\"openAddDefinitionEditor()\">Add a data type</a>\n                </signpost>\n\n                <div definition-item *ngFor=\"let def of definitions()\" class=\"api-definition {{ definitionClasses(def) }}\" [schema]=\"def\"\n                     (click)=\"defList.focus() ; selectDefinition(def)\" (contextmenu)=\"showDefinitionContextMenu($event, def)\"></div>\n            </div>\n        </section>\n\n        <!-- Responses Section -->\n        <section type=\"response\" label=\"Responses\" [counterItems]=\"responses()\" [inForm]=\"false\"\n                 [collaborationNodePath]=\"responsesPath()\"\n                 contextHelp=\"Define re-usable response definition in this section, allowing quick re-use across multiple operations.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddResponseEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Response\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importResponses()\" [pullRight]=\"true\" type=\"import\" title=\"Import Response\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"response-list master-entity-list\" (keydown)=\"onResponsesKeypress($event)\" #respList>\n                <signpost *ngIf=\"responses().length === 0\">\n                    <span>No reusable responses have been created.</span>\n                    <a (click)=\"openAddResponseEditor()\">Add a response</a>\n                </signpost>\n\n                <div response-item *ngFor=\"let resp of responses()\" class=\"api-response {{ responseClasses(resp) }}\" [response]=\"resp\"\n                     (click)=\"respList.focus() ; selectResponse(resp)\" (contextmenu)=\"showResponseContextMenu($event, resp)\"></div>\n            </div>\n        </section>\n\n    </div>\n\n    <!-- Dialogs -->\n    <add-path-dialog #addPathDialog (onAdd)=\"addPath($event)\"></add-path-dialog>\n    <clone-path-dialog #clonePathDialog (onClone)=\"clonePath($event)\"></clone-path-dialog>\n    <rename-path-dialog #renamePathDialog (onRename)=\"renamePath($event)\"></rename-path-dialog>\n\n    <clone-definition-dialog #cloneDefinitionDialog (onClone)=\"cloneDefinition($event)\"></clone-definition-dialog>\n    <rename-entity-dialog #renameDefinitionDialog\n                          type=\"Data Type\"\n                          title=\"Rename Data Type\"\n                          warning=\"Renaming a Data Type will also update any references to the type elsewhere in the API (e.g. responses and request bodies).\"\n                          validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                          validationError=\"Enter a valid name (only alpha-numeric characters, ., - and _ are allowed - no whitespace).\"\n                          (onRename)=\"renameDefinition($event)\"></rename-entity-dialog>\n\n    <clone-response-definition-dialog #cloneResponseDialog (onClone)=\"cloneResponse($event)\"></clone-response-definition-dialog>\n    <rename-entity-dialog #renameResponseDialog\n                          type=\"Response\"\n                          title=\"Rename Response\"\n                          warning=\"Renaming a Response will also update any references to it elsewhere in the API.\"\n                          validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                          validationError=\"Enter a valid name (only alpha-numeric characters, ., - and _ are allowed - no whitespace).\"\n                          (onRename)=\"renameResponse($event)\"></rename-entity-dialog>\n</div>\n","styles":[".editor-master .editor-outline .master-entity-list{border:1px solid transparent}.editor-master .editor-outline .master-entity-list:focus{outline:none}"]}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"onImportComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":5}}]}],"addPathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":98,"character":5},"arguments":["addPathDialog",{"static":true}]}]}],"clonePathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":99,"character":5},"arguments":["clonePathDialog",{"static":true}]}]}],"renamePathDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":100,"character":5},"arguments":["renamePathDialog",{"static":true}]}]}],"cloneDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":102,"character":5},"arguments":["cloneDefinitionDialog",{"static":true}]}]}],"renameDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":103,"character":5},"arguments":["renameDefinitionDialog",{"static":true}]}]}],"cloneResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":105,"character":5},"arguments":["cloneResponseDialog",{"static":true}]}]}],"renameResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":106,"character":5},"arguments":["renameResponseDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":123,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"onPathsKeypress":[{"__symbolic":"method"}],"onDefinitionsKeypress":[{"__symbolic":"method"}],"onResponsesKeypress":[{"__symbolic":"method"}],"handleArrowKeypress":[{"__symbolic":"method"}],"paths":[{"__symbolic":"method"}],"definitions":[{"__symbolic":"method"}],"definitionsPath":[{"__symbolic":"method"}],"responses":[{"__symbolic":"method"}],"responsesPath":[{"__symbolic":"method"}],"isValidPathItem":[{"__symbolic":"method"}],"isValidDefinition":[{"__symbolic":"method"}],"isValidResponse":[{"__symbolic":"method"}],"selectMain":[{"__symbolic":"method"}],"selectPath":[{"__symbolic":"method"}],"deselectPath":[{"__symbolic":"method"}],"selectDefinition":[{"__symbolic":"method"}],"deselectDefinition":[{"__symbolic":"method"}],"selectResponse":[{"__symbolic":"method"}],"deselectResponse":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"getCurrentPathSelection":[{"__symbolic":"method"}],"addPath":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isMainSelected":[{"__symbolic":"method"}],"isContexted":[{"__symbolic":"method"}],"addDefinition":[{"__symbolic":"method"}],"addResponse":[{"__symbolic":"method"}],"exampleAsObject":[{"__symbolic":"method"}],"getDefinitionByName":[{"__symbolic":"method"}],"getResponseByName":[{"__symbolic":"method"}],"filterAll":[{"__symbolic":"method"}],"showPathContextMenu":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":540,"character":5},"arguments":["document:click",["$event"]]}]}],"closeContextMenu":[{"__symbolic":"method"}],"newPath":[{"__symbolic":"method"}],"deletePath":[{"__symbolic":"method"}],"clonePath":[{"__symbolic":"method"}],"showDefinitionContextMenu":[{"__symbolic":"method"}],"showResponseContextMenu":[{"__symbolic":"method"}],"deleteDefinition":[{"__symbolic":"method"}],"deleteResponse":[{"__symbolic":"method"}],"cloneDefinition":[{"__symbolic":"method"}],"cloneResponse":[{"__symbolic":"method"}],"renameDefinition":[{"__symbolic":"method"}],"renameResponse":[{"__symbolic":"method"}],"definitionName":[{"__symbolic":"method"}],"renamePath":[{"__symbolic":"method"}],"hasValidationProblem":[{"__symbolic":"method"}],"entityClasses":[{"__symbolic":"method"}],"pathClasses":[{"__symbolic":"method"}],"definitionClasses":[{"__symbolic":"method"}],"responseClasses":[{"__symbolic":"method"}],"openAddDefinitionEditor":[{"__symbolic":"method"}],"openAddResponseEditor":[{"__symbolic":"method"}],"asNodePath":[{"__symbolic":"method"}],"shouldShowValidationAggregate":[{"__symbolic":"method"}],"importsEnabled":[{"__symbolic":"method"}],"importDataTypes":[{"__symbolic":"method"}],"importResponses":[{"__symbolic":"method"}]}},"ɵci":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":40,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"generateRESTResourceCommands":[{"__symbolic":"method"}],"canPluralize":[{"__symbolic":"method"}]}},"ɵcj":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":77,"character":1},"arguments":[{"selector":"aaimaster","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":81,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":82,"character":21},"member":"OnPush"},"template":"<div class=\"editor-master\">\n    <!-- Channel Context Menu -->\n    <ul id=\"channel-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'channel'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameChannel()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"cloneChannel()\">\n                <span class=\"fa fa-clone\"></span>\n                <span>Clone</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteChannel()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Data Type Context Menu -->\n    <ul id=\"definition-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'definition'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameDefinition()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"cloneDefinition()\">\n                <span class=\"fa fa-clone\"></span>\n                <span>Clone</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteDefinition()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Operation Trait Context Menu -->\n    <ul id=\"operationtrait-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'operationTrait'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameOperationTrait()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteOperationTrait()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Message Trait Context Menu -->\n    <ul id=\"messagetrait-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'messageTrait'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameMessageTrait()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteMessageTrait()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Message Context Menu -->\n    <ul id=\"message-context-menu\" class=\"dropdown-menu context-menu\" *ngIf=\"contextMenuType === 'message'\"\n        (window:keydown)=\"onGlobalKeyDown($event)\"\n        [style.left]=\"contextMenuPos.left\" [style.top]=\"contextMenuPos.top\">\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"renameMessage()\">\n                <span class=\"fa fa-pencil-square-o\"></span>\n                <span>Rename</span>\n            </a>\n        </li>\n        <li class=\"divider\"></li>\n        <li>\n            <a href=\"#\" onclick=\"return false\" (click)=\"deleteMessage()\">\n                <span class=\"pficon pficon-delete\"></span>\n                <span>Delete</span>\n            </a>\n        </li>\n    </ul>\n\n    <!-- Search - Used to Filter Channels and Data Type -->\n    <div class=\"editor-search\">\n        <search [placeholder]=\"'Search everything...'\" [searchId]=\"'masterSearch'\" (onSearch)=\"filterAll($event)\"></search>\n    </div>\n\n    <!-- Outline - Channels, Data Types, Traits -->\n    <div class=\"editor-outline\">\n        <!-- Channels Section -->\n        <section type=\"channel\" label=\"Channels\" [counterItems]=\"channels()\" [inForm]=\"false\" \n                    collaborationNodePath=\"/channels\"\n                    contextHelp=\"The core of any Async API is the set of channesl it exposes. Each channels is of the form 'channel' and can support either Publish or Subscribe operations.\">\n            <span actions>\n                <icon-button (onClick)=\"addChannelDialog.open(document, getCurrentChannelSelection())\" [pullRight]=\"true\" type=\"add\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"channel-list master-entity-list\" (keydown)=\"onChannelsKeypress($event)\" #channelList>\n                <signpost *ngIf=\"!hasChannels()\">\n                    <span>No channels have been created.</span>\n                    <a (click)=\"addChannelDialog.open(document, '')\">Add a channel</a>\n                </signpost>\n\n                <div class=\"api-channel {{ channelClasses(channel) }}\" *ngFor=\"let channel of channels()\">\n                    <div class=\"api-channel-item\" path-item [path]=\"channel.getName()\" (click)=\"channelList.focus() ; selectChannel(channel)\"\n                        (contextmenu)=\"showChannelContextMenu($event, channel)\"></div>\n                </div>\n            </div>\n        </section>\n\n        <!-- Data Types Section -->\n        <section type=\"definition\" label=\"Data Types\" [counterItems]=\"definitions()\" [inForm]=\"false\"\n                    [collaborationNodePath]=\"definitionsPath()\"\n                    contextHelp=\"It is often necessary for many operations to publish/consume the same type of data (or a list of that same data type).  Rather than define the same data type multiple times within each operation, you can create named Data Types in this section.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddDefinitionEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Data Type\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importDataTypes()\" [pullRight]=\"true\" type=\"import\" title=\"Import Data Type\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"definition-list master-entity-list\" (keydown)=\"onDefinitionsKeypress($event)\" #defList>\n                <signpost *ngIf=\"!hasDefinitions()\">\n                    <span>No reusable types have been created.</span>\n                    <a (click)=\"openAddDefinitionEditor()\">Add a data type</a>\n                </signpost>\n\n                <div definition-item *ngFor=\"let def of definitions()\" class=\"api-definition {{ definitionClasses(def) }}\" [schema]=\"def\"\n                        (click)=\"defList.focus() ; selectDefinition(def)\" (contextmenu)=\"showDefinitionContextMenu($event, def)\"></div>\n            </div>\n        </section>\n\n        <!-- Messages Section -->\n        <section type=\"message\" label=\"Messages\" [counterItems]=\"messages()\" [inForm]=\"false\"\n                 collaborationNodePath=\"/components/messages\"\n                 contextHelp=\"Reusable message properties (headers, correlationId, contentType, ...) can be defined through Messages.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddMessageEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Message\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importMessages()\" [pullRight]=\"true\" type=\"import\" title=\"Import Messages\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"message-list master-entity-list\" (keydown)=\"onDefinitionsKeypress($event)\" #msgList>\n                <signpost *ngIf=\"!hasMessages()\">\n                    <span>No messages have been created.</span>\n                    <a (click)=\"openAddMessageEditor()\">Add a message</a>\n                </signpost>\n\n                <div class=\"api-message {{ messageClasses(message) }}\" *ngFor=\"let message of messages()\">\n                    <div class=\"api-message-item\" message-item [message]=\"message\"\n                         (click)=\"msgList.focus() ; selectMessage(message)\"\n                         (contextmenu)=\"showMessageContextMenu($event, message)\"></div>\n                </div>\n            </div>\n        </section>\n\n        <!-- Operation Traits Section -->\n        <section type=\"operationtrait\" label=\"Operation Traits\" [counterItems]=\"operationTraits()\" [inForm]=\"false\"\n                    collaborationNodePath=\"/components/operationTraits\"\n                    contextHelp=\"Reusable operation properties (tags, bindings, ...) can be defined through Operation Traits.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddOperationTraitEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Operation Trait\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importMessageTraits()\" [pullRight]=\"true\" type=\"import\" title=\"Import Message Traits\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"operationtrait-list master-entity-list\" (keydown)=\"onDefinitionsKeypress($event)\" #opTraitList>\n                <signpost *ngIf=\"!hasOperationTraits()\">\n                    <span>No operation traits have been created.</span>\n                    <a (click)=\"openAddOperationTraitEditor()\">Add an operation trait</a>\n                </signpost>\n\n                <div class=\"api-operationtrait {{ operationTraitClasses(operationTrait) }}\" *ngFor=\"let operationTrait of operationTraits()\">\n                    <div class=\"api-operationtrait-item\" operationtrait-item [operationTrait]=\"operationTrait\"\n                        (click)=\"opTraitList.focus() ; selectOperationTrait(operationTrait)\"\n                        (contextmenu)=\"showOperationTraitContextMenu($event, operationTrait)\"></div>\n                </div>\n            </div>\n        </section>\n\n        <!-- Message Traits Section -->\n        <section type=\"messagetrait\" label=\"Message Traits\" [counterItems]=\"messageTraits()\" [inForm]=\"false\"\n                    collaborationNodePath=\"/components/messageTraits\"\n                    contextHelp=\"Reusable message properties (headers, correlationId, contentType, ...) can be defined through Message Traits.\">\n            <span actions>\n                <icon-button (onClick)=\"openAddMessageTraitEditor()\" [pullRight]=\"true\" type=\"add\" title=\"Create Message Trait\"></icon-button>\n                <icon-button *ngIf=\"importsEnabled()\" (onClick)=\"importMessageTraits()\" [pullRight]=\"true\" type=\"import\" title=\"Import Message Traits\"></icon-button>\n            </span>\n            <div body tabindex=\"0\" class=\"messagetrait-list master-entity-list\" (keydown)=\"onDefinitionsKeypress($event)\" #msgTraitList>\n                <signpost *ngIf=\"!hasMessageTraits()\">\n                    <span>No message traits have been created.</span>\n                    <a (click)=\"openAddMessageTraitEditor()\">Add a message trait</a>\n                </signpost>\n\n                <div class=\"api-messagetrait {{ messageTraitClasses(messageTrait) }}\" *ngFor=\"let messageTrait of messageTraits()\">\n                    <div class=\"api-messagetrait-item\" messagetrait-item [messageTrait]=\"messageTrait\"\n                        (click)=\"msgTraitList.focus() ; selectMessageTrait(messageTrait)\"\n                        (contextmenu)=\"showMessageTraitContextMenu($event, messageTrait)\"></div>\n                </div>\n            </div>\n        </section>\n    </div>\n\n    <!-- Dialogs -->\n    <add-channel-dialog #addChannelDialog (onAdd)=\"addChannel($event)\"></add-channel-dialog>\n    <rename-entity-dialog #renameChannelDialog\n                          type=\"Channel\"\n                          title=\"Rename Channel\"\n                          warning=\"Renaming a Channel will also update its parameters.\"\n                          validationPattern=\"{{ channelNameRegex }}\"\n                          validationError=\"Enter a valid name (Channel names need to be valid URIs).\"\n                          (onRename)=\"renameChannel($event)\"></rename-entity-dialog>\n    <clone-channel-dialog #cloneChannelDialog (onClone)=\"cloneChannel($event)\"></clone-channel-dialog>\n\n    <clone-definition-dialog #cloneDefinitionDialog (onClone)=\"cloneDefinition($event)\"></clone-definition-dialog>\n    <rename-entity-dialog #renameDefinitionDialog\n                          type=\"Data Type\"\n                          title=\"Rename Data Type\"\n                          warning=\"Renaming a Data Type will also update any references to the type elsewhere in the API (e.g. operation payload bodies).\"\n                          validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                          validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                          (onRename)=\"renameDefinition($event)\"></rename-entity-dialog>\n\n    <rename-entity-dialog #renameMessageTraitDialog\n                          type=\"Message Trait\"\n                          title=\"Rename Message Trait\"\n                          warning=\"Renaming a Message Trait Type will also update any references to the trait elsewhere in the API (e.g. operation payloads).\"\n                          validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                          validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                          (onRename)=\"renameMessageTrait($event)\"></rename-entity-dialog>\n\n    <rename-entity-dialog #renameMessageDialog\n                          type=\"Message\"\n                          title=\"Rename Message\"\n                          warning=\"Renaming a Message will also update any references to the message elsewhere in the API (e.g. operation payloads).\"\n                          validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                          validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                          (onRename)=\"renameMessage($event)\"></rename-entity-dialog>\n</div>","styles":[".aai-editor .editor-master .editor-outline .api-operationtrait{padding-left:15px;font-size:14px}.aai-editor .editor-master .editor-outline .api-operationtrait.hover{cursor:pointer;background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-operationtrait.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-operationtrait.contexted,.aai-editor .editor-master .editor-outline .api-operationtrait.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-operationtrait.selected .label{transition:border-color .35s,box-shadow .35s}.aai-editor .editor-master .editor-outline .api-operationtrait.selected .label:hover{box-shadow:0 0 3px #646464;border:1px solid #666}.aai-editor .editor-master .editor-outline .api-operationtrait.selected .label.selected{border:1px solid #000;box-shadow:0 0 3px #141414}.api-operationtrait-item>*{margin-right:4px}.aai-editor .editor-master .editor-outline .api-messagetrait{padding-left:15px;font-size:14px}.aai-editor .editor-master .editor-outline .api-messagetrait.hover{cursor:pointer;background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-messagetrait.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-messagetrait.contexted,.aai-editor .editor-master .editor-outline .api-messagetrait.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-messagetrait.selected .label{transition:border-color .35s,box-shadow .35s}.aai-editor .editor-master .editor-outline .api-messagetrait.selected .label:hover{box-shadow:0 0 3px #646464;border:1px solid #666}.aai-editor .editor-master .editor-outline .api-messagetrait.selected .label.selected{border:1px solid #000;box-shadow:0 0 3px #141414}.api-messagetrait-item>*{margin-right:4px}.aai-editor .editor-master .editor-outline .api-message{padding-left:15px;font-size:14px}.aai-editor .editor-master .editor-outline .api-message.hover{cursor:pointer;background-color:#d1eaf7}.aai-editor .editor-master .editor-outline .api-message.selected{background-color:#a5d6ef;border-left:2px solid #39a5dc}.aai-editor .editor-master .editor-outline .api-message.contexted,.aai-editor .editor-master .editor-outline .api-message.contexted:hover{background-color:#ffcc87;border-left:2px dotted #e89f3d}.aai-editor .editor-master .editor-outline .api-message.selected .label{transition:border-color .35s,box-shadow .35s}.aai-editor .editor-master .editor-outline .api-message.selected .label:hover{box-shadow:0 0 3px #646464;border:1px solid #666}.aai-editor .editor-master .editor-outline .api-message.selected .label.selected{border:1px solid #000;box-shadow:0 0 3px #141414}.api-message-item>*{margin-right:4px}.editor-master .editor-outline .master-entity-list{border:1px solid transparent}.editor-master .editor-outline .master-entity-list:focus{outline:none}"]}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":5}}]}],"onImportComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":90,"character":5}}]}],"addChannelDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":99,"character":5},"arguments":["addChannelDialog",{"static":true}]}]}],"cloneChannelDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":100,"character":5},"arguments":["cloneChannelDialog",{"static":true}]}]}],"renameChannelDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":101,"character":5},"arguments":["renameChannelDialog",{"static":true}]}]}],"cloneDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":103,"character":5},"arguments":["cloneDefinitionDialog",{"static":true}]}]}],"renameDefinitionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":104,"character":5},"arguments":["renameDefinitionDialog",{"static":true}]}]}],"renameOperationTraitDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":106,"character":5},"arguments":["renameOperationTraitDialog"]}]}],"renameMessageTraitDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":107,"character":5},"arguments":["renameMessageTraitDialog",{"static":true}]}]}],"renameMessageDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":109,"character":5},"arguments":["renameMessageDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":129,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵck"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"onChannelsKeypress":[{"__symbolic":"method"}],"onDefinitionsKeypress":[{"__symbolic":"method"}],"handleArrowKeypress":[{"__symbolic":"method"}],"filterAll":[{"__symbolic":"method"}],"channels":[{"__symbolic":"method"}],"hasChannels":[{"__symbolic":"method"}],"definitions":[{"__symbolic":"method"}],"hasDefinitions":[{"__symbolic":"method"}],"operationTraits":[{"__symbolic":"method"}],"hasOperationTraits":[{"__symbolic":"method"}],"messageTraits":[{"__symbolic":"method"}],"messages":[{"__symbolic":"method"}],"hasMessageTraits":[{"__symbolic":"method"}],"hasMessages":[{"__symbolic":"method"}],"getDefinitionByName":[{"__symbolic":"method"}],"definitionsPath":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"getCurrentChannelSelection":[{"__symbolic":"method"}],"addChannel":[{"__symbolic":"method"}],"renameChannel":[{"__symbolic":"method"}],"cloneChannel":[{"__symbolic":"method"}],"deleteChannel":[{"__symbolic":"method"}],"isValidChannelItem":[{"__symbolic":"method"}],"addDefinition":[{"__symbolic":"method"}],"cloneDefinition":[{"__symbolic":"method"}],"renameDefinition":[{"__symbolic":"method"}],"deleteDefinition":[{"__symbolic":"method"}],"addOperationTrait":[{"__symbolic":"method"}],"renameOperationTrait":[{"__symbolic":"method"}],"deleteOperationTrait":[{"__symbolic":"method"}],"addMessageTrait":[{"__symbolic":"method"}],"renameMessageTrait":[{"__symbolic":"method"}],"deleteMessageTrait":[{"__symbolic":"method"}],"addMessage":[{"__symbolic":"method"}],"renameMessage":[{"__symbolic":"method"}],"deleteMessage":[{"__symbolic":"method"}],"exampleAsObject":[{"__symbolic":"method"}],"definitionName":[{"__symbolic":"method"}],"isValidDefinition":[{"__symbolic":"method"}],"selectMain":[{"__symbolic":"method"}],"selectChannel":[{"__symbolic":"method"}],"deselectChannel":[{"__symbolic":"method"}],"selectDefinition":[{"__symbolic":"method"}],"deselectDefinition":[{"__symbolic":"method"}],"selectOperationTrait":[{"__symbolic":"method"}],"deselectOperationTrait":[{"__symbolic":"method"}],"selectMessageTrait":[{"__symbolic":"method"}],"selectMessage":[{"__symbolic":"method"}],"deselectMessageTrait":[{"__symbolic":"method"}],"deselectMessage":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isMainSelected":[{"__symbolic":"method"}],"isContexted":[{"__symbolic":"method"}],"showChannelContextMenu":[{"__symbolic":"method"}],"showDefinitionContextMenu":[{"__symbolic":"method"}],"showOperationTraitContextMenu":[{"__symbolic":"method"}],"showMessageTraitContextMenu":[{"__symbolic":"method"}],"showMessageContextMenu":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":881,"character":5},"arguments":["document:click",["$event"]]}]}],"closeContextMenu":[{"__symbolic":"method"}],"hasValidationProblem":[{"__symbolic":"method"}],"entityClasses":[{"__symbolic":"method"}],"channelClasses":[{"__symbolic":"method"}],"definitionClasses":[{"__symbolic":"method"}],"operationTraitClasses":[{"__symbolic":"method"}],"messageTraitClasses":[{"__symbolic":"method"}],"messageClasses":[{"__symbolic":"method"}],"openAddDefinitionEditor":[{"__symbolic":"method"}],"openAddOperationTraitEditor":[{"__symbolic":"method"}],"openAddMessageTraitEditor":[{"__symbolic":"method"}],"openAddMessageEditor":[{"__symbolic":"method"}],"importsEnabled":[{"__symbolic":"method"}],"importDataTypes":[{"__symbolic":"method"}],"importMessageTraits":[{"__symbolic":"method"}],"importMessages":[{"__symbolic":"method"}]}},"ɵck":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"authType":[{"__symbolic":"method"}],"authToken":[{"__symbolic":"method"}],"authRefreshPeriod":[{"__symbolic":"method"}],"authData":[{"__symbolic":"method"}],"logoutUrl":[{"__symbolic":"method"}],"user":[{"__symbolic":"method"}],"apisType":[{"__symbolic":"method"}],"hubUrl":[{"__symbolic":"method"}],"editingUrl":[{"__symbolic":"method"}],"isMicrocksEnabled":[{"__symbolic":"method"}],"isAsyncAPIEnabled":[{"__symbolic":"method"}],"isGraphQLEnabled":[{"__symbolic":"method"}],"uiUrl":[{"__symbolic":"method"}],"isShareWithEveryoneEnabled":[{"__symbolic":"method"}],"channelNameValidation":[{"__symbolic":"method"}]}},"ɵcl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"add-path-dialog","template":"<!-- Add Path Dialog -->\n<div bsModal #addPathModal=\"bs-modal\" class=\"modal fade\" id=\"addPathModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"addPathModalLabel\"\n     role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addPathModalLabel\">Add Path</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter a new resource path below and then click Add.</p>\n                <form id=\"addpath-form\" class=\"form-horizontal\" (submit)=\"add()\" #addPathForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"path\">Path</label>\n                        <div class=\"col-sm-10\">\n                            <input #addPathInput name=\"path\" type=\"text\" id=\"path\" class=\"form-control\" placeholder=\"Enter a Path\"\n                                   pattern=\"(\\/[^{}\\/]*(\\{[a-zA-Z_][0-9a-zA-Z_]*\\})?)+\" required [(ngModel)]=\"path\"\n                                   (ngModelChange)=\"validatePath($event)\" #thepath=\"ngModel\">\n                            <div class=\"form-error-message error\" *ngIf=\"pathExists\">Path already exists.</div>\n                            <form-error-message [inputModel]=\"thepath\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid path.</form-error-message>\n                            <form-error-message [inputModel]=\"thepath\" [type]=\"'required'\">Path is required.</form-error-message>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addPathForm.form.valid || pathExists\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"addPathModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":29,"character":5},"arguments":["addPathModal"]}]}],"addPathInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":30,"character":5},"arguments":["addPathInput"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}],"validatePath":[{"__symbolic":"method"}]}},"ɵcm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"add-channel-dialog","template":"<!-- Add Channel Dialog -->\n<div bsModal #addChannelModal=\"bs-modal\" class=\"modal fade\" id=\"addChannelModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"addChannelModalLabel\" role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\" (onHidden)=\"close()\"\n    *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addChannelModalLabel\">Add Channel</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter a new channel below and then click Add.</p>\n                <form id=\"addchannel-form\" class=\"form-horizontal\" (submit)=\"add()\" #addChannelForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"channel\">Channel</label>\n                        <div class=\"col-sm-10\">\n                            <input #addChannelInput name=\"channel\" type=\"text\" id=\"channel\" class=\"form-control\" placeholder=\"Enter a Channel\" pattern=\"{{channelValidation()}}\" required [(ngModel)]=\"channel\" (ngModelChange)=\"validateChannel($event)\" #thechannel=\"ngModel\">\n                            <div class=\"form-error-message error\" *ngIf=\"channelExists\">Channel already exists.</div>\n                            <form-error-message [inputModel]=\"thechannel\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid channel.</form-error-message>\n                            <form-error-message [inputModel]=\"thechannel\" [type]=\"'required'\">Channel is required.</form-error-message>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addChannelForm.form.valid || channelExists\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"addChannelModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":31,"character":5},"arguments":["addChannelModal"]}]}],"addChannelInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["addChannelInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵck"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}],"validateChannel":[{"__symbolic":"method"}],"channelValidation":[{"__symbolic":"method"}]}},"ɵcn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"add-oneof-in-message-dialog","template":"<!-- Add refSelected in Message Dialog -->\n<div bsModal #addReferenceModal=\"bs-modal\" class=\"modal fade\" id=\"addReferenceModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"addReferenceModal\" role=\"dialog\" aria-hidden=\"true\" [config]=\"{ backdrop: true }\" (onHidden)=\"close()\"\n    *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addReferenceModalLabel\">Add a message to the operation </h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Choose a message below and then click Add.</p>\n                <form id=\"addReference-form\" class=\"form-horizontal\" (submit)=\"add()\" #addReferenceForm=\"ngForm\" data-dismiss=\"modal\">\n\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-3 control-label required\" for=\"mt\">Reference </label>\n                        <div class=\"col-sm-9\">\n                            <drop-down id=\"mt\" [id]=\"'ref-message'\" [value]=\"refSelected\" [options]=\"referenceOptions()\"\n                                       (onValueChange)=\"refSelected = $event\" noSelectionLabel=\"Choose a message\"></drop-down>\n                        </div>\n                    </div>\n\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addReferenceForm.form.valid || messagesFromDocExists\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>"}]}],"members":{"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":5}}]}],"addReferenceModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":38,"character":5},"arguments":["addReferenceModal"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵck"}]}],"open":[{"__symbolic":"method"}],"referenceOptions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}]}},"ɵco":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"parameter-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":58,"character":19},"member":"None"},"template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"{{ _paramType }}Parameter\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" [heading]=\"heading()\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span *ngIf=\"_paramType === 'query'\">Enter a name and description for the new query parameter.</span>\n                <span *ngIf=\"_paramType === 'header'\">Enter a name and description for the new header parameter.</span>\n                <span *ngIf=\"_paramType === 'cookie'\">Enter a name and description for the new cookie parameter.</span>\n                <span *ngIf=\"_paramType === 'formData'\">Enter a name and description for the new form data parameter.</span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"qp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"qp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique parameter name.\" pattern=\"[a-zA-Z0-9\\.\\-_\\$]+\"\n                           (ngModelChange)=\"paramExists = params.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"paramExists\">Parameter named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section type-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Enter Type Information <span class=\"optional empty\">(optional)</span></h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter information about the parameter's type (and whether it is required).\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <div>\n                    <div class=\"param-type\">\n                        <span class=\"paramIs-label dropdown-label\">Parameter is</span>\n                        <drop-down [id]=\"'api-param-required'\"\n                                   [value]=\"required()\"\n                                   [options]=\"requiredOptions()\"\n                                   (onValueChange)=\"changeRequired($event)\"\n                                   [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        <span class=\"strong type-label dropdowns-label\">and has type</span>\n                        <drop-down [id]=\"'api-param-type'\"\n                                   [value]=\"type()\"\n                                   [options]=\"typeOptions()\"\n                                   (onValueChange)=\"changeType($event)\"\n                                   [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n                        <span class=\"of-label dropdowns-label\" *ngIf=\"type() === 'array'\">of</span>\n                        <drop-down *ngIf=\"type() === 'array'\"\n                                   [id]=\"'api-param-type-of'\"\n                                   [value]=\"typeOf()\"\n                                   [options]=\"typeOfOptions()\"\n                                   (onValueChange)=\"changeTypeOf($event)\"\n                                   [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n                        <span class=\"as-label dropdowns-label\" *ngIf=\"shouldShowFormattedAs()\">as</span>\n                        <drop-down *ngIf=\"shouldShowFormattedAs()\"\n                                   [id]=\"'api-param-type-as'\"\n                                   [value]=\"typeAs()\"\n                                   [options]=\"typeAsOptions()\"\n                                   (onValueChange)=\"changeTypeAs($event)\"\n                                   [noSelectionLabel]=\"'Format'\"></drop-down>\n                    </div>\n                    <div class=\"param-enum\" id=\"param-enum\" *ngIf=\"shouldShowEnumEditor()\">\n                        <span class=\"enum-label\">Enum Values: </span>\n                        <inline-array-editor *ngIf=\"shouldShowEnumEditor()\" [value]=\"model.type.enum_\" (onChange)=\"changeTypeEnum($event)\"\n                                             noValueMessage=\"Click to define enum values.\"></inline-array-editor>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[".type-section .param-required{margin-bottom:20px}.type-section .param-type{margin-bottom:10px}.type-section .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.type-section .param-enum .enum-label{display:block;font-weight:600}.type-section .param-enum .inline-array-editor>.form-control-pf-edit>.form-control-pf-textbox>input{width:100%;min-width:auto}"]}]}],"members":{"setParamType":[{"__symbolic":"method"}],"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getParams":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"typeOptions":[{"__symbolic":"method"}],"typeOf":[{"__symbolic":"method"}],"typeOfOptions":[{"__symbolic":"method"}],"typeAs":[{"__symbolic":"method"}],"typeAsOptions":[{"__symbolic":"method"}],"shouldShowEnumEditor":[{"__symbolic":"method"}],"shouldShowFormattedAs":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"changeTypeEnum":[{"__symbolic":"method"}],"changeTypeOf":[{"__symbolic":"method"}],"changeTypeAs":[{"__symbolic":"method"}],"heading":[{"__symbolic":"method"}],"addRefTypes":[{"__symbolic":"method"}]}},"ɵcp":{"__symbolic":"class","arity":2,"members":{"open":[{"__symbolic":"method"}],"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"onKeypress":[{"__symbolic":"method"}],"isGlobalContext":[{"__symbolic":"method"}]}},"ɵcq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":158,"character":1},"arguments":[{"selector":"entity-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":162,"character":19},"member":"None"},"template":"<div class=\"entity-editor {{ entityType }}-entity-editor container-fluid\" (window:keydown)=\"onGlobalKeyDown($event)\">\n    <a class=\"close-button\" (click)=\"onClose.emit()\"><span class=\"pficon pficon-close\"></span></a>\n    <form id=\"entity-editor-form\" class=\"entity-editor-form\" #entityEditorForm=\"ngForm\">\n        <div class=\"row-fluid header\">\n            <div class=\"col-md-12\">\n                <h1 class=\"title\">{{ heading }}</h1>\n            </div>\n            <div class=\"context\" *ngIf=\"contextIs === 'operation' || contextIs === 'pathItem'\">\n                <div class=\"col-md-6 path\">\n                    <div class=\"context-label\">Path</div>\n                    <div path-item class=\"context-value\" [path]=\"pathItem().getPath()\"></div>\n                </div>\n                <div class=\"col-md-6 operation\" *ngIf=\"contextIs === 'operation'\">\n                    <span class=\"context-label\">Operation</span>\n                    <span class=\"label\"\n                          [class.label-info]=\"operation().getMethod() !== 'get' && operation().getMethod() !== 'post' && operation().getMethod() !== 'delete'\"\n                          [class.label-success]=\"operation().getMethod() === 'get'\"\n                          [class.label-warning]=\"operation().getMethod() === 'post'\"\n                          [class.label-danger]=\"operation().getMethod() === 'delete'\">{{ operation().getMethod() }}</span>\n                </div>\n            </div>\n            <div class=\"context\" *ngIf=\"contextIs === 'dataType'\">\n                <div class=\"col-md-6 dataType\">\n                    <div class=\"context-label\">Data Type</div>\n                    <div class=\"context-value\">\n                        <span class=\"fa fa-code\"></span>\n                        <span>{{ dataTypeName() }}</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"row-fluid required-fields-notification divider-section\">\n            <div class=\"col-md-12\">\n                <div class=\"action-header\">\n                    <div class=\"notice\">\n                        <div *ngIf=\"showRequiredFieldsMessage\" class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                    </div>\n                    <div class=\"actions\">\n                        <button class=\"btn btn-default\" (click)=\"onClose.emit()\">Cancel</button>\n                        <button class=\"btn btn-primary\" (click)=\"onSave.emit()\" [disabled]=\"!valid || !entityEditorForm.valid\">Save</button>\n                    </div>\n                </div>\n                <hr />\n            </div>\n        </div>\n\n        <ng-content></ng-content>\n\n        <div class=\"row-fluid divider-section\">\n            <div class=\"col-md-12\">\n                <hr />\n            </div>\n        </div>\n        <div class=\"row-fluid actions-section\">\n            <div class=\"col-md-12\">\n                <div class=\"actions\">\n                    <button class=\"btn btn-default\" (click)=\"onClose.emit()\">Cancel</button>\n                    <button class=\"btn btn-primary\" (click)=\"onSave.emit()\" [disabled]=\"!valid || !entityEditorForm.valid\">Save</button>\n                </div>\n            </div>\n        </div>\n    </form>\n</div>\n","styles":[".action-header{display:flex;width:60%;min-width:400px}.action-header .notice{flex-basis:50%}.action-header .actions{text-align:right;flex-basis:50%}.action-header .actions>button{text-align:right;flex-basis:50%;margin-left:4px}.required-fields-notification hr{margin-top:8px}.actions-section .actions>button{margin-left:4px}.entity-editor .entity-editor-form .context .context-value span.fa{margin-right:3px}"]}]}],"members":{"entityType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":166,"character":5}}]}],"heading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":167,"character":5}}]}],"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":5}}]}],"showRequiredFieldsMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":5}}]}],"valid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":5}}]}],"dirty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":5}}]}],"onSave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":173,"character":5}}]}],"onClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":174,"character":5}}]}],"ngOnChanges":[{"__symbolic":"method"}],"expandContext":[{"__symbolic":"method"}],"pathItem":[{"__symbolic":"method"}],"operation":[{"__symbolic":"method"}],"dataType":[{"__symbolic":"method"}],"dataTypeName":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}]}},"ɵcr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"add-response-dialog","template":"<!-- Add Response Dialog -->\n<div bsModal #addResponseModal=\"bs-modal\" class=\"modal fade\" id=\"addResponseModal\" tabindex=\"-1\" role=\"dialog\" [config]=\"{ backdrop: true }\"\n     aria-labelledby=\"addResponseModalLabel\" role=\"dialog\" aria-hidden=\"true\" (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addResponseModalLabel\">Add Response</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter information about the new response below and then click Add.</p>\n                <form id=\"addResponse-form\" class=\"form-horizontal\" (submit)=\"add()\" #addResponseForm=\"ngForm\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-5 control-label required\" for=\"statusCodeDropDown\">Response Status Code</label>\n                        <div class=\"col-sm-7\">\n                            <drop-down id=\"statusCodeDropDown\" [id]=\"'statusCodeDropDown'\"\n                                [options]=\"getStatusCodeDropDownOptions()\"\n                                [value]=\"getStatusCode()\"\n                                (onValueChange)=\"setStatusCode($event)\"\n                                [noSelectionLabel]=\"'Choose HTTP Status Code'\"></drop-down>\n                            <div class=\"form-error-message error\" *ngIf=\"codeExists\">Response with this code already exists.</div>\n                        </div>\n                    </div>\n\n                    <div class=\"form-group\" *ngIf=\"hasReferences()\">\n                        <label class=\"col-sm-5 control-label\" for=\"refDropDown\">Response Definition <i>(optional)</i></label>\n                        <div class=\"col-sm-7\">\n                            <drop-down id=\"refDropDown\" [id]=\"'refDropDown'\"\n                                       [options]=\"getReferenceDropDownOptions()\"\n                                       [value]=\"getReference()\"\n                                       (onValueChange)=\"setReference($event)\"\n                                       [noSelectionLabel]=\"'Response Reference.'\"></drop-down>\n                            <a *ngIf=\"refName\" (click)=\"setReference(null)\">(reset)</a>\n                        </div>\n                    </div>\n\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!isValid()\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":5}}]}],"addResponseModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":38,"character":5},"arguments":["addResponseModal"]}]}],"open":[{"__symbolic":"method"}],"getResponseDefinitionNames":[{"__symbolic":"method"}],"hasReferences":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"isAprilFirst":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"getStatusCodeDropDownOptions":[{"__symbolic":"method"}],"getReferenceDropDownOptions":[{"__symbolic":"method"}],"getStatusCode":[{"__symbolic":"method"}],"setStatusCode":[{"__symbolic":"method"}],"getReference":[{"__symbolic":"method"}],"setReference":[{"__symbolic":"method"}]}},"ɵcs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"clone-response-dialog","template":"<!-- Clone Response Dialog -->\n<div bsModal #cloneResponseModal=\"bs-modal\" class=\"modal fade\" id=\"cloneResponseModal\" tabindex=\"-1\" role=\"dialog\"\n     aria-labelledby=\"cloneResponseModalLabel\" role=\"dialog\" aria-hidden=\"true\" (onHidden)=\"close()\" *ngIf=\"isOpen()\"\n     [config]=\"{ backdrop: true }\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"cloneResponseModalLabel\">Clone Response</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter information about the new response below and then click Clone.</p>\n                <form id=\"cloneResponse-form\" class=\"form-horizontal\" (submit)=\"clone()\" #cloneResponseForm=\"ngForm\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-5 control-label required\" for=\"statusCodeDropDown\">Response Status Code</label>\n                        <div class=\"col-sm-7\">\n                            <drop-down id=\"statusCodeDropDown\" [id]=\"'statusCodeDropDown'\"\n                                [options]=\"getStatusCodeDropDownOptions()\"\n                                [value]=\"getStatusCode()\"\n                                (onValueChange)=\"setStatusCode($event)\"\n                                [noSelectionLabel]=\"'Choose HTTP Status Code'\"></drop-down>\n                            <div class=\"form-error-message error\" *ngIf=\"codeExists\">Response with this code already exists.</div>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"clone()\" [disabled]=\"!isValid()\">Clone</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onClone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}],"addResponseModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["cloneResponseModal"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"getStatusCodeDropDownOptions":[{"__symbolic":"method"}],"getStatusCode":[{"__symbolic":"method"}],"setStatusCode":[{"__symbolic":"method"}]}},"ɵct":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"redo-icon","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":35,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"template":"<div class=\"redo-icon\">\n    <button class=\"btn btn-link nav-item-iconic\" [class.enabled]=\"isRedoable()\"\n            title=\"Click to redo the last change.\" (click)=\"onClick.emit(true)\">\n        <span class=\"fa fa-share\"></span>\n    </button>\n</div>","styles":[".redo-icon{margin:2px;height:38px;line-height:32px}.redo-icon button{color:#c6c6c6;font-size:19px;margin:0;height:38px;padding-left:10px;padding-right:10px;cursor:default}.redo-icon button:focus,.redo-icon button:hover{color:#c6c6c6}.redo-icon button.enabled{color:#666;cursor:pointer}.redo-icon button.enabled:hover{background-color:#d1eaf7}.redo-icon button.enabled:active{background-color:#a5d6ef}"]}]}],"members":{"commandStackCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"onClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":43,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"isRedoable":[{"__symbolic":"method"}]}},"ɵcu":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"path-info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"In this section you can easily edit the Summary and Description of the Path Item.\"\n         [collaborationNodePath]=\"pathInfoPaths()\"\n         [validationModels]=\"[path]\" [validationProperties]=\"['description']\" [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <!-- Summary -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"path\" [shallow]=\"true\" [property]=\"'summary'\"></validation-problem>\n            <span>Summary</span>\n        </div>\n        <div class=\"section-field summary\">\n            <pf-inline-text-editor [value]=\"path.summary\" [noValueMessage]=\"'No Summary'\"\n                                   [labelClass]=\"'api-item-title'\"\n                                   [inputClass]=\"'api-item-editor api-summary-editor api-item-title'\"\n                                   [baseNode]=\"path\" nodePath=\"summary\"\n                                   (onChange)=\"changeSummary($event)\"></pf-inline-text-editor>\n        </div>\n\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"path\" property=\"description\" [shallow]=\"true\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"path.description\"\n                                    [labelClass]=\"'api-path-description api-item-description'\"\n                                    [formClass]=\"'api-path-description-editor-form'\"\n                                    [inputClass]=\"'api-item-editor api-description-editor api-path-description api-item-description'\"\n                                    [baseNode]=\"path\" nodePath=\"description\"\n                                    [noValueMessage]=\"'No description.'\" (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"pathInfoPaths":[{"__symbolic":"method"}],"changeSummary":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}]}},"ɵcv":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":43,"character":1},"arguments":[{"selector":"operationtrait-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"operationTrait\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Operation Trait\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new operation trait.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"rsp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"rsp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique operation trait name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"traitExists = operationTraits.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"traitExists\">Operation Trait named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[""]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getOperationTraits":[{"__symbolic":"method"}]}},"ɵcw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"channel-info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"In this section you can easily edit the Summary and Description of the Channel Item.\"\n         [collaborationNodePath]=\"channelInfoPaths()\"\n         [validationModels]=\"[channel]\" [validationProperties]=\"['description']\" [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"channel\" property=\"description\" [shallow]=\"true\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"channel.description\"\n                                    [labelClass]=\"'api-path-description api-item-description'\"\n                                    [formClass]=\"'api-path-description-editor-form'\"\n                                    [inputClass]=\"'api-item-editor api-description-editor api-path-description api-item-description'\"\n                                    [baseNode]=\"channel\" nodePath=\"description\"\n                                    [noValueMessage]=\"'No description.'\" (onChange)=\"changeDescription($event)\"></inline-markdown-editor>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"channel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"channelInfoPaths":[{"__symbolic":"method"}],"changeDescription":[{"__symbolic":"method"}]}},"ɵcx":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":34,"character":1},"arguments":[{"selector":"response-tab","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":38,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":21},"member":"OnPush"},"template":"<div class=\"response\">\n    <div class=\"response-description\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Description</div>\n        <div class=\"problem-flex\">\n            <validation-problem [model]=\"response\" property=\"description\"></validation-problem>\n            <div class=\"grow\">\n                <inline-markdown-editor [value]=\"response.description\" noValueMessage=\"No description.\"\n                                        [baseNode]=\"response\" nodePath=\"description\"\n                                        (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n            </div>\n        </div>\n    </div>\n    <div class=\"response-type\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Response Type</div>\n        <div class=\"problem-flex\">\n            <validation-problem [model]=\"response.schema\"></validation-problem>\n            <div class=\"grow\">\n                <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"false\"\n                                    (onChange)=\"changeType($event)\"></schema-type-editor>\n            </div>\n        </div>\n    </div>\n    <div class=\"response-examples\" *ngIf=\"!isRef()\">\n        <div class=\"form-label\">Examples</div>\n        <div class=\"problem-flex\">\n            <validation-problem [model]=\"response.examples\"></validation-problem>\n            <div class=\"grow\">\n                <table *ngIf=\"hasExamples()\" class=\"table table-striped table-bordered table-examples\">\n                    <thead>\n                    <tr>\n                        <th>Content Type</th>\n                        <th class=\"pre-actions\">Example</th>\n                        <th class=\"actions\"></th>\n                    </tr>\n                    </thead>\n                    <tbody>\n                    <tr *ngFor=\"let contentType of exampleContentTypes()\">\n                        <td class=\"content-type\">\n                            <span>{{ contentType }}</span>\n                        </td>\n                        <td class=\"value pre-actions\">{{ exampleDisplayValue(contentType) }}</td>\n                        <td class=\"actions\">\n                            <div>\n                                <icon-button (onClick)=\"deleteExample(contentType)\" [pullRight]=\"true\" type=\"delete\"\n                                             [title]=\"'Delete example.'\"></icon-button>\n                                <icon-button (onClick)=\"editExampleDialog.open(contentType, exampleValue(contentType))\" [pullRight]=\"true\" [type]=\"'edit'\"\n                                             [title]=\"'Edit example.'\"></icon-button>\n                            </div>\n                        </td>\n                    </tr>\n                    </tbody>\n                </table>\n                <a (click)=\"addExampleDialog.open()\">Add an example</a>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"response-ref\" *ngIf=\"isRef()\">\n        <div class=\"form-label\">Response Definition</div>\n        <validation-problem [model]=\"response\" property=\"$ref\"></validation-problem>\n        <span>This response references the </span>\n        <em><a (click)=\"navigateToDefinition()\">{{ definitionName() }}</a></em>\n        <span> Response Definition.</span>\n    </div>\n</div>\n<add-example-20-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"response.schema\"></add-example-20-dialog>\n<edit-example-20-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"response.schema\"></edit-example-20-dialog>\n","styles":[".response .problem-flex{display:flex}.response .problem-flex .grow{flex-grow:1}.response .problem-flex>:first-child{margin-right:7px;margin-top:2px}.response div.form-label{margin-top:15px;font-weight:600}.response .response-description div.form-label{margin-top:2px}.response .response-examples div.form-label,.response .response-type div.form-label{margin-bottom:5px}.response .response-examples table{margin-bottom:3px}.response .response-examples table td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.response .response-examples table td.content-type{width:30%}.response .response-examples table td.value{width:60%}.response .response-examples table td.actions{width:10%}.response .response-examples a{cursor:pointer}.response .response-ref em{font-style:normal}.response .response-ref em>a{font-weight:700}"]}]}],"members":{"response":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"isRef":[{"__symbolic":"method"}],"responseDefRefPrefix":[{"__symbolic":"method"}],"responseDefPathPrefix":[{"__symbolic":"method"}],"definitionName":[{"__symbolic":"method"}],"navigateToDefinition":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"model":[{"__symbolic":"method"}],"document":[{"__symbolic":"method"}],"hasExamples":[{"__symbolic":"method"}],"exampleContentTypes":[{"__symbolic":"method"}],"exampleDisplayValue":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}]}},"ɵcy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"add-media-type-dialog","template":"<!-- Add Media Type Dialog -->\n<div bsModal #addMediaTypeModal=\"bs-modal\" class=\"modal fade\" id=\"addMediaTypeModal\" tabindex=\"-1\" role=\"dialog\"\n     aria-labelledby=\"addMediaTypeModalLabel\" role=\"dialog\" (onHidden)=\"close()\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addMediaTypeModalLabel\">Add Media Type</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Choose a Media Type (e.g. application/json) below and then click Add.</p>\n                <form id=\"addmediaType-form\" class=\"form-horizontal\" (submit)=\"add()\" #addMediaTypeForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-3 control-label required\" for=\"mt\">Media Type</label>\n                        <div class=\"col-sm-9\">\n                            <drop-down id=\"mt\" [id]=\"'api-mediaType'\" [value]=\"mediaType\" [options]=\"mediaTypeOptions()\"\n                                       (onValueChange)=\"mediaType = $event\" noSelectionLabel=\"Choose Media Type\"></drop-down>\n                            <div class=\"form-error-message error\" *ngIf=\"isMediaTypeAlreadyAdded() && mediaType !== 'custom'\">Selected media type already exists.</div>\n                        </div>\n                    </div>\n                    <div class=\"form-group\" *ngIf=\"mediaType === 'custom'\">\n                        <label class=\"col-sm-3 control-label required\" for=\"mediaType\">Custom Type</label>\n                        <div class=\"col-sm-9\">\n                            <input #customMediaTypeInput name=\"mediaType\" type=\"text\" id=\"mediaType\" class=\"form-control\"\n                                   placeholder=\"Enter a custom Media Type\"\n                                   required [(ngModel)]=\"customType\" #mtype=\"ngModel\">\n                            <form-error-message [inputModel]=\"mtype\" [type]=\"'required'\">Custom media type is required.</form-error-message>\n                            <div class=\"form-error-message error\" *ngIf=\"isMediaTypeAlreadyAdded()\">Selected media type already exists.</div>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addMediaTypeForm.form.valid || !isValid()\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"addMediaTypeModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":36,"character":5},"arguments":["addMediaTypeModal"]}]}],"open":[{"__symbolic":"method"}],"mediaTypeOptions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"rememberCustomType":[{"__symbolic":"method"}],"getCustomTypes":[{"__symbolic":"method"}],"isStandardType":[{"__symbolic":"method"}],"isMediaTypeAlreadyAdded":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}]},"statics":{"CUSTOM_TYPES_STORAGE_KEY":"apicurio.add-media-type.custom-types"}},"ɵcz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"add-header-dialog","template":"<!-- Add Header Dialog -->\n<div bsModal #addHeaderModal=\"bs-modal\" class=\"modal fade\" id=\"addHeaderModal\" tabindex=\"-1\"\n     aria-labelledby=\"addHeaderModalLabel\" role=\"dialog\" (onHidden)=\"close()\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addHeaderModalLabel\">Add Header</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Type a Header (e.g. application/json) below and then click Add.</p>\n                <form id=\"addHeader-form\" class=\"form-horizontal\" (submit)=\"add()\" #addHeaderForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\" >\n                        <label class=\"col-sm-3 control-label required\" for=\"header\">Custom Header</label>\n                        <div class=\"col-sm-9\">\n                            <input #customHeaderInput name=\"header\" type=\"text\" id=\"header\" class=\"form-control\"\n                                   placeholder=\"Enter a custom Header\"\n                                   required [(ngModel)]=\"customHeader\" #mheader=\"ngModel\">\n                            <form-error-message [inputModel]=\"mheader\" [type]=\"'required'\">Custom header is required.</form-error-message>\n                            <div class=\"form-error-message error\" *ngIf=\"isHeaderAlreadyAdded()\">Selected header already exists.</div>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addHeaderForm.form.valid || !isValid()\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"addHeaderModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":33,"character":5},"arguments":["addHeaderModal"]}]}],"open":[{"__symbolic":"method"}],"headerOptions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"rememberCustomHeader":[{"__symbolic":"method"}],"getCustomHeaders":[{"__symbolic":"method"}],"isHeaderAlreadyAdded":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}]},"statics":{"CUSTOM_HEADERS_STORAGE_KEY":"apicurio.add-header.custom-headers"}},"ɵda":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"main-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":30,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":31,"character":21},"member":"OnPush"},"template":"<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <!-- Info about the API -->\n    <info-section [document]=\"document\"></info-section>\n\n    <!-- Contact Info -->\n    <contact-section [document]=\"document\"></contact-section>\n\n    <!-- License -->\n    <license-section [document]=\"document\"></license-section>\n\n    <!-- Global Tags -->\n    <tags-section [document]=\"document\"></tags-section>\n\n    <!-- Global Servers -->\n    <servers-section *ngIf=\"is3xForm()\" [parent]=\"document\" [collapsed]=\"false\"\n                     [description]=\"'Configure global servers for your API in this section.  Once defined, servers indicate where to access the API (e.g. host and port).'\"></servers-section>\n\n    <!-- Security Schemes -->\n    <security-schemes-section [document]=\"document\"></security-schemes-section>\n\n    <!-- Security Requirements -->\n    <security-requirements-section [parent]=\"document\" [global]=\"true\"></security-requirements-section>\n\n    <!-- Vendor Extensions -->\n    <extensions-section [parent]=\"document\"></extensions-section>\n\n</div>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":46,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"is3xForm":[{"__symbolic":"method"}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"saveSource":[{"__symbolic":"method"}]}},"ɵdb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"aaimain-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":30,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":31,"character":21},"member":"OnPush"},"template":"<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor [(text)]=\"source\" [theme]=\"sourceEditorTheme()\" [mode]=\"sourceEditorMode()\" [debounceTime]=\"250\" [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n\n    <!-- Info about the API -->\n    <aaiinfo-section [document]=\"document\"></aaiinfo-section>\n\n    <!-- Contact Info -->\n    <aaicontact-section [document]=\"document\"></aaicontact-section>\n\n    <!-- License -->\n    <aailicense-section [document]=\"document\"></aailicense-section>\n\n    <!-- Global Servers -->\n    <aaiservers-section [parent]=\"document\" [collapsed]=\"false\"\n                        [description]=\"'Configure servers for your API in this section.  Once defined, servers indicate where the API receives and publishes messages.'\"></aaiservers-section>\n\n    <!-- Global Security Schemes -->\n    <aaisecurity-schemes-section [document]=\"document\"></aaisecurity-schemes-section>\n</div>"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":46,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"saveSource":[{"__symbolic":"method"}]}},"ɵdc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"rename-entity-dialog","template":"<!-- Rename Entity Dialog -->\n<div>\n    <div bsModal #renameEntityModal=\"bs-modal\" class=\"modal fade\" id=\"renameEntityModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"renameEntityModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"renameEntityInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"renameEntityModalLabel\">{{ title }}</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <!-- Warning about what will happen -->\n                    <div class=\"alert alert-info\" *ngIf=\"shouldShowWarning()\">\n                        <span class=\"pficon pficon-info\"></span>\n                        <strong>You should know!</strong>\n                        <span>{{ warning }}</span>\n                    </div>\n                    <!-- Form to enter the new name -->\n                    <p *ngIf=\"shouldShowMessage()\">{{ message }}</p>\n                    <form id=\"renameentity-form\" class=\"form-horizontal\" #renameEntityForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group currentNameGroup\">\n                            <label class=\"col-sm-2 control-label\" for=\"currentName\">Current name</label>\n                            <div class=\"col-sm-10\">\n                                <span id=\"currentName\">{{ originalName }}</span>\n                            </div>\n                        </div>\n                        <div class=\"form-group entityNameGroup\">\n                            <label class=\"col-sm-2 control-label required\" for=\"entityName\">New name</label>\n                            <div class=\"col-sm-10\">\n                                <input name=\"entityName\" type=\"text\" id=\"entityName\" class=\"form-control\" #renameEntityInput\n                                       placeholder=\"Enter a {{ type }} Name\" pattern=\"{{ validationPattern }}\" #defName=\"ngModel\"\n                                       required [(ngModel)]=\"newName\" (ngModelChange)=\"validateName($event)\">\n                                <div class=\"form-error-message error\" *ngIf=\"newName !== originalName && _alreadyExists\">{{ type }} already exists.</div>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'required'\">Name is required.</form-error-message>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'pattern'\" [alwaysOn]=\"true\">{{ validationError }}</form-error-message>\n                            </div>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"rename()\"\n                            [disabled]=\"!renameEntityForm.form.valid || _alreadyExists\">Rename</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":["#renameentity-form .currentNameGroup>div{padding-top:3px}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"warning":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"validationPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"validationError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"renameEntityModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":45,"character":5},"arguments":["renameEntityModal"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"validateName":[{"__symbolic":"method"}],"shouldShowWarning":[{"__symbolic":"method"}],"shouldShowMessage":[{"__symbolic":"method"}]}},"ɵdd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"add-example-dialog","template":"<!-- Add Example Dialog -->\n<div>\n    <div bsModal #addExampleModal=\"bs-modal\" class=\"modal fade\" id=\"addExampleModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"addExampleModalLabel\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"addExampleInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"addExampleModalLabel\">Add Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the new example name and value below and then click Add.</p>\n                    <form id=\"addexample-form\" class=\"form-horizontal\" #addExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"exampleName\">Name</label>\n                            <div class=\"col-sm-10\">\n                                <input #addExampleInput name=\"exampleName\" type=\"text\" id=\"exampleName\" class=\"form-control\"\n                                       placeholder=\"Enter an Example Name\" #name=\"ngModel\"\n                                       required [(ngModel)]=\"model.name\">\n                                <form-error-message [inputModel]=\"name\" [type]=\"'required'\">Name is required.</form-error-message>\n                            </div>\n                        </div>\n\n                        <div class=\"example\">\n                            <code-editor [theme]=\"valueEditorTheme()\" #codeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"150\"\n                                         [(text)]=\"value\"\n                                         [editorStyle]=\"{ position: 'relative', height: '300px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generate()\"\n                                    *ngIf=\"canGenerateExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\"\n                            [disabled]=\"!addExampleForm.form.valid || !hasValue()\">Add</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":5}}]}],"addExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":41,"character":5},"arguments":["addExampleModal"]}]}],"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":42,"character":5},"arguments":["codeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"canGenerateExample":[{"__symbolic":"method"}],"generate":[{"__symbolic":"method"}]}},"ɵde":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"edit-example-dialog","template":"<!-- Edit Example Dialog -->\n<div>\n    <div bsModal #editExampleModal=\"bs-modal\" class=\"modal fade\" id=\"editExampleModal\" tabindex=\"-1\" role=\"dialog\" [config]=\"{ backdrop: true }\"\n         aria-labelledby=\"editExampleModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"editExampleModalLabel\">Edit Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the new example value below and then click Edit.</p>\n                    <form id=\"editexample-form\" class=\"form-horizontal\" #editExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"example\">\n                            <code-editor [theme]=\"valueEditorTheme()\" #codeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"200\"\n                                         [(text)]=\"value\"\n                                         [editorStyle]=\"{ position: 'relative', height: '300px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generate()\"\n                                    *ngIf=\"canGenerateExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"edit()\"\n                            [disabled]=\"!editExampleForm.form.valid || !hasValue()\">Edit</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"editExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":46,"character":5},"arguments":["editExampleModal"]}]}],"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":47,"character":5},"arguments":["codeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"setValueFormatFromValue":[{"__symbolic":"method"}],"canGenerateExample":[{"__symbolic":"method"}],"generate":[{"__symbolic":"method"}]}},"ɵdf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"add-example-20-dialog","template":"<!-- Add Example Dialog -->\n<div>\n    <div bsModal #addExampleModal=\"bs-modal\" class=\"modal fade\" id=\"addExampleModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"addExampleModalLabel\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"addExampleInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"addExampleModalLabel\">Add Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the example content-type (mime type) and value below and then click Add.</p>\n                    <form id=\"addexample-form\" class=\"form-horizontal\" #addExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"exampleName\">Name</label>\n                            <div class=\"col-sm-10\">\n                                <input #addExampleInput name=\"exampleName\" type=\"text\" id=\"exampleName\" class=\"form-control\"\n                                       placeholder=\"Enter an Example Content Type\" #name=\"ngModel\"\n                                       required [(ngModel)]=\"model.contentType\">\n                                <form-error-message [inputModel]=\"name\" [type]=\"'required'\">Name is required.</form-error-message>\n                            </div>\n                        </div>\n\n                        <div class=\"example\">\n                            <code-editor [theme]=\"valueEditorTheme()\"\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"150\"\n                                         [(text)]=\"value\"\n                                         #codeEditor\n                                         [editorStyle]=\"{ position: 'relative', height: '300px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generate()\"\n                                    *ngIf=\"canGenerateExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\"\n                            [disabled]=\"!addExampleForm.form.valid || !hasValue()\">Add</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":5}}]}],"addExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":41,"character":5},"arguments":["addExampleModal"]}]}],"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":42,"character":5},"arguments":["codeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"canGenerateExample":[{"__symbolic":"method"}],"generate":[{"__symbolic":"method"}]}},"ɵdg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"add-aai-example-dialog","template":"<!-- Add Example Dialog -->\n<div>\n    <div bsModal #addExampleModal=\"bs-modal\" class=\"modal fade\" id=\"addExampleModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"addExampleModalLabel\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"addExampleInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"addExampleModalLabel\">Add Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the new example name and payload value below and then click Add.</p>\n                    <form id=\"addexample-form\" class=\"form-horizontal\" #addExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"exampleName\">Name</label>\n                            <div class=\"col-sm-10\">\n                                <input #addExampleInput name=\"exampleName\" type=\"text\" id=\"exampleName\" class=\"form-control\"\n                                       placeholder=\"Enter an Example Name\" #name=\"ngModel\"\n                                       required [(ngModel)]=\"model.name\">\n                                <form-error-message [inputModel]=\"name\" [type]=\"'required'\">Name is required.</form-error-message>\n                            </div>\n                        </div>\n\n                        <div class=\"example\">\n                            <label class=\"control-label required\">Payload</label>\n                            <code-editor [theme]=\"valueEditorTheme()\" #payloadCodeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"150\"\n                                         [(text)]=\"payloadValue\"\n                                         [editorStyle]=\"{ position: 'relative', height: '200px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generatePayload()\"\n                                    *ngIf=\"canGeneratePayloadExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                        <div class=\"example\">\n                            <label class=\"control-label required\">Headers</label>\n                            <code-editor [theme]=\"valueEditorTheme()\" #headersCodeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"150\"\n                                         [(text)]=\"headersValue\"\n                                         [editorStyle]=\"{ position: 'relative', height: '200px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generateHeaders()\"\n                                    *ngIf=\"canGenerateHeadersExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\"\n                            [disabled]=\"!addExampleForm.form.valid || !hasValue()\">Add</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"payloadSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"headersSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":5}}]}],"addExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":42,"character":5},"arguments":["addExampleModal"]}]}],"payloadCodeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":43,"character":5},"arguments":["payloadCodeEditor"]}]}],"headersCodeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":44,"character":5},"arguments":["headersCodeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"canGeneratePayloadExample":[{"__symbolic":"method"}],"canGenerateHeadersExample":[{"__symbolic":"method"}],"generatePayload":[{"__symbolic":"method"}],"generateHeaders":[{"__symbolic":"method"}]}},"ɵdh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"edit-aai-example-dialog","template":"<!-- Edit Example Dialog -->\n<div>\n    <div bsModal #editExampleModal=\"bs-modal\" class=\"modal fade\" id=\"editExampleModal\" tabindex=\"-1\" role=\"dialog\" [config]=\"{ backdrop: true }\"\n         aria-labelledby=\"editExampleModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"editExampleModalLabel\">Edit Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the new example payload value below and then click Edit.</p>\n                    <form id=\"editexample-form\" class=\"form-horizontal\" #editExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"example\">\n                            <label class=\"control-label required\">Payload</label>\n                            <code-editor [theme]=\"valueEditorTheme()\" #codeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"200\"\n                                         [(text)]=\"payloadValue\"\n                                         [editorStyle]=\"{ position: 'relative', height: '200px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generatePayload()\"\n                                    *ngIf=\"canGeneratePayloadExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                        <div class=\"example\">\n                            <label class=\"control-label required\">Headers</label>\n                            <code-editor [theme]=\"valueEditorTheme()\" #codeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"200\"\n                                         [(text)]=\"headersValue\"\n                                         [editorStyle]=\"{ position: 'relative', height: '200px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generateHeaders()\"\n                                    *ngIf=\"canGenerateHeadersExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"edit()\"\n                            [disabled]=\"!editExampleForm.form.valid || !hasValue()\">Edit</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"payloadSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"headersSchema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"editExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":48,"character":5},"arguments":["editExampleModal"]}]}],"payloadCodeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":49,"character":5},"arguments":["payloadCodeEditor"]}]}],"headersCodeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":50,"character":5},"arguments":["headersCodeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"setValueFormatFromValue":[{"__symbolic":"method"}],"canGeneratePayloadExample":[{"__symbolic":"method"}],"canGenerateHeadersExample":[{"__symbolic":"method"}],"generatePayload":[{"__symbolic":"method"}],"generateHeaders":[{"__symbolic":"method"}]}},"ɵdi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"selector":"title-bar","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":49,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":50,"character":21},"member":"OnPush"},"template":"<!-- Visual Mode -->\n<div class=\"editor-title-bar {{ mainClasses() }}\" *ngIf=\"!editMode\">\n    <h1 [class.no-title]=\"!hasTitle()\" (click)=\"selectMain()\">\n        <span>{{ title() }}</span>\n        <a class=\"editor-title-bar-edit\" (click)=\"editTitle()\"><span class=\"fa fa-fw fa-pencil\"></span></a>\n    </h1>\n    <undo-icon (onClick)=\"onUndoClick.emit(true)\" [commandStackCount]=\"undoableCommandCount\"></undo-icon>\n    <redo-icon (onClick)=\"onRedoClick.emit(true)\" [commandStackCount]=\"redoableCommandCount\"></redo-icon>\n    <validation-icon [validationErrors]=\"validationErrors\" (onClick)=\"toggleProblemDrawer()\"></validation-icon>\n</div>\n<!-- Edit Mode -->\n<div class=\"editor-title-bar editing {{ mainClasses() }}\" *ngIf=\"editMode\" >\n    <form #editform=\"ngForm\" name=\"title-edit-form\" class=\"title-editor-form\" (submit)=\"save()\">\n        <input #newtitle required [(ngModel)]=\"newTitle\" type=\"text\" class=\"form-control title-editor-input\"\n               name=\"title-input\" autocomplete=\"off\" required (keypress)=\"onInputKeypress($event)\">\n        <div class=\"edit-buttons\">\n            <button title=\"Save changes.\" [disabled]=\"!editform.form.valid\" class=\"btn btn-primary btn-save\" type=\"submit\">\n                <i class=\"glyphicon glyphicon-ok\"></i>\n            </button>\n            <button title=\"Cancel changes.\" class=\"btn btn-default btn-cancel\" (click)=\"cancel()\">\n                <i class=\"glyphicon glyphicon-remove\"></i>\n            </button>\n        </div>\n    </form>\n</div>\n<problem-drawer *ngIf=\"showProblems\" [validationErrors]=\"validationErrors\"\n                (onConfigureValidation)=\"onConfigureValidation.emit()\"\n                (close)=\"closeProblemDrawer()\"></problem-drawer>\n","styles":[".editor-title-bar{position:absolute;top:0;left:0;right:0;height:42px;border-bottom:1px solid #ddd;background-color:#fff;display:flex;flex-direction:row}.editor-title-bar.editing{background-color:#ccddf7}.editor-title-bar>h1{margin:2px 2px 2px 5px;height:38px;line-height:38px;padding-left:47px;cursor:pointer;flex-grow:1;overflow:hidden}.editor-title-bar>h1.no-title{font-style:italic;color:#9c9c9c}.editor-title-bar>h1>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:85%;display:block;float:left}.editor-title-bar>h1:hover{background-color:#d1eaf7}.editor-title-bar.selected>h1{background-color:#a5d6ef}.editor-title-bar.oai30>form,.editor-title-bar.oai30>h1{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QkFEREX5uyfVAAABYBJREFUWMO9l39MU1cUxz/3vdJWi7/wB0qQqKBx82dlhjhkDghMQeuWbMZRY+JfbrpmLptzJktmzDTTGaMS3MxitriAzl8ZVZyJvtaJhpERQQPq0FXU+QOhCNpiSqFvf/hKKpa2boknaV7fPefe7znnfe+55wpeguRk544BdgCLABk4CaxzOJWr4iWAJwDuftQJ0ktIwHcRdDW6aLNtZbkUFymh7ylA2r1zj6q6Oron2UtrL0ZZYkkE3QRdDMCJtrLcEmA2kNJroKoTgDqL1YyW4r+AzfbS2ooXSU8EDtiFrWznSSA/jDJwr7IjtetRz40wur+BNfbS2uMaBw4B7/YDUh3Wgd3VWcskwfL6a3qfECx8QQcAWo3DPGNbG1LyAHs/Np3AkF4Saqlk19m5hcDPAZW8CWP9O/8D6doNgzvHtDak5PcBrwRatN8Zh1MxOZxKty4Ibi+txWI17zq9x7uk4JP45YEe9hkN6n5gjbaHYxEPMMp9NbkQ+DVkfJrDqdSHmyABQfB0wAYkVmz3fDVwqFQAjHgltWsE0BYDeIuQAwmeuwkL+4DPdjiV+kVL08NOkixWMxar2QTU9DJTkHpkw6NtpmHSAuDLAUa1MAp4k2n0w6THt0csAI6GjGcnml0XLFZzs5AD5rAO2EtrAVY/tz0kXj284VGxrBPLxif7t6gq5X0yF+SPa9TMG2nNF1IL4BmbvKGp96u9zUPvAKM0DoTNgAxsCbtHBWkV2x9v7fZzbNJ4/17gMvA+YLxZ0eYCsgxDOqe4TqQX9gHPGpZ271z3E70LGK2NmSxWc1Y4DhRESW/Sqd2ezwxG6oqLlCmN+znQ8ANxg1LHD/bcTahyX0nODwFXAbPDqZzzdxqaQsCD8lE4B/JjINjGlbPO3s7Jzh3u99ACtAMPgSd9CDfD4VTqLFbzAyAxlrIsLFZzDZAexQG9526C0IqH3I/NnCHjHtT0dOnuAiMjrJVqL611hWYgLQr4IXtprR/YGwH8hsOp/NHTpUuMAg4wMfRFF+ihKeJZofKL9n9qBLvxAPEphvtCEqsjnDEycP0ZBxZ/McgZITKhqniPP3XBF40ow6eZ4oCSKGZ3tAPrqQN+n7oESIowIQ+YDBwGMvqxOas9p8dA6Ht9d0FDxPNacBrA4VS2AUo/ZhbteSIGBy73dcDRD3BDW4ec2XBNP89WlntNVVUkXU+eBuYE6oD1wGCHU+mwleV+DgyPAt5aXKS0P8OBMFH5VJWV9Y36mbLMeSFAN0CyLbbOKokbrG767UjdMeBYb4E48IZImp6e6bnluxafYogW/Y6wHdHu6iw3kCBJ/FjfqC8XgoOAHkDI4usb5e5MIcgeZ477cHKWYanGh06tTfsgziD2lH/zeMbIWaZP45MN5yPVAMAV2mMGe8KcZrcstbXLR4RgRciEXU12d7YQZKoBGmfMN07wedV5wLzQVf0+deXkufo5jVXeKlRmx481VIWsHZRTxUWKK2w/sCqj8mJbu1we3M9a5JtuVrSlA5kA3vbAap9XXdtvaBn6fWqAHe5L3j89t32ZfdQq8J6tLDd8Q6LJZKAHnn7zpnL360FwgLfXD8qM9HHVABPzV5uuAF3uS94qzz++N0PU+cVFSkdo6p9zoLhI6QSm6AZIK64fbClEkB3UdXepm/UDxZJoDJPjRIms4x1Actd5j3nvdC0CthQXKafDRf9MWx40cB1tTZMN0mUgrveIm2/MGDNJVx1LUyjp+On4t56pksxrqKyzl9VufaF7gcVqFoBJq25moHn+x/G3UJkda1t886K/4MrvPimWS0rYQyOkS84RAu9btvgzgDHGrvj7VRmVa//3zSjohFYnjMA6YJXW34VKD3AQ2Ag0rsqoDLzIJeJfWj/2rgdFrTIAAAAASUVORK5CYII=);background-position-x:5px;background-position-y:3px;background-repeat:no-repeat}.editor-title-bar.oai20>form,.editor-title-bar.oai20>h1{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QkFEREdBjl2SgAAB/1JREFUWMONl2twVVcVx39rn/u+N7khT0hCQiABS0l5BGhHagsUilAsAo6v9pN+0AqtVes4VPvJaamPqm0Rxuc4jjPqdEBbMGUA6dgWlZZXiOX9SkgCISE3j5vc1zl7++GeXC40AfaXc+7cs/dae63/+q//Em6zjDGISO4dUIAF+ICo+zRAGhhwnxrQ+ftG38daMp5hABHBGCNAGKgBVgErgNlAWd4WDfQAh4FmYC/QISIjt553RwduuXUIaAKeAj4Pxkqkh0hm4qQzwzhOGgDL8uP3hgh4Cwj4CgBSwB+B3wCtIpIcLxpyG+O1wNeAZ7TR4Z7+81y+fpzzXf/hcm8rsXgHGTsJgM8TZEKkmpryudRPeoCqklmUF00FpB/4KfB7EbkylhMyjvG5wMvAo9eH2mm58A8On9tB27WjaG1jKQ+iLMTdbjBo7WT/szzUVSxkfsM67qt7jKLwJIAdwAsicuJWWzKG8TnAFmDRua5/s+/YFk5e3o82DpbyjAebG1HE4OgMHuVj1pQVPDL7G9RVLADYBzwjIifzbd7kgDFmCvBrYHnLxWaaP3yZK32nEaXyQnZnB9wXDJrq0kZWL3yemZOXAmwHnhaRK6M2VZ7xMPA0sPxM53vs+uAlrsSyxjN2EqMdcNF8O/MYg9Y2tpNEiaKjt5WdB1/k/NWDAOuBrxpjAq5NPHml1gRsuD7Uxj9bttIdO4MoC2MMqxdu4t6aZaTtJNuav4jjZD6GZmM0BcEyvvLo71CiOHphJ++0bEOURWdvK++0bKWkYDJF4crngLeBwyLCaGwjwDcdbfuPnHuTk5f3I8rCdlI01a9l6X1PUVM+h3CgeNwEGAxKLAqCpdSWN/Hped+msW4VjpNGxOJ/bXtpudCMMSYKfN0tcZR7+wZgXXf/WQ6d244xGkHQ2mZKRRMBXwG7Dm7mle3LcbQzJqEosRhK9rD5jcXsP76VoD9KXUUTjrYREWyd5tC57fQMnAf4MjDJGINy6XWNMZq2a0fo6GnFUl43rBDyRwHoip3C1hmXecenbttJ0TtwCYCAN5L73lJe2roP09HbCpgQsBxQCvAAK0dSA5zpfO8Git3AusyGEsXdLEGIJ3pzDDl6nCBknDRnuw6QSA/h0rpSLs/PTGWG6Og5nnd7DQghbzYCgyM9GKPR2sndShsHbZycs1rbGAwDI91ZYAWKMbmzwGN5uNx7nGTWgTmATwGlQDiVGSYW70SJwhhNKDCBWbXLKI3WMpzsIzbUTmF4IlWl92IpL0osygrrKC2sRUThsfxUlzZSECwlFu8k46SoLL6H6VUPEvRHs7gSi9hQJ2k7AVABRBQQAsg4STJOGsgCprF2BU8seZ1ouJK9R18jnuxj9f3P8+Ti15hSMZ9oeCLrF73I4/e/QCRYQkPlIp5c+jor5n2LePI6+1t+SUlhLU8seZWGykXYThpBSGaGcHQGt5UHPDe1YHGjawwey4fPGwIgnRnJ4sEbwe+LoJQHJRYBXyTLZigs5SXoi+LzhsFokuk4AEFfYS6tN1pzDmcixpjpwOmuvhO88reV2HYqm79gKTVls/nSwz/DYPjxG4/g9QYpCJZzpe8ExmjKonVorekdvIRleaksnkl/vBNjDJu+8C6J1CB//tezdFz/iJFkDIMhHCjm2TVvUVHUkAEmK+A6kPB7wkRDk9BGI6IYSvRy7MJOrvWfJxqaSEm0lr7Bdtq6D2E7KRxt09V3iqv9Z9DGIW0nuHj1A/rinZQVTSXoK+RK7BStbXsYScYQF1sTwpX4PEGAa0BcAXHgRMBXwOTSWehsflwwGkZSAwAUBisQUai8jqjEQomVK7NsahQhfxEAidQAgiBuCTs6Q1VpI35vAUALkFaADewO+qNMr/pUTj7d1GAAj+XD3AUPGAze7A1J2yN5e7JU3VD5SYK+Qtx+4ChXz72pxKK2fB6TSu7B0XaOVkZSMQAmRKru0IhHdyiKI9UADCdjuT2Otqkpn0tN2WxEJAXsAbQSEQOcAnZNnDCD+fXrczrHUh4uXTtCKjPMqgXf4zvrdmMpzxhRypJNJFjCd9fvYeX850imh2jvacl+j0GJoql+LeVF9QB/ATrzu2Ec+LnH8tnz6tdSX7kIRzt4LD8HT/+V/576E72DF9HaGTcNxsWNiOLawHneP/EHjl9sxrJ8aO3wieolzJn6GZRYcWAbMAwgeYIkAmwGNn7UvpftB75P72AbgsJ2kgT9UZRYoyw2dvhFEfCGyTgpRlIDeD0BjNFUFDXwuUUvMaP6IYAfAptFJGGM+Zgqngb8Flh86Nx23v7wJ/QMXECUlVNDcoempI2TlW0iGK2pmNDA6oWbmF33GMBbwAYR6RhTE7q5XAiyBVhwon0f+45t4WzXAUBcUXrn5egMIooZ1Q+zbM5GZlQ9BPAusFFEWj8mSsdQxguBHwGLu2NnOXLh7xw+u4OuvpNuvXuz7XlUmBiDNnqU46kubWR+w3rmTnucssI6gF3AD0SkZUxZPo4TU4ENwAbbSfu7+89wqfswZzrf53LvcQaGr5K2Ewjg84YoCk9ictlsplc9SG35PCqKGrCUNw78AviViHTcdjAZx4kw8ICrltdo45BIDZBID5JMD5FxkoDg8/gJeAsJ+AoJ+aOIKO2W2lbgiIgk7mo0u81wGgGmAZ91h9NGV8jkr0HgGLAb2AlcAuKj8vuuh9OxnMj7bbkaMgSUuE4Yl0f6gITLrM7djuf/B+0TxoO0ygiXAAAAAElFTkSuQmCC);background-position-x:5px;background-position-y:3px;background-repeat:no-repeat}.editor-title-bar.aai20>form,.editor-title-bar.aai20>h1{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAALIXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjarZhpkus4DoT/8xRzBG4gyONwjZgb9PHngyS7llfdr3ui7ShLliUSSyKRKLf/+O9x/+GVfCkui9bSSvG8csstdk6qv1/3Mfh8fV6v+PzE9y/X3fuHyKXEMd1fy37u71yXjwc0P9fH1+tO57NOfRYK/svWyXa28/UY+SyU4n09PN9dex7o5ZM7z1+cz7Ivt759z0owlrBeii7uFJK/PuO9U8KK1FK363zGVKNdCZxLynymVH+Nn3uH7ocAvs++xc+/LEsf4bgXerlVvsXpuR7k2/X03iZ+sSjE987xs0U7+u4/vz7F75xVz9m3dz2Do5bL49TLleuMGwfhTNdjhbfyJ5zr9W68K9tMsrZwdTg/+NJCJLIn5LBCDyfs6zjDxMQcd1SOMc6Yrms1aWxxXknJ9g4nqiM/K1VyM8lc4nJ82xKufZvtx2aVnVfgzhhYjBx/fbvvF/7f95eFzjGYh+DrO1bYFQ1fmGGZs0/uIiHhPDGVK77B3Qf//WWJTWRQrjBXHOx+3EsMCR/YSleekxfHrdnf9RJ0PQsQIvYWjAHROfgSkoQSvMaoIRDHSn46lseU4yADQZzEhZUxp1RIDtXA3jyj4bo3SrwvQy8kQlJJSmooIJKVs+RCvVUg1J0kySJSRKVKk15SyUVKKVqMp7omzSpaVLVq015TzVVqqVprbbW32BI0Jq6Vpq221npn0547a3Xu71wYcaSRh4wydNTRRp/AZ+Yps0yddbbZV1xpQQFulaWrrrb6Dhso7bxll6277rb7AWsnnXzklKOnnnb6O2tPVr9m7Xvm/jpr4clavBJl9+lH1ris+loiGJ2I5YyMxRzIuFoGAHS0nPkaco6WOcuZbzG5lCRipVhyVrCMkcG8Q5QT3rn7yNyf5s0R3X+at/hT5pyl7t/InLPUfcrcr3n7IWurX3SbrgRZFRJTGDJRftywa4+1W1/CrCU4nzQkLXxJfcBPo4e+dy2epWDhcXxqRWobmjlxfY2+cidCPYSuZXeNqa0ZzT/qp/Q6V215ZLEWxsfPR/c6Sb1xr7Vt2WnIHkuilCS9nitAZQQzre25T4dCG71+jKWVY8MuN5MOf0WyrZXtmMduZdx7yexlX3uJNdWPo4wjAFWtHbJOLW6sVMgTj+JjykrIj6S5epPUOmG1h7Ftl2gnC/NnvMOZr5UH/mAerm0iXFaQHcOVP7/SLCetsxYlsfEmDODTdgVvJa0yABVmzK2lzwRKKkcnVyGM22r62LWbD0vGkGq7jDpHy4BkHr97HJsuZEke4Ekom1WFIC43j8S6yiE64KrcK43m18sBD6oHvnmQj9lzh0L80yC9bQmfSfAOYiNA8/Q9yp6auiiF1i07oKaHWO4Iw//d7qyb4itlTELMLse0RW2nrOLMjLTiO87jZcqWpC9PfQeupBVbKdBDWbVMUZ0CVIELfm/XwMwUMDIP3H9Sp4g3wOlqRQz38F7tji22p4I/TYSk0usFxuigB6vRkDQLQ2Hgbyec5hkquqdNCsk/1Yn9m/Twu06Vy1etVPUbYYDPST6GrwOUwk6eulWqa8FlNa81F7U2KabriQdMqBzxq84T9E7NJvyu5PipWn88Dt3Dvo1XeKCGIcv4Z0gXjIACnabZSu2Sp9XuSbvP3kEOIJmBCsAonhAgt8qkFEgoa+pKMZ8QQeOgRaY9HJ4QQ5DS6l1dMSUreYhIsHqAvBfG8+lAEYQ3PFOPu2S6nFnHKcHtokDxKhCCYEyzerqeVPRYaLryOWPaTYLFYXR4dc54cZLSro4psSQOv9MD57nS8L+N2HPch9j1ccVlr7qRNevYygmbwz7sLwu3du+arUhnPhALTWAEzbviMOSwFA4GAs34pGPfImtv8wptiQR18wLEXnXdz0Zj7H12sptskbMP7UzahZpNiWoaIaIhb7KsV1EJXO1zBnfw2SqAGzxK7RMotnRAOpDapRGHpfz50tusxjTJ0an2PDvS5vbViOY8sTZYosJ1Alk2mBzKVYguGst6oH9oO8XK4QCMrCreTTkJSCUYgDxvUAH2W8GEJDqzGmEb8zbYkZLnMap5Aydjpgkc1h6S93ZwNYgygjemDuhi83Qafb0q/28d6Wv9wEPHT6hi41pqLEctQE8DWoAmZXnJFGKCEEdeF6xrhJTD+WgH7jqBPKiZxjIeBchph8LISy1Trg1brZQ9egMHESvWbtAZ/dAErUQgFkdfYXQiKvGsRrAgNirzbruAPv/Ui346uteJUZJxMASMAO2EU2LTtAahRV2AhHqTN3aVNK1YjVL5uRtGumNj1OSK5AXN4Rd9aiKSns6FI88+ATzDygUuikbs/b6j3VxuwQ7lkgwmcjw0MKfxX6e8m2GkESlrB4irG7lz/Vx+7i/q8qAoeEOAhcqCeyDCyFf6JSTcdgNpyHVuIanw0UDJN1xCpFFwxm9XctLTgTA01CP9ZAMHcg5mB5jYGzDuFQTGdaZkegqhsQ0bjYukEsoNCayQRqPmmODChhOsgO7ksEj8mjf3+8RSZPQWKp1MUJ+lbppRNd4uhk0h35NZRFE3XhsNk7EQIGq31u2hIMvXRmx9sl8xpY9hCiQiJChL4y90sl+udKkv8N4hWbn6Qzc/td51PGkkVpfapZnM04bj+P+kkQLgefe3ePWjMw1K0hPHvEJDT9B+V1AKVNyh42inegYkhOnThPsg2cAYMM0J35oqRaFuNOte++j2V2zArwWIwFCgqBHW2UatFGqmNBiEEzRtlJuMBunY1HkDsoRFGLVlm1ssBY/xh0mME9UpGFFcNn1MvKJ1Juq4I77ahKqqUds2LcqgcZGVwJL7F1nrjMEJpajSQfQQ3RpmMwDGuwefnE3bJWPmImcoP9RgrA1F9mU9Adl1nD2pZyJOUVt6lEbs77s6kYLRz1G0+TnMr4fnTGrckkKNzD9b9BslDkFuWjACdKrH7iFmM1IklM2Qc8diiKMUrMv5hTqkKDbf06O6rEVqPyYU18Kre5HL/IA+stY0jU4YU7qiapVOq4/9NMr49vESsbfWQIpAMcVGwxu9ftrjsXsiR9sQBr9ZmNTtZlQQKpEhBGroWdbc7S6NNSdTnyGCpoERpkK78YmaqlD6Azgn2KaSwblh4xeR/JuutCc4IwIA1R0kX2qHEivWO6GaA+KsUXNtILjEqJKBFgzXxdW06qjo1avJYiepbDEGV43cIfxLgR2T3NAGzUYDq+zZnzaSkYyZEjD1k6nlBkIaKgSl3y417Lh4y2HaGrgrptICXXKWZVLZJo2XO+FjGGOYNSRbE8HiQSdz6Do8Qax4estBHmwGUJvGLshVBuTPyLrkBDuo4SPXZj0QC09ezqqaQg+5PCJq7o8JCwMgu3VBTZO/pgy6203x6Io6yjUnQOGOQFH+TE5gVGE6jTva+JcGtoBllNa4ZPtLH2bI4CN1q1t3xBiHqKezSrDILrF5pdsojJY1OcBVk0QF5axzcBjLVITVjb8nQfjCmwh1TxTvOAQb/va6VB0jsRozBUgE7TPA9tqAzFpJWVgfbJ628pIC1yAiNI9gUdEoc5LhFnujEq+BFik86jINj/+xQVMaCGE1aYd3PeY7RBURYZFjAqn4mXAC4C1Qh2RJy+5FklkEMWRYdC4YPxw+86f27b636QzwUY9EEEwdOs3+ENBR+MXUMT+FvmMfFO3eAH4XB6fEcf3joMx1Cy78wKOGcqNoi/3jw7/lyZ92U/eauNEBwA1LEDjThokirIEqBPNWlNSk3GYfT1P8pVO5t08G8/8BjhUx+NB0f5wAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1ulUiod7CDSIUN1siBW1FGqWAQLpa3QqoPJpV/QpCFJcXEUXAsOfixWHVycdXVwFQTBDxAXVydFFynxf0mhRYwHx/14d+9x9w7wtmpMMfomAEU19UwyIeQLq4L/FQFEEEIcMyIztFR2MQfX8XUPD1/vYjzL/dyfY1AuGgzwCMRzTNNN4g3i6U1T47xPHGYVUSY+Jx7X6YLEj1yXHH7jXLbZyzPDei4zTxwmFso9LPUwq+gK8RRxVFZUyvfmHZY5b3FWag3WuSd/YbCormS5TjOCJJaQQhoCJDRQRQ0mYrSqpBjI0H7CxT9i+9PkkshVBSPHAupQINp+8D/43a1Rik86ScEE0P9iWR+jgH8XaDct6/vYstongO8ZuFK7/noLmP0kvdnVokdAaBu4uO5q0h5wuQMMP2miLtqSj6a3VALez+ibCsDQLRBYc3rr7OP0AchRV8s3wMEhMFam7HWXdw/09vbvmU5/PxT1cujCXN6GAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4wocDzYnKzFQKQAAB1xJREFUWMPNl2twVdUVx39r73Puvbk35CaEJECMQEQMQttAuEikCASQRxWkFXwFsaWC0KHjY9QqbadjFWoryqMvcZSqFCsdO6IjBEUpKe0wCEWqWECa8Jg8eeR9k3vvuWf3Qw4qxEJiv/j/dvZee6///p+1115L+AKI8jGkZDGZlw0j1Ls/yg5gkomQiJoFTAaKgIFAmrekEagA9gFlonSZKBV9b91CYmeOcjHI5z+sYA4FJQvIyY9g+YO4yQSidLqIWgYsAnrRPZwB1ijLt9Ky/G1v/vzaSxNIzS0kctOj+ILhzgFjAKYg8hLQ1zNzgIPATuAIUA1ooB+YApAS4EpvDKBSlL69z4DC3RuW9PnfBNIHFTNq1iNo2+/5dhGRUpAXABuIAy8gsgpjDovSlD05mdzC2Vw2vIRwzhUknThWoBe4zteA+4B5gAW0i9JzQun933rtkau7EhBlMWHxxs6Ti6CUxnWc0QjlgB84hshcbfnf37qiBGOSXTbJHHwdwycvItCrD1kDCzlb9W+cWHS8KL0JyAZpVpZVtHVFSZeAUMOmP/Sp7G0N1bg+HwhrPed1wHg30fH+luXjv9A5wJmj5ex9fTkdLac5dewDkokYLacrd2LcSUATmDTjuqtWHDFd1qrsK0Z1yu4maa6rgPZoBBjtzT+w7VdTT7zzzMxLRl1b7UH+tW0trhMHwA6EiTbWfOQmYj/z/uuUvz739mBtp5xPwPaHOu9RzRG05QMYd+5qObG2TfQADZW7iTbVAhDqncvxA9tw4tEXMSZpjOtT2or4UzPOW2M111cA0Hq2CifeDnAIWAVUJRNxhx6irmIfbjKJ0jY1h8oZ8I1pTXZK2hMiOmwMJ/mq4dM8MGzuRFpPN3L8vf0AfK/saURJXzvgr925+lVqP66k4dAJxNJ8+9mHJa1/nxzLtmqfm/TD/4uABug7agjFd9/E4OtGkJKdzrTHF4FhHCJ7XCfZkRcZuufahbNNQ+0ppj2+iGDvtHuUUn8BjhXMKD748Ru7MK775RWY9ssl5BYO8W6DIS7gF9kPFHp2ZaLkro6W9joxJsOXGjgMktX5bsh6J5ZY+v0ZD7R9U+TLEcgcPpCxi79D9pDLMcbgOkmUpfOAF4GJnm0tIguS8cQWpfXXRckrwNVeOjsMlIYyw3vXjLzry8WA2JoRd06jcM4kRCkyLs+h4USdxpiHEHnMS6suImsw5keJjriy/b6VCIu9LWIisswVngmEUtzfFi/sfgwA4Bpq9n9CzaFK8ooKcGIJAOPEErtEq+0iUgL0BsYAMyzb2t5W3/CSL5TyATDFeymvF8MYY9zt0caW1tOHT3RfgQsx5fGF5I0qQJQikBYierY5rLT6PSK3eiZRhKWNJ+vXp+dm9Qc2IDLBm6tXWs1va2gp23jzsm4qcAEq3tuHBGwy8nK8IkXF7NSU19x44jidaqQCswLh1ALR6nWl9DrXdZMiMhZIM8aU+gL+cOTumTv3rX/L6bEC55BTdCWR+TeQM3QgGEOstR07xTdEab0BiHhmJ0SpO9obW3b5goFiZekNQH5nfMo/jTF3jJ4y89Aiye85Ae+qUXzvXAqmjkFEQARR4nOd5BMich+gETklSoZoWzdGzzaHfcGU3wB3eOv311ecHPXGwqe6JAvVHQLGNfzj6VcpX/Un2s40IcCOp/4YV5Z+EGOmAdWi5P5wbnZjR1OU6gNHm56//t55xnXvQuQUIou+yHm3FbgQw+ZO5OCmHQDcuflJtG2lNdXVN+9e9yaWz+bEzgMA3PLyT+nVr0/amklLm4MifCUhxfN/B0BTXQVOvJ1BRTfOAWYCJ+PtLct2/Ppm05MNB0+4h6wBhShts+fPP2bMLctVSjhntSidIcpaX75u3rvRhurP6oG07M7IVNpHW2M1nRUupUCL7Qs+BnT0hEBOfhGpmZejLB/9Cq5D24EsEbUY0CJs7hKEiVgbAMH0vufKqXLAAL1EW7fevqaq287ziuYQTO/XWaKdrWLgiBn4UtK+i4gWkQ7XTe5pb6o7n0D9f/Z6ClhkDRoJyeQHHgnArDxz8qOh0x/efknnob7DyI/MQmkbUQrjJgik9omI1j/p/Nl6S8nCKceNm7xIWQ5YdgAn0TEc2A2EvMr4NuMmd2hfCltXTOx68lG3kB+ZRSA1E2OShHOuornuk5mI/AHIEFFn3GSi6G/PLzje3lhzvgLGddi7+RfEo02drU+iA+O6H4EpBdqBHOAdUXqj68QjAFMffJvb1lSRWziba0rXMvLGB/EF02mtOaRAxjXXH92MyOtABtCCyOyTH27v4vy8PNDrshEUzriPYLgvYDAmiYi6BuQVYNC5nAQcA3YBh4FT3lgucBUwFsj7TF45aIx7W/agyIcvL8ns3lsw/IZHveY0hBOPoi1/UJT6AXD/53rES6FSRK1KxFqffXf17FiPn2PlSydvxLfIzi8imN4PfygDY5K2Ej0BkenASK89D3p7tHzWnssWEfm75Qs6Zavm4LRWX5TpfwEdcald331HvQAAAABJRU5ErkJggg==);background-position-x:5px;background-position-y:3px;background-repeat:no-repeat}.editor-title-bar.aai20>form,.editor-title-bar.oai20>form,.editor-title-bar.oai30>form{background-position-x:10px;background-position-y:5px}.editor-title-bar .editor-title-bar-edit{visibility:hidden;font-size:20px;margin-left:20px}.editor-title-bar h1:hover .editor-title-bar-edit{visibility:visible}.editor-title-bar.expanded .validation-icon,.editor-title-bar.expanded .validation-icon:hover{background-color:#a5d6ef}.editor-title-bar .title-editor-form{height:42px;flex-grow:1;display:flex;flex-direction:row}.editor-title-bar .title-editor-form .title-editor-input{font-size:22px;font-weight:300;height:37px;margin:2px 2px 2px 47px;flex-grow:1}.editor-title-bar .title-editor-form .edit-buttons{height:42px;line-height:40px;margin-left:5px;margin-right:20px;white-space:nowrap}.edit-buttons .btn-cancel,.editor-title-bar .edit-buttons .btn-save{margin-top:7px;margin-right:4px}"]}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"validationErrors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"undoableCommandCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"redoableCommandCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"onUndoClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":5}}]}],"onRedoClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"onConfigureValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":5}}]}],"titleInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":69,"character":5},"arguments":["newtitle"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":71,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onInputKeypress":[{"__symbolic":"method"}],"editTitle":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"isOAI30":[{"__symbolic":"method"}],"isAAI20":[{"__symbolic":"method"}],"isSwagger2":[{"__symbolic":"method"}],"selectMain":[{"__symbolic":"method"}],"mainClasses":[{"__symbolic":"method"}],"isMainSelected":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":167,"character":5},"arguments":["document:click",[]]}]}],"title":[{"__symbolic":"method"}],"hasTitle":[{"__symbolic":"method"}],"toggleProblemDrawer":[{"__symbolic":"method"}],"hasProblems":[{"__symbolic":"method"}],"closeProblemDrawer":[{"__symbolic":"method"}]}},"ɵdj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"edit-example-20-dialog","template":"<!-- Edit Example Dialog -->\n<div>\n    <div bsModal #editExampleModal=\"bs-modal\" class=\"modal fade\" id=\"editExampleModal\" tabindex=\"-1\" role=\"dialog\" [config]=\"{ backdrop: true }\"\n         aria-labelledby=\"editExampleModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"editExampleModalLabel\">Edit Example</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter the new example value below and then click Edit.</p>\n                    <form id=\"editexample-form\" class=\"form-horizontal\" #editExampleForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"example\">\n                            <code-editor [theme]=\"valueEditorTheme()\" #codeEditor\n                                         [mode]=\"valueEditorMode()\"\n                                         [debounceTime]=\"200\"\n                                         [(text)]=\"value\"\n                                         [editorStyle]=\"{ position: 'relative', height: '300px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <button type=\"button\" title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generate()\"\n                                    *ngIf=\"canGenerateExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"edit()\"\n                            [disabled]=\"!editExampleForm.form.valid || !hasValue()\">Edit</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".modal-body .example{position:relative}.modal-body .example .btn-generate{position:absolute;top:0;right:0;z-index:10}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"editExampleModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":46,"character":5},"arguments":["editExampleModal"]}]}],"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":47,"character":5},"arguments":["codeEditor"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"valueEditorTheme":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"setValueFormatFromValue":[{"__symbolic":"method"}],"canGenerateExample":[{"__symbolic":"method"}],"generate":[{"__symbolic":"method"}]}},"ɵdk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"icon-button","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":35,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"template":"<button class=\"icon-button\" [disabled]=\"disabled\" title=\"{{ title }}\"\n        [style.visibility]=\"invisible ? 'hidden' : 'inherit'\"\n        [class.pull-right]=\"pullRight\" (click)=\"doClick()\"><span class=\"{{ pfIconType() }}\"></span></button>","styles":["button.icon-button{border:0;background-color:transparent;color:#776;padding-left:3px;padding-right:3px}button.icon-button:hover{color:#3f4950}button.icon-button:disabled{color:#ccc}button.icon-button span.fa{font-size:15px}button.icon-button span.pficon-edit{font-size:11px}button.icon-button span.pficon-add-circle-o{font-size:13px}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"invisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"pullRight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"onClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"pfIconType":[{"__symbolic":"method"}],"doClick":[{"__symbolic":"method"}]}},"ɵdl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"signpost","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":24,"character":21},"member":"OnPush"},"template":"<div class=\"container-fluid api-signpost\">\n    <div class=\"row-fluid\">\n        <ng-content></ng-content>\n    </div>\n</div>\n","styles":[".api-signpost a{color:#0088ce;cursor:pointer;margin-left:5px}"]}]}],"members":{}},"ɵdm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"problem-drawer","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":42,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"template":"<div class=\"editor-problem-drawer\">\n    <div class=\"drawer-pf drawer-pf-notifications-non-clickable\">\n        <div class=\"drawer-pf-title\">\n            <a class=\"drawer-pf-close pficon pficon-close\" (click)=\"close.emit(true)\"></a>\n            <a title=\"Customize validation settings for this API...\" class=\"drawer-pf-settings pficon pficon-settings\"\n               *ngIf=\"showValidationSettings()\"\n               (click)=\"onConfigureValidation.emit()\"></a>\n            <h3 class=\"text-center\">Validation Problems</h3>\n        </div>\n        <div class=\"panel-group\">\n            <div class=\"panel panel-default\">\n                <div class=\"panel-body\">\n                    <div class=\"drawer-pf-notification\" *ngFor=\"let error of validationErrors\">\n                        <span class=\"pficon {{ iconFor(error) }} pull-left\" title=\"{{ error.errorCode }}\"></span>\n                        <div class=\"drawer-pf-notification-content\">\n                            <span class=\"drawer-pf-notification-message\">{{ summaryFor(error) }}</span>\n                            <div class=\"drawer-pf-notification-info\">\n                                <div class=\"explanation\">{{ explanationFor(error) }}</div>\n                                <a (click)=\"goTo(error)\">Go to problem</a>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"blank-slate-pf\" *ngIf=\"!hasProblems()\">\n                        <div class=\"blank-slate-pf-icon\">\n                            <span class=\"pficon-info\"></span>\n                        </div>\n                        <h1>There are no problems to display.</h1>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[".drawer-pf-settings{left:0;color:#252525;cursor:pointer;line-height:inherit;padding:2px 10px;position:absolute;text-decoration:none}.drawer-pf-settings:hover{text-decoration:none}"]}]}],"members":{"validationErrors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"onConfigureValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":59,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵdn"},{"__symbolic":"reference","name":"ɵh"}]}],"hasProblems":[{"__symbolic":"method"}],"goTo":[{"__symbolic":"method"}],"iconFor":[{"__symbolic":"method"}],"summaryFor":[{"__symbolic":"method"}],"explanationFor":[{"__symbolic":"method"}],"showValidationSettings":[{"__symbolic":"method"}]}},"ɵdn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":471,"character":1}}],"members":{"summary":[{"__symbolic":"method"}],"explanation":[{"__symbolic":"method"}]}},"ɵdo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"checkbox-input","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":14,"character":21},"member":"OnPush"},"template":"<span class=\"checkbox-input\">\n      <label for=\"{{ id }}\">{{ label }}:</label>\n      <input type=\"checkbox\"  #excludeCheckBox [checked]=\"getState()\"  name=\"{{ name }}\" id=\"{{ id }}\" (click)=\"onSaveState(excludeCheckBox.checked)\"  >\n</span>\n","styles":[".checkbox-input>label{min-width:100px}.checkbox-input>input{margin-left:10px}"]}]}],"members":{"defaultValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"getState":[{"__symbolic":"method"}],"onSaveState":[{"__symbolic":"method"}],"initialValueForEditing":[{"__symbolic":"method"}]}},"ɵdp":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":63,"character":1},"arguments":[{"selector":"security-requirement-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":67,"character":19},"member":"None"},"template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"security-requirement\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"false\" heading=\"Define the Security Requirement\" [valid]=\"isValid()\">\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>Configure a Security Requirement</h3>\n            <p class=\"explanation\">\n                <span>\n                    Choose which combination of security schemes are required by clients accessing\n                    <span class=\"strong\" *ngIf=\"!isGlobalContext()\">this operation.</span>\n                    <span class=\"strong\" *ngIf=\"isGlobalContext()\">any operation in this API.</span>\n                    When necessary (depending on the type of scheme) also configure required scopes for each enabled scheme.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"list-group list-view-pf list-view-pf-view security-scheme-list\">\n\n                <!-- No Schemes Found -->\n                <div class=\"blank-slate-pf \" *ngIf=\"schemes.length === 0\">\n                    <div class=\"blank-slate-pf-icon\">\n                        <span class=\"pficon pficon pficon-warning-triangle-o\"></span>\n                    </div>\n                    <h1>No Security Schemes Found</h1>\n                    <p>\n                        There are currently no <strong>Security Schemes</strong> defined for this API.  Before you can\n                        configure the <strong>security requirements</strong>, you must first configure the possible schemes.\n                        Security schemes are configured at the root/global of the API.\n                    </p>\n                </div>\n\n                <!-- Select from list of Schemes -->\n                <div class=\"list-group-item anonymous\" [class.active]=\"anonEnabled\" *ngIf=\"schemes.length > 0\">\n                    <div class=\"list-group-item-header\">\n                        <div class=\"list-view-pf-expand\" [style.visibility]=\"'hidden'\">\n                            <span class=\"fa fa-angle-right\"></span>\n                        </div>\n                        <div class=\"list-view-pf-checkbox\">\n                            <input type=\"checkbox\" [checked]=\"anonEnabled\" (change)=\"setAnon($event.target['checked'])\">\n                        </div>\n                        <div class=\"list-view-pf-main-info\" (click)=\"setAnon(!anonEnabled)\">\n                            <div class=\"list-view-pf-body\">\n                                <div class=\"list-view-pf-description\">\n                                    <div class=\"list-group-item-heading\">\n                                        <span class=\"name\">No Security</span>\n                                        <span class=\"type\">anonymous</span>\n                                    </div>\n                                </div>\n                                <div class=\"list-view-pf-additional-info\">\n                                    <div class=\"list-group-item-text\">Allow access to the API without authentication (cannot be <strong>combined</strong> with other security).</div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"list-group-item\" *ngFor=\"let scheme of schemes\" [class.active]=\"isChecked(scheme)\"\n                     [class.list-view-pf-expand-active]=\"isExpanded(scheme)\">\n                    <div class=\"list-group-item-header\">\n                        <div class=\"list-view-pf-expand\" [style.visibility]=\"canExpand(scheme) ? 'visible' : 'hidden'\">\n                            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isExpanded(scheme)\"\n                                  (click)=\"toggleExpansion(scheme)\"></span>\n                        </div>\n                        <div class=\"list-view-pf-checkbox\">\n                            <input type=\"checkbox\" [checked]=\"isChecked(scheme)\" (change)=\"toggleSecurityScheme(scheme, $event.target['checked'])\">\n                        </div>\n                        <div class=\"list-view-pf-main-info\" (click)=\"toggleSecurityScheme(scheme)\">\n                            <div class=\"list-view-pf-body\">\n                                <div class=\"list-view-pf-description\">\n                                    <div class=\"list-group-item-heading\">\n                                        <span class=\"name\">{{ scheme.getSchemeName() }}</span>\n                                        <span class=\"type\">{{ scheme.type }}</span>\n                                    </div>\n                                </div>\n                                <div class=\"list-view-pf-additional-info\">\n                                    <div class=\"list-group-item-text\">{{ scheme.description }}</div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <div *ngIf=\"canExpand(scheme)\" class=\"list-group-item-container container-fluid\" [class.hidden]=\"!isExpanded(scheme)\">\n                        <div class=\"close\">\n                            <span class=\"pficon pficon-close\" (click)=\"collapse(scheme)\"></span>\n                        </div>\n                        <div class=\"row scopes-row\">\n                            <td class=\"col-md-12 scopes-section\">\n                                <div class=\"instructions\" *ngIf=\"scopes(scheme).length > 0 && isGlobalContext()\">Specify scopes to define the permissions necessary for users to access operations in this API.</div>\n                                <div class=\"instructions\" *ngIf=\"scopes(scheme).length > 0 && !isGlobalContext()\">Specify scopes to define the permissions necessary for a user to access the operation.</div>\n                                <div class=\"no-scopes\" *ngIf=\"scopes(scheme).length === 0\">\n                                    <div class=\"alert alert-warning\">\n                                        <span class=\"pficon pficon-warning-triangle-o\"></span>\n                                        <strong>No Available Scopes</strong> No scopes have been configured for this Security Scheme.\n                                    </div>\n                                </div>\n                                <div class=\"scopes\" *ngIf=\"scopes(scheme).length > 0\">\n                                    <div class=\"scope\" *ngFor=\"let scope of scopes(scheme)\">\n                                        <div class=\"scope-check\">\n                                            <input type=\"checkbox\" [checked]=\"isScopeChecked(scheme, scope.name)\" [disabled]=\"!isChecked(scheme)\"\n                                                   (change)=\"toggleScope(scheme, scope.name, $event.target['checked'])\">\n                                        </div>\n                                        <div class=\"scope-name\">\n                                            <a [class.disabled]=\"!isChecked(scheme)\" title=\"{{ scope.description }}\"\n                                               (click)=\"toggleScope(scheme, scope.name)\">{{ scope.name }}</a>\n                                        </div>\n                                    </div>\n                                </div>\n\n                            </td>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</entity-editor>\n","styles":[".security-scheme-list{margin-left:20px}.security-scheme-list .list-view-pf-main-info{padding-top:24px}.security-scheme-list .list-group-item.anonymous{border-bottom:1px dashed #999}.security-scheme-list .list-group-item-heading .type:before{content:\"(\"}.security-scheme-list .list-group-item-heading .type{font-weight:400;margin-left:5px}.security-scheme-list .list-group-item-heading .type:after{content:\")\"}.security-scheme-list .list-group-item-container{padding:10px 15px}.security-scheme-list .list-group-item-container .instructions{text-decoration:underline;margin-bottom:5px}.security-scheme-list .list-group-item.list-view-pf-expand-active{margin-bottom:4px}.no-scopes .alert{margin-top:18px;margin-left:15px;margin-right:35px}.security-scheme-list .scopes .scope{display:flex;margin-bottom:5px}.security-scheme-list .scopes .scope .scope-check{padding-left:10px;padding-right:10px;border-right:1px solid #ccc}.security-scheme-list .scopes .scope .scope-name{padding-left:10px;flex-grow:1;font-weight:600;text-overflow:ellipsis}.security-scheme-list .scopes .scope .scope-name a{color:#363636;cursor:default;text-decoration:none}.security-scheme-list .scopes .scope .scope-name a:hover{color:#5c5c5c;text-decoration:none}.security-scheme-list .scopes .scope .scope-name a.disabled{color:#bbb}.security-scheme-list .scopes-row .scopes-section{padding-left:50px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"open":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"setAnon":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"isChecked":[{"__symbolic":"method"}],"canExpand":[{"__symbolic":"method"}],"isExpanded":[{"__symbolic":"method"}],"toggleExpansion":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"toggleSecurityScheme":[{"__symbolic":"method"}],"scopes":[{"__symbolic":"method"}],"isScopeChecked":[{"__symbolic":"method"}],"toggleScope":[{"__symbolic":"method"}],"findSchemes":[{"__symbolic":"method"}]}},"ɵdq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":28,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"This section allows you to modify the Version and Description of the API.\"\n         [collaborationNodePath]=\"[ '/info/version', '/info/description' ]\"\n         [validationModels]=\"[info()]\" [validationProperties]=\"['version', 'description']\" [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <!-- Version -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"info()\" property=\"version\" [shallow]=\"true\"></validation-problem>\n            <span>Version</span>\n        </div>\n        <div class=\"section-field version\">\n            <pf-inline-text-editor [value]=\"version()\"\n                                   [labelClass]=\"'api-version'\"\n                                   [formClass]=\"'api-title-editor-form'\"\n                                   [inputClass]=\"'api-item-editor api-version-editor api-version api-item-version'\"\n                                   [baseNode]=\"info()\" nodePath=\"version\"\n                                   [noValueMessage]=\"'N/A'\" (onChange)=\"onVersionChange($event)\"></pf-inline-text-editor>\n        </div>\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"info()\" property=\"description\" [shallow]=\"true\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"description()\"\n                                    [labelClass]=\"'api-description api-item-description'\"\n                                    [formClass]=\"'api-description-editor-form'\"\n                                    [inputClass]=\"'api-item-editor api-description-editor api-description api-item-description'\"\n                                    [baseNode]=\"info()\" nodePath=\"description\"\n                                    [noValueMessage]=\"'No description.'\" (onChange)=\"onDescriptionChange($event)\"></inline-markdown-editor>\n        </div>\n        <!-- Consumes and Produces (2.0 only) -->\n        <div *ngIf=\"document.is2xDocument()\">\n            <!-- Consumes -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"document\" property=\"consumes\" [shallow]=\"true\"></validation-problem>\n                <span>Consumes (Inputs)</span>\n            </div>\n            <div class=\"section-field consumes\">\n                <inline-array-editor [value]=\"consumes()\" [noValueMessage]=\"'Set the consumes content-type.'\"\n                                     [items]=\"[ 'application/json', 'text/xml', 'multipart/form-data' ]\"\n                                     [baseNode]=\"document\" nodePath=\"consumes\"\n                                     (onChange)=\"onConsumesChange($event)\"></inline-array-editor>\n            </div>\n            <!-- Produces -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"document\" property=\"produces\" [shallow]=\"true\"></validation-problem>\n                <span>Produces (Outputs)</span>\n            </div>\n            <div class=\"section-field produces\">\n                <inline-array-editor [value]=\"produces()\" [noValueMessage]=\"'Set the produces content-type.'\"\n                                     [items]=\"[ 'application/json', 'text/xml', 'multipart/form-data' ]\"\n                                     [baseNode]=\"document\" nodePath=\"produces\"\n                                     (onChange)=\"onProducesChange($event)\"></inline-array-editor>\n            </div>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"info":[{"__symbolic":"method"}],"version":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"onVersionChange":[{"__symbolic":"method"}],"onDescriptionChange":[{"__symbolic":"method"}],"onConsumesChange":[{"__symbolic":"method"}],"onProducesChange":[{"__symbolic":"method"}],"consumes":[{"__symbolic":"method"}],"produces":[{"__symbolic":"method"}]}},"ɵdr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"aaiinfo-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":28,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\" contextHelp=\"This section allows you to modify the Version and Description of the API.\" [collaborationNodePath]=\"[ '/info/version', '/info/description' ]\" [validationModels]=\"[info()]\" [validationProperties]=\"['version', 'description']\"\n    [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <!-- Version -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"info()\" property=\"version\" [shallow]=\"true\"></validation-problem>\n            <span>Version</span>\n        </div>\n        <div class=\"section-field version\">\n            <pf-inline-text-editor [value]=\"version()\" [labelClass]=\"'api-version'\" [formClass]=\"'api-title-editor-form'\" [inputClass]=\"'api-item-editor api-version-editor api-version api-item-version'\" [baseNode]=\"info()\" nodePath=\"version\" [noValueMessage]=\"'N/A'\"\n                (onChange)=\"onVersionChange($event)\"></pf-inline-text-editor>\n        </div>\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"info()\" property=\"description\" [shallow]=\"true\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"description()\" [labelClass]=\"'api-description api-item-description'\" [formClass]=\"'api-description-editor-form'\" [inputClass]=\"'api-item-editor api-description-editor api-description api-item-description'\" [baseNode]=\"info()\"\n                nodePath=\"description\" [noValueMessage]=\"'No description.'\" (onChange)=\"onDescriptionChange($event)\"></inline-markdown-editor>\n        </div>\n        <!-- TermsOfService -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"info()\" property=\"termsOfService\" [shallow]=\"true\"></validation-problem>\n            <span>Terms of Service</span>\n        </div>\n        <div class=\"section-field termsOfService\">\n            <pf-inline-text-editor [value]=\"termsOfService()\" [labelClass]=\"'api-termsOfService'\" [formClass]=\"'api-title-editor-form'\" [inputClass]=\"'api-item-editor api-termsOfService-editor api-termsOfService api-item-termsOfService'\" [baseNode]=\"info()\" nodePath=\"termsOfService\"\n                [noValueMessage]=\"'No URL provided'\" (onChange)=\"onTermsOfServiceChange($event)\"></pf-inline-text-editor>\n        </div>\n    </div>\n</section>"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"info":[{"__symbolic":"method"}],"version":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"termsOfService":[{"__symbolic":"method"}],"onVersionChange":[{"__symbolic":"method"}],"onDescriptionChange":[{"__symbolic":"method"}],"onTermsOfServiceChange":[{"__symbolic":"method"}]}},"ɵds":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"validation-problem","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":35,"character":21},"member":"OnPush"},"template":"<span (window:keydown)=\"onGlobalKeyDown($event)\" *ngIf=\"hasProblems()\">\n    <a class=\"validation-problem-icon\" (click)=\"open($event)\"><span class=\"pficon {{ icon() }}\"></span></a>\n</span>\n<div *ngIf=\"isOpen()\" class=\"validation-problems-panel\" [style.left]=\"left\" [style.top]=\"top\">\n    <div class=\"problem\" *ngFor=\"let problem of validationProblems()\">\n        <span class=\"pficon {{ iconFor(problem) }}\" title=\"{{ problem.errorCode }}\"></span>\n        {{ summaryFor(problem) }}\n    </div>\n</div>\n"}]}],"members":{"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"shallow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":61,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵdn"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":71,"character":5},"arguments":["document:click",["$event"]]}]}],"onWindowResize":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":80,"character":5},"arguments":["window:resize",["$event"]]}]}],"hasProblems":[{"__symbolic":"method"}],"validationProblems":[{"__symbolic":"method"}],"icon":[{"__symbolic":"method"}],"iconFor":[{"__symbolic":"method"}],"summaryFor":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}]}},"ɵdt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"validation-aggregate","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<span (window:keydown)=\"onGlobalKeyDown($event)\" class=\"validation-aggregate\" *ngIf=\"hasProblems()\">\n    <a (click)=\"open($event)\"><span class=\"fa fa-exclamation-circle\"> </span></a>\n    <div *ngIf=\"isOpen()\" class=\"validation-aggregate-panel\" [style.left]=\"left\" [style.top]=\"top\">\n        <div class=\"problem\" *ngFor=\"let problem of matchingProblems()\" title=\"{{ problem.message }}\">\n            <span class=\"pficon {{ iconFor(problem) }}\"></span>\n            <a (click)=\"goTo(problem, $event)\">{{ summaryFor(problem) }}</a>\n            </div>\n    </div>\n</span>","styles":[".validation-aggregate .validation-aggregate-panel .problem a{color:#666;cursor:pointer}.validation-aggregate .validation-aggregate-panel .problem a:hover{color:#0088ce}.validation-aggregate .validation-aggregate-panel .problem .pficon{margin-right:3px}"]}]}],"members":{"models":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"properties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"codes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"shallow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":63,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵdn"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":73,"character":5},"arguments":["document:click",["$event"]]}]}],"onDocumentScroll":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":5},"arguments":["document:scroll",["$event"]]}]}],"onWindowResize":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":87,"character":5},"arguments":["window:resize",["$event"]]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}],"hasProblems":[{"__symbolic":"method"}],"matchingProblems":[{"__symbolic":"method"}],"iconFor":[{"__symbolic":"method"}],"summaryFor":[{"__symbolic":"method"}],"goTo":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}]}},"ɵdu":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"contact-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":28,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":21},"member":"OnPush"},"template":"<section type=\"contact\" label=\"CONTACT\"\n         contextHelp=\"Update the information contained in this section to provide users of the API details about how to contact you should they need help.\"\n         collaborationNodePath=\"/info/contact\"\n         [validationModels]=\"[contact()]\">\n    <span actions>\n        <icon-button (onClick)=\"deleteContact()\" [disabled]=\"!hasContact()\" [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete the contact information.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasContact()\">\n            <span>No contact information has been entered.</span>\n            <a (click)=\"createEmptyContact()\">Add contact info</a>\n        </signpost>\n        <div *ngIf=\"hasContact()\">\n            <!-- Contact Name -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"name\"></validation-problem>\n                <span>Name</span>\n            </div>\n            <div class=\"section-field name\">\n                <pf-inline-text-editor [value]=\"contactName()\"\n                                       [labelClass]=\"'contact-name'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"name\"\n                                       [noValueMessage]=\"'No name provided.'\" (onChange)=\"changeContactName($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Contact Email -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"email\"></validation-problem>\n                <span>Email</span>\n            </div>\n            <div class=\"section-field email\">\n                <pf-inline-text-editor [value]=\"contactEmail()\"\n                                       [labelClass]=\"'contact-email'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"email\"\n                                       [noValueMessage]=\"'No email provided.'\" (onChange)=\"changeContactEmail($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Contact URL -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"url\"></validation-problem>\n                <span>URL</span>\n            </div>\n            <div class=\"section-field url\">\n                <pf-inline-text-editor [value]=\"contactUrl()\"\n                                       [labelClass]=\"'contact-url'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"url\"\n                                       [noValueMessage]=\"'No URL provided.'\" (onChange)=\"changeContactURL($event)\"></pf-inline-text-editor>\n            </div>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"hasContact":[{"__symbolic":"method"}],"contact":[{"__symbolic":"method"}],"createEmptyContact":[{"__symbolic":"method"}],"deleteContact":[{"__symbolic":"method"}],"contactName":[{"__symbolic":"method"}],"contactEmail":[{"__symbolic":"method"}],"contactUrl":[{"__symbolic":"method"}],"changeContactName":[{"__symbolic":"method"}],"changeContactEmail":[{"__symbolic":"method"}],"changeContactURL":[{"__symbolic":"method"}]}},"ɵdv":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"aaicontact-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":28,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":29,"character":21},"member":"OnPush"},"template":"<section type=\"contact\" label=\"CONTACT\"\n         contextHelp=\"Update the information contained in this section to provide users of the API details about how to contact you should they need help.\"\n         collaborationNodePath=\"/info/contact\"\n         [validationModels]=\"[contact()]\">\n    <span actions>\n        <icon-button (onClick)=\"deleteContact()\" [disabled]=\"!hasContact()\" [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete the contact information.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasContact()\">\n            <span>No contact information has been entered.</span>\n            <a (click)=\"createEmptyContact()\">Add contact info</a>\n        </signpost>\n        <div *ngIf=\"hasContact()\">\n            <!-- Contact Name -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"name\"></validation-problem>\n                <span>Name</span>\n            </div>\n            <div class=\"section-field name\">\n                <pf-inline-text-editor [value]=\"contactName()\"\n                                       [labelClass]=\"'contact-name'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"name\"\n                                       [noValueMessage]=\"'No name provided.'\" (onChange)=\"changeContactName($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Contact Email -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"email\"></validation-problem>\n                <span>Email</span>\n            </div>\n            <div class=\"section-field email\">\n                <pf-inline-text-editor [value]=\"contactEmail()\"\n                                       [labelClass]=\"'contact-email'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"email\"\n                                       [noValueMessage]=\"'No email provided.'\" (onChange)=\"changeContactEmail($event)\"></pf-inline-text-editor>\n            </div>\n\n            <!-- Contact URL -->\n            <div class=\"section-field-label\">\n                <validation-problem [model]=\"contact()\" property=\"url\"></validation-problem>\n                <span>URL</span>\n            </div>\n            <div class=\"section-field url\">\n                <pf-inline-text-editor [value]=\"contactUrl()\"\n                                       [labelClass]=\"'contact-url'\"\n                                       [baseNode]=\"document.info.contact\"\n                                       nodePath=\"url\"\n                                       [noValueMessage]=\"'No URL provided.'\" (onChange)=\"changeContactURL($event)\"></pf-inline-text-editor>\n            </div>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"hasContact":[{"__symbolic":"method"}],"contact":[{"__symbolic":"method"}],"createEmptyContact":[{"__symbolic":"method"}],"deleteContact":[{"__symbolic":"method"}],"contactName":[{"__symbolic":"method"}],"contactEmail":[{"__symbolic":"method"}],"contactUrl":[{"__symbolic":"method"}],"changeContactName":[{"__symbolic":"method"}],"changeContactEmail":[{"__symbolic":"method"}],"changeContactURL":[{"__symbolic":"method"}]}},"ɵdw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"license-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<section type=\"license\" label=\"LICENSE\"\n         contextHelp=\"Does your API have a license?  If it does, you can configure it here.\"\n         collaborationNodePath=\"/info/license\"\n         [validationModels]=\"[licenseModel()]\">\n    <span actions>\n        <icon-button (onClick)=\"deleteLicense()\" [disabled]=\"!hasLicense()\" [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete the license information.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasLicense()\">\n            <span>No license has been set.</span>\n            <a (click)=\"setLicenseDialog.open()\">Set license</a>\n        </signpost>\n\n        <div *ngIf=\"hasLicense() && license() === null\" class=\"container-fluid license\">\n            <div class=\"row\">\n                <div class=\"col-md-8\">\n                    <h2><a href=\"{{ licenseUrl() }}\" target=\"_blank\">{{ licenseName() }}</a><span class=\"fa fa-fw fa-external-link\"></span></h2>\n                    <p>You have configured a license that we are not familiar with.  For information about the license, click the link above!  Or else click the button below to choose a different license...</p>\n                    <button class=\"btn btn-sm btn-default\" (click)=\"setLicenseDialog.open()\">Change License</button>\n                </div>\n            </div>\n        </div>\n\n        <div *ngIf=\"license() !== null\" class=\"container-fluid license\">\n            <div class=\"row\">\n                <div class=\"col-md-6\">\n                    <h2><a href=\"{{ license().url }}\" target=\"_blank\">{{ license().name }}</a><span class=\"fa fa-fw fa-external-link\"></span></h2>\n                    <p>{{ license().description }}</p>\n                    <button class=\"btn btn-sm btn-default\" (click)=\"setLicenseDialog.open()\">Change License</button>\n                    <a class=\"pull-right\" href=\"{{ license().moreInfoUrl }}\" target=\"_blank\">View full {{ license().fullName }} »</a>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Permissions</h3>\n                    <ul class=\"permissions\">\n                        <li *ngFor=\"let permission of license().permissions\"><span title=\"{{ licenseService.permissionDescription(permission) }}\">{{ licenseService.permissionName(permission) }}</span></li>\n                    </ul>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Conditions</h3>\n                    <ul class=\"conditions\">\n                        <li *ngFor=\"let condition of license().conditions\"><span title=\"{{ licenseService.conditionDescription(condition) }}\">{{ licenseService.conditionName(condition) }}</span></li>\n                    </ul>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Limitations</h3>\n                    <ul class=\"limitations\">\n                        <li *ngFor=\"let limitation of license().limitations\"><span title=\"{{ licenseService.limitationDescription(limitation) }}\">{{ licenseService.limitationName(limitation) }}</span></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n<set-license-dialog #setLicenseDialog (onLicenseChosen)=\"setLicense($event)\"></set-license-dialog>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵd"}]}],"hasLicense":[{"__symbolic":"method"}],"license":[{"__symbolic":"method"}],"licenseModel":[{"__symbolic":"method"}],"licenseName":[{"__symbolic":"method"}],"licenseUrl":[{"__symbolic":"method"}],"setLicense":[{"__symbolic":"method"}],"deleteLicense":[{"__symbolic":"method"}]}},"ɵdx":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"aailicense-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"template":"<section type=\"license\" label=\"LICENSE\" contextHelp=\"Does your API have a license?  If it does, you can configure it here.\" collaborationNodePath=\"/info/license\" [validationModels]=\"[licenseModel()]\">\n    <span actions>\n        <icon-button (onClick)=\"deleteLicense()\" [disabled]=\"!hasLicense()\" [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete the license information.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasLicense()\">\n            <span>No license has been set.</span>\n            <a (click)=\"setLicenseDialog.open()\">Set license</a>\n        </signpost>\n\n        <div *ngIf=\"hasLicense() && license() === null\" class=\"container-fluid license\">\n            <div class=\"row\">\n                <div class=\"col-md-8\">\n                    <h2><a href=\"{{ licenseUrl() }}\" target=\"_blank\">{{ licenseName() }}</a><span class=\"fa fa-fw fa-external-link\"></span></h2>\n                    <p>You have configured a license that we are not familiar with. For information about the license, click the link above! Or else click the button below to choose a different license...</p>\n                    <button class=\"btn btn-sm btn-default\" (click)=\"setLicenseDialog.open()\">Change License</button>\n                </div>\n            </div>\n        </div>\n\n        <div *ngIf=\"license() !== null\" class=\"container-fluid license\">\n            <div class=\"row\">\n                <div class=\"col-md-6\">\n                    <h2><a href=\"{{ license().url }}\" target=\"_blank\">{{ license().name }}</a><span class=\"fa fa-fw fa-external-link\"></span></h2>\n                    <p>{{ license().description }}</p>\n                    <button class=\"btn btn-sm btn-default\" (click)=\"setLicenseDialog.open()\">Change License</button>\n                    <a class=\"pull-right\" href=\"{{ license().moreInfoUrl }}\" target=\"_blank\">View full {{ license().fullName }} »</a>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Permissions</h3>\n                    <ul class=\"permissions\">\n                        <li *ngFor=\"let permission of license().permissions\"><span title=\"{{ licenseService.permissionDescription(permission) }}\">{{ licenseService.permissionName(permission) }}</span></li>\n                    </ul>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Conditions</h3>\n                    <ul class=\"conditions\">\n                        <li *ngFor=\"let condition of license().conditions\"><span title=\"{{ licenseService.conditionDescription(condition) }}\">{{ licenseService.conditionName(condition) }}</span></li>\n                    </ul>\n                </div>\n                <div class=\"col-md-2\">\n                    <h3>Limitations</h3>\n                    <ul class=\"limitations\">\n                        <li *ngFor=\"let limitation of license().limitations\"><span title=\"{{ licenseService.limitationDescription(limitation) }}\">{{ licenseService.limitationName(limitation) }}</span></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n<set-license-dialog #setLicenseDialog (onLicenseChosen)=\"setLicense($event)\"></set-license-dialog>"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵd"}]}],"hasLicense":[{"__symbolic":"method"}],"license":[{"__symbolic":"method"}],"licenseModel":[{"__symbolic":"method"}],"licenseName":[{"__symbolic":"method"}],"licenseUrl":[{"__symbolic":"method"}],"setLicense":[{"__symbolic":"method"}],"deleteLicense":[{"__symbolic":"method"}]}},"ɵdy":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":43,"character":1},"arguments":[{"selector":"tags-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":46,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":47,"character":21},"member":"OnPush"},"template":"<section type=\"tags\" label=\"TAG DEFINITIONS\" [counterItems]=\"tags()\"\n         contextHelp=\"Configure tags for your API in this section.  Once defined, tags can be used to organize your API's operations by arbitrary criteria.\"\n         collaborationNodePath=\"/tags\"\n         [validationModels]=\"tags()\">\n    <span actions>\n        <icon-button (onClick)=\"addTagDialog.open(document)\" [pullRight]=\"true\" type=\"add\"\n                     title=\"Add a tag to the API.\"></icon-button>\n        <icon-button (onClick)=\"deleteAllTags()\" [disabled]=\"!hasTags()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     title=\"Delete all tag definitions.\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"tags().length === 0\">\n            <span>No tags have been configured.</span>\n            <a (click)=\"addTagDialog.open(document)\">Add a tag</a>\n        </signpost>\n\n        <!-- The list of tags -->\n        <div class=\"tags\" *ngIf=\"tags().length > 0\">\n            <tag-row *ngFor=\"let tag of tags()\" [item]=\"tag\"\n                     (onRename)=\"openRenameDialog(tag)\"\n                     (onDelete)=\"deleteTag(tag)\"></tag-row>\n        </div>\n    </div>\n</section>\n<add-tag-dialog #addTagDialog (onAdd)=\"addTag($event)\"></add-tag-dialog>\n<rename-entity-dialog #renameDialog\n                      type=\"Tag\"\n                      title=\"Rename Tag\"\n                      warning=\"Renaming a Tag will also update any references to that tag elsewhere in the API (e.g. tagging on operations).\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":53,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":62,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"tags":[{"__symbolic":"method"}],"changeTagDescription":[{"__symbolic":"method"}],"deleteTag":[{"__symbolic":"method"}],"addTag":[{"__symbolic":"method"}],"hasTags":[{"__symbolic":"method"}],"deleteAllTags":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵdz":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":34,"character":1},"arguments":[{"selector":"aaiservers-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":37,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":38,"character":21},"member":"OnPush"},"template":"<section type=\"servers\" label=\"SERVERS\"\n         [counterItems]=\"servers()\"\n         [contextHelp]=\"description\"\n         [collaborationNodePath]=\"serversPath()\"\n         [validationModels]=\"servers()\" [expanded]=\"showSectionBody\">\n    <span actions>\n        <icon-button (onClick)=\"onAddServer()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a server to the API.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllServers()\" [disabled]=\"!hasServers()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all servers.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"servers().length === 0\">\n            <span>No servers have been defined.</span>\n            <a (click)=\"onAddServer()\">Add a server</a>\n        </signpost>\n\n        <!-- The list of servers -->\n        <div class=\"tags\" *ngIf=\"servers().length > 0\">\n            <aaiserver-row *ngFor=\"let server of servers()\" [item]=\"server\"\n                        (onEdit)=\"changeServer($event)\"\n                        (onDelete)=\"deleteServer(server)\"\n                        (onRename)=\"openRenameDialog(server)\"></aaiserver-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Server\"\n                      title=\"Rename server\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., - and _ are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"collapsed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":50,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"servers":[{"__symbolic":"method"}],"serversPath":[{"__symbolic":"method"}],"deleteServer":[{"__symbolic":"method"}],"addServer":[{"__symbolic":"method"}],"changeServer":[{"__symbolic":"method"}],"copyServerToModel":[{"__symbolic":"method"}],"onAddServer":[{"__symbolic":"method"}],"hasServers":[{"__symbolic":"method"}],"deleteAllServers":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵea":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"servers-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":40,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":41,"character":21},"member":"OnPush"},"template":"<section type=\"servers\" label=\"SERVERS\"\n         [counterItems]=\"servers()\"\n         [contextHelp]=\"description\"\n         [collaborationNodePath]=\"serversPath()\"\n         [validationModels]=\"servers()\" [expanded]=\"showSectionBody\">\n    <span actions>\n        <icon-button (onClick)=\"onAddServer()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a server to the API.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllServers()\" [disabled]=\"!hasServers()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all servers.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"servers().length === 0\">\n            <span>No servers have been defined.</span>\n            <a (click)=\"onAddServer()\">Add a server</a>\n        </signpost>\n\n        <!-- The list of servers -->\n        <div class=\"tags\" *ngIf=\"servers().length > 0\">\n            <server-row *ngFor=\"let server of servers()\" [item]=\"server\"\n                        (onEdit)=\"changeServer($event)\"\n                        (onDelete)=\"deleteServer(server)\"></server-row>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"collapsed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":51,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"servers":[{"__symbolic":"method"}],"serversPath":[{"__symbolic":"method"}],"deleteServer":[{"__symbolic":"method"}],"addServer":[{"__symbolic":"method"}],"changeServer":[{"__symbolic":"method"}],"onAddServer":[{"__symbolic":"method"}],"copyServerToModel":[{"__symbolic":"method"}],"hasServers":[{"__symbolic":"method"}],"deleteAllServers":[{"__symbolic":"method"}]}},"ɵeb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":47,"character":1},"arguments":[{"selector":"aaisecurity-requirement-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":51,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":52,"character":21},"member":"OnPush"},"template":"<div class=\"security-requirement\">\n    <div class=\"name\">\n        <validation-problem [model]=\"item\" [shallow]=\"true\"></validation-problem>\n        <span class=\"fa fa-lock fa-fw\" *ngIf=\"!isAnonSecurity(item)\"></span>\n        <span class=\"fa fa-unlock fa-fw\" *ngIf=\"isAnonSecurity(item)\"></span>\n        <span class=\"requirement-label\" *ngIf=\"!isAnonSecurity(item)\">{{ item.getSecurityRequirementNames().join(\", \") }}</span>\n        <span class=\"requirement-label no-security\" *ngIf=\"isAnonSecurity(item)\">No Security</span>\n    </div>\n    <div class=\"actions\">\n        <div class=\"dropdown dropdown-kebab-pf\">\n            <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                    data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                <span class=\"fa fa-ellipsis-v\"></span>\n            </button>\n            <ul class=\"dropdown-menu dropdown-menu-right\">\n                <li><a (click)=\"openSecurityRequirementEditor(item)\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Edit</span></a></li>\n                <li role=\"separator\" class=\"divider\"></li>\n                <li><a (click)=\"deleteSecurityRequirement(item)\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n            </ul>\n        </div>\n    </div>\n</div>\n\n","styles":[".security-requirement{margin-top:10px;width:100%;padding:5px}.security-requirement:hover{background-color:#edf8ff}.security-requirement .name{display:inline-block}.security-requirement .name .fa{margin-right:3px}.security-requirement .actions{display:inline-block;float:right;padding-right:15px}.security-requirement .requirement-label.no-security{font-style:italic}"]}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"global":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":5}}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":63,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"addSecurityRequirement":[{"__symbolic":"method"}],"changeSecurityRequirement":[{"__symbolic":"method"}],"deleteSecurityRequirement":[{"__symbolic":"method"}],"securityRequirementSummary":[{"__symbolic":"method"}],"openSecurityRequirementEditor":[{"__symbolic":"method"}],"hasSecurityRequirements":[{"__symbolic":"method"}],"securityRequirements":[{"__symbolic":"method"}],"securityRequirementsPath":[{"__symbolic":"method"}],"requirementScopes":[{"__symbolic":"method"}],"isAnonSecurity":[{"__symbolic":"method"}],"deleteAllSecurityRequirements":[{"__symbolic":"method"}]}},"ɵec":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"security-requirements-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":43,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":44,"character":21},"member":"OnPush"},"template":"<section type=\"security-requirements\" label=\"SECURITY REQUIREMENTS\"\n         [counterItems]=\"securityRequirements()\"\n         [collaborationNodePath]=\"securityRequirementsPath()\"\n         [contextHelp]=\"contextHelp()\" [validationModels]=\"securityRequirements()\">\n    <span actions>\n        <icon-button (onClick)=\"openSecurityRequirementEditor()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"global ? 'Add a security requirement to the API.' : 'Add a security requirement for the operation.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllSecurityRequirements()\" [disabled]=\"!hasSecurityRequirements()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     title=\"Delete all security requirements.\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasSecurityRequirements()\">\n            <span>No security requirements have been configured.</span>\n            <a (click)=\"openSecurityRequirementEditor()\">Add security requirement</a>\n        </signpost>\n\n        <div *ngIf=\"hasSecurityRequirements()\">\n            <div *ngIf=\"global\" class=\"api-label\">Security Requirements needed to access <strong>Operations in this API</strong> (clients must choose one combination):</div>\n            <div *ngIf=\"!global\" class=\"api-label\">Security Requirements needed to access <strong>this Operation</strong> (clients must choose one combination):</div>\n            <div class=\"security-requirement\" *ngFor=\"let requirement of securityRequirements()\">\n                <div class=\"name\">\n                    <validation-problem [model]=\"requirement\" [shallow]=\"true\"></validation-problem>\n                    <span class=\"fa fa-lock fa-fw\" *ngIf=\"!isAnonSecurity(requirement)\"></span>\n                    <span class=\"fa fa-unlock fa-fw\" *ngIf=\"isAnonSecurity(requirement)\"></span>\n                    <span class=\"requirement-label\" *ngIf=\"!isAnonSecurity(requirement)\">{{ requirement.getSecurityRequirementNames().join(\", \") }}</span>\n                    <span class=\"requirement-label no-security\" *ngIf=\"isAnonSecurity(requirement)\">No Security</span>\n                </div>\n                <div class=\"actions\">\n                    <div class=\"dropdown dropdown-kebab-pf\">\n                        <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                                data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                            <span class=\"fa fa-ellipsis-v\"></span>\n                        </button>\n                        <ul class=\"dropdown-menu dropdown-menu-right\">\n                            <li><a (click)=\"openSecurityRequirementEditor(requirement)\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Edit</span></a></li>\n                            <li role=\"separator\" class=\"divider\"></li>\n                            <li><a (click)=\"deleteSecurityRequirement(requirement)\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","styles":[".security-requirement{margin-top:10px;width:100%;padding:5px}.security-requirement:hover{background-color:#edf8ff}.security-requirement .name{display:inline-block}.security-requirement .name .fa{margin-right:3px}.security-requirement .actions{display:inline-block;float:right;padding-right:15px}.security-requirement .requirement-label.no-security{font-style:italic}"]}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"global":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":53,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"addSecurityRequirement":[{"__symbolic":"method"}],"changeSecurityRequirement":[{"__symbolic":"method"}],"deleteSecurityRequirement":[{"__symbolic":"method"}],"securityRequirementSummary":[{"__symbolic":"method"}],"openSecurityRequirementEditor":[{"__symbolic":"method"}],"hasSecurityRequirements":[{"__symbolic":"method"}],"securityRequirements":[{"__symbolic":"method"}],"securityRequirementsPath":[{"__symbolic":"method"}],"requirementScopes":[{"__symbolic":"method"}],"isAnonSecurity":[{"__symbolic":"method"}],"deleteAllSecurityRequirements":[{"__symbolic":"method"}]}},"ɵed":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"security-schemes-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":59,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":60,"character":21},"member":"OnPush"},"template":"<section type=\"security\" label=\"SECURITY SCHEMES\" [counterItems]=\"securitySchemes()\"\n         contextHelp=\"Use this section to configure your API's security options.  There are several schemes you can choose from, for example OAuth2.\"\n         [collaborationNodePath]=\"securitySchemesPath()\"\n         [validationModels]=\"securitySchemes()\">\n    <span actions>\n        <icon-button (onClick)=\"openSecuritySchemeModal()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a security scheme to the API.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllSecuritySchemes()\" [disabled]=\"!hasSecuritySchemes()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     title=\"Delete all security schemes.\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasSecuritySchemes()\">\n            <span>No security options have been configured.</span>\n            <a (click)=\"openSecuritySchemeModal()\">Add a security scheme</a>\n        </signpost>\n\n        <!-- The list of schemes -->\n        <div class=\"schemes\" *ngIf=\"hasSecuritySchemes()\">\n            <security-scheme-row *ngFor=\"let scheme of securitySchemes()\" [scheme]=\"scheme\"\n                                 (onEdit)=\"openSecuritySchemeModal(scheme)\"\n                                 (onDelete)=\"deleteSecurityScheme(scheme)\"\n                                 (onRename)=\"openRenameDialog(scheme)\"\n                                 [document]=\"document\"></security-scheme-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Security Scheme\"\n                      title=\"Rename Security Scheme\"\n                      warning=\"Renaming a Security Scheme will also update any references to that scheme elsewhere in the API (e.g. security requirements in operations).\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":76,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"openSecuritySchemeModal":[{"__symbolic":"method"}],"hasSecuritySchemes":[{"__symbolic":"method"}],"securitySchemes":[{"__symbolic":"method"}],"securitySchemesPath":[{"__symbolic":"method"}],"addSecurityScheme":[{"__symbolic":"method"}],"changeSecurityScheme":[{"__symbolic":"method"}],"deleteSecurityScheme":[{"__symbolic":"method"}],"toScopes":[{"__symbolic":"method"}],"copySchemeToModel":[{"__symbolic":"method"}],"deleteAllSecuritySchemes":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵee":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":52,"character":1},"arguments":[{"selector":"aaisecurity-schemes-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":55,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":56,"character":21},"member":"OnPush"},"template":"<section type=\"security\" label=\"SECURITY SCHEMES\" [counterItems]=\"securitySchemes()\"\n         contextHelp=\"Use this section to configure your API's security options.  There are several schemes you can choose from, for example OAuth2.\"\n         [collaborationNodePath]=\"securitySchemesPath()\"\n         [validationModels]=\"securitySchemes()\">\n    <span actions>\n        <icon-button (onClick)=\"openSecuritySchemeModal()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a security scheme to the API.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllSecuritySchemes()\" [disabled]=\"!hasSecuritySchemes()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     title=\"Delete all security schemes.\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasSecuritySchemes()\">\n            <span>No security options have been configured.</span>\n            <a (click)=\"openSecuritySchemeModal()\">Add a security scheme</a>\n        </signpost>\n\n        <!-- The list of schemes -->\n        <div class=\"schemes\" *ngIf=\"hasSecuritySchemes()\">\n            <security-scheme-row *ngFor=\"let scheme of securitySchemes()\" [scheme]=\"scheme\"\n                                 (onEdit)=\"openSecuritySchemeModal(scheme)\"\n                                 (onDelete)=\"deleteSecurityScheme(scheme)\"\n                                 (onRename)=\"openRenameDialog(scheme)\"\n                                 [document]=\"document\"></security-scheme-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Security Scheme\"\n                      title=\"Rename Security Scheme\"\n                      warning=\"Renaming a Security Scheme will also update any references to that scheme elsewhere in the API (e.g. security requirements in operations).\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":72,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"openSecuritySchemeModal":[{"__symbolic":"method"}],"hasSecuritySchemes":[{"__symbolic":"method"}],"securitySchemes":[{"__symbolic":"method"}],"securitySchemesPath":[{"__symbolic":"method"}],"addSecurityScheme":[{"__symbolic":"method"}],"changeSecurityScheme":[{"__symbolic":"method"}],"deleteSecurityScheme":[{"__symbolic":"method"}],"toScopes":[{"__symbolic":"method"}],"copySchemeToModel":[{"__symbolic":"method"}],"deleteAllSecuritySchemes":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵef":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"path-params-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":49,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":50,"character":21},"member":"OnPush"},"template":"<!-- Path Parameters Section -->\n<section type=\"path-parameters\" label=\"PATH PARAMETERS\"\n         [counterItems]=\"pathParameters()\" *ngIf=\"canHavePathParams()\"\n         [collaborationNodePath]=\"pathParameterPaths()\"\n         [contextHelp]=\"contextHelp()\" [validationModels]=\"pathParameters()\">\n    <span actions></span>\n    <div body>\n        <!-- The list of path parameters -->\n        <div class=\"container-fluid path-parameters typed-item-list\">\n            <path-param-row *ngFor=\"let param of pathParameters()\" [item]=\"param\"\n                            (onDelete)=\"deleteParam(param)\"></path-param-row>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":59,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"canHavePathParams":[{"__symbolic":"method"}],"isPathItem":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"pathParameters":[{"__symbolic":"method"}],"pathParameterPaths":[{"__symbolic":"method"}],"pathParam":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"createPathParam":[{"__symbolic":"method"}],"getOverriddenParam":[{"__symbolic":"method"}]}},"ɵeg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":53,"character":1},"arguments":[{"selector":"query-params-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":56,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":57,"character":21},"member":"OnPush"},"template":"<!-- Query Parameters Section -->\n<section type=\"query-parameters\" label=\"QUERY PARAMETERS\"\n         [counterItems]=\"queryParameters()\"\n         [contextHelp]=\"contextHelp()\" [expanded]=\"showSectionBody\"\n         [collaborationNodePath]=\"queryParameterPaths()\"\n         [validationModels]=\"queryParameters()\">\n    <span actions>\n        <icon-button (onClick)=\"openAddQueryParamEditor()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a new query parameter.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllQueryParams()\" [disabled]=\"!hasQueryParameters()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all query parameters.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasQueryParameters()\">\n            <span>No query parameters have been defined.</span>\n            <a (click)=\"openAddQueryParamEditor()\">Add a query parameter</a>\n        </signpost>\n\n        <!-- The list of query parameters -->\n        <div class=\"container-fluid query-parameters typed-item-list\" *ngIf=\"hasQueryParameters()\">\n            <query-param-row *ngFor=\"let param of queryParameters()\" [item]=\"param\"\n                             (onRename)=\"openRenameDialog(param)\"\n                             (onDelete)=\"deleteParam(param)\"></query-param-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Query Parameter\"\n                      title=\"Rename Query Parameter\"\n                      warning=\"Renaming a Query Parameter may also update any query parameters with the same name depending on path and operation hierarchies.\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_\\$]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., -, _ and $ are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":78,"character":43},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"isPathItem":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"hasParameters":[{"__symbolic":"method"}],"hasQueryParameters":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"queryParameters":[{"__symbolic":"method"}],"queryParameterPaths":[{"__symbolic":"method"}],"openAddQueryParamEditor":[{"__symbolic":"method"}],"deleteAllQueryParams":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"addQueryParam":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵeh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"path-param-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":52,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":53,"character":21},"member":"OnPush"},"template":"<div class=\"path-parameter\" [class.expanded]=\"isEditing()\" [class.override]=\"isOverride()\"\n     [class.overridable]=\"isOverridable()\" [class.missing]=\"isMissing()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"apicurio-icon-undefined-d icon-override\" *ngIf=\"isParentOperation() && isMissing()\"\n                  title=\"Parameter in path spec but is not defined.\"></span>\n            <span class=\"apicurio-icon-override icon-override\" *ngIf=\"isParentOperation() && isOverride()\"\n                  title=\"Overrides a parameter defined at the Path level.\"></span>\n            <span class=\"apicurio-icon-inherit-d icon-override\" *ngIf=\"isParentOperation() && isInherited()\"\n                  title=\"Path parameter inherited from the Path level.\"></span>\n            <span class=\"apicurio-icon-local-d icon-override\" *ngIf=\"isParentOperation() && isLocalOnly()\"\n                  title=\"Path parameter defined in the operation only.\"></span>\n            <span class=\"name-label\" title=\"{{ item.name }}\">{{ item.name }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\" *ngIf=\"is3xDocument()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!hasExamples()\"> {{ displayExamples() }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\" *ngIf=\"!isMissing() && !isOverridable()\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n            <button *ngIf=\"isMissing()\" type=\"button\" class=\"btn btn-primary btn-xs btn-create\"\n                    title=\"The path parameter is required but not declared.  Create it now.\"\n                    (click)=\"create()\"><span class=\"fa fa-fw fa-plus\"></span><span class=\"btn-label\">Create</span></button>\n            <button *ngIf=\"isOverridable()\" (click)=\"override()\" title=\"Override the path parameter.\"\n                    class=\"btn btn-default btn-xs btn-override\">Override</button>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"param-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"param-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"param-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"param-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!hasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"hasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Example</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of paramExamples()\">\n                                    <td class=\"name\">\n                                        <validation-problem [model]=\"example\"></validation-problem>\n                                        <span>{{ example.getName() }}</span>\n                                    </td>\n                                    <td class=\"value pre-actions\">\n                                        <span>{{ exampleValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                            [title]=\"'Delete example.'\"></icon-button>\n                                            <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                            [title]=\"'Edit example.'\"></icon-button>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n    <add-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"schemaForExample()\"></add-example-dialog>\n    <edit-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"schemaForExample()\"></edit-example-dialog>\n</div>\n","styles":[".path-parameter{border:1px solid transparent;position:relative}.path-parameter.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.path-parameter .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.path-parameter .header:hover{background-color:#edf8ff}.path-parameter.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.path-parameter.missing .header{opacity:.4}.path-parameter.missing .header:hover{opacity:.8}.path-parameter .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.path-parameter .header .name .name-label{font-weight:600;color:#ff6a7c}.path-parameter .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px;color:#ff6a7c}.path-parameter .header .description{flex-basis:28%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.path-parameter .header .description:hover{color:#0088ce;cursor:pointer}.path-parameter .header .summary{flex-basis:27%}.path-parameter .header .summary:hover{color:#0088ce;cursor:pointer}.path-parameter .header .summary .parameter-required{font-weight:600}.path-parameter .header .summary .parameter-required:hover{filter:brightness(120%)}.path-parameter .header .examples{flex-basis:25%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.path-parameter .header .examples:hover{color:#0088ce;cursor:pointer}.path-parameter .header .actions{flex-basis:2%;text-align:center}.path-parameter .header .actions .btn-create,.path-parameter .header .actions .btn-override{position:absolute;right:5px;top:6px}.path-parameter .header .actions>div .fa-ellipsis-v{visibility:hidden}.path-parameter:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.path-parameter .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.path-parameter .body{position:relative;padding:15px}.path-parameter .body .close{position:absolute;right:10px;top:5px}.path-parameter .body .param-description form{width:100%}.path-parameter .body .param-description .form-label,.path-parameter .body span.strong{font-weight:600}.path-parameter .body .param-required{margin-bottom:20px}.path-parameter .body .param-type{margin-bottom:10px}.path-parameter .body .param-examplesform{width:100%}.path-parameter .body .param-examples .form-label{font-weight:600}.path-parameter .body .param-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.path-parameter.overridable>.header>div>.fa-angle-right{display:none}.path-parameter.overridable .header .description:hover,.path-parameter.overridable .header .summary:hover{color:inherit;cursor:default}.path-parameter .description>.fa,.path-parameter .summary>.fa{margin-right:2px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":72,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParentOperation":[{"__symbolic":"method"}],"isParentPath":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"is3xDocument":[{"__symbolic":"method"}],"hasExamples":[{"__symbolic":"method"}],"paramExamples":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"schemaForExample":[{"__symbolic":"method"}],"create":[{"__symbolic":"method"}],"override":[{"__symbolic":"method"}],"isMissing":[{"__symbolic":"method"}],"isExists":[{"__symbolic":"method"}],"isOverride":[{"__symbolic":"method"}],"isOverridable":[{"__symbolic":"method"}],"isInherited":[{"__symbolic":"method"}],"isLocalOnly":[{"__symbolic":"method"}],"getOverriddenParam":[{"__symbolic":"method"}],"detectParentType":[{"__symbolic":"method"}]}},"ɵei":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵw"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"pf-inline-text-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":26,"character":19},"member":"None"},"template":"<span *ngIf=\"!editing\" class=\"inline-editor-label inline-text-editor-label {{ labelClass }} pf-inline-text-editor-label\"\n      title=\"Click to edit.\" (click)=\"onStartEditing()\" [class.disabled]=\"!enabled\">\n    <span [class.empty]=\"isEmpty()\" >{{ displayValue() }}</span>\n    <i class=\"glyphicon glyphicon-pencil\" *ngIf=\"enabled\"></i>\n</span>\n<div *ngIf=\"editing\" class=\"inline-editor inline-text-editor pf-inline-text-editor\">\n    <div class=\"form-control-pf-editable form-control-pf-edit\">\n        <div class=\"form-control-pf-textbox\">\n            <input #newvalue type=\"text\" [(ngModel)]=\"evalue\" class=\"form-control form-control-pf-editor\"\n                   autocomplete=\"off\" (keyup)=\"onInputKeypress($event)\">\n            <button *ngIf=\"!isEditedValueEmpty()\" type=\"button\" class=\"form-control-pf-empty\" aria-label=\"Clear Value\" (click)=\"clearValue()\">\n              <span class=\"fa fa-times-circle fa-lg\"></span>\n            </button>\n        </div>\n        <button title=\"Save changes.\" type=\"button\" class=\"btn btn-primary form-control-pf-save\"\n                aria-label=\"Save\" (click)=\"onSave()\"><i class=\"glyphicon glyphicon-ok\"></i></button>\n        <button title=\"Cancel changes.\" type=\"button\" class=\"btn btn-default form-control-pf-cancel\"\n                aria-label=\"Cancel\" (click)=\"onCancel()\"><i class=\"glyphicon glyphicon-remove\"></i></button>\n    </div>\n</div>\n","styles":[".pf-inline-text-editor-label{border:1px solid transparent;padding:2px 5px;margin-left:-6px;display:inline-block}.pf-inline-text-editor-label:hover{border-color:#bbb;cursor:pointer}.pf-inline-text-editor-label.disabled:hover{border-color:transparent;cursor:default}.pf-inline-text-editor-label .glyphicon{font-size:11px;margin-left:5px}.pf-inline-text-editor-label:hover .glyphicon{color:#669}.pf-inline-text-editor{margin-right:5px}.pf-inline-text-editor .form-control-pf-textbox{width:100%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"onInputKeypress":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}]}},"ɵej":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"tag-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":36,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<div class=\"tag\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"expand\" (click)=\"toggle()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n        </div>\n        <div class=\"name\" (click)=\"toggle()\" [class.empty]=\"!hasName()\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"fa fa-tag entity-icon\"></span>\n            <span>{{ name() }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggle()\">\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"renameTag()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"tag-description\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'Enter description here.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".tag{border:1px solid transparent}.tag.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.tag .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5;cursor:pointer}.tag .header:hover{background-color:#edf8ff}.tag.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.tag .header .expand{flex-basis:2%}.tag .header .name{flex-basis:20%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.tag .header .validation-problem-icon{margin-right:5px}.tag .header .name .entity-icon{margin-right:5px;color:#667}.tag .header .description{flex-basis:76%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:25px}.tag .header .actions{flex-basis:2%;text-align:center}.tag .header .actions>div .fa-ellipsis-v{visibility:hidden}.tag:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.tag .body{position:relative;padding:15px}.tag .body .close{position:absolute;right:10px;top:5px}.tag .body .tag-description form{width:100%}.tag .body .tag-description .form-label{font-weight:600}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":51,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"name":[{"__symbolic":"method"}],"hasName":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"renameTag":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}]}},"ɵek":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":49,"character":1},"arguments":[{"selector":"aaiserver-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"server\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define the Server\" [valid]=\"isValid()\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Server Info</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter the name, URL template, protocol, protocol version, security requirements, server bindings, and description of the server.\n                    <br />\n                    Include server variables in the URL template using the following syntax:\n                </span>\n                <br />\n                <code>\n                    http://<span class=\"server-variable\">&#123;domain&#125;</span>.example.com:<span class=\"server-variable\">&#123;port&#125;</span>/api\n                </code>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"serverName\">Name</label>\n                <div *ngIf=\"_mode === 'create'\">\n                    <input #nameInput=\"ngModel\" name=\"name\" type=\"text\" id=\"serverName\" class=\"form-control\"\n                           placeholder=\"Enter Server Name (must be unique)\"\n                           required [(ngModel)]=\"model.name\" pattern=\"[a-zA-Z0-9\\-_]+\">\n                    <div class=\"form-error-message error\" *ngIf=\"serverExists\">Server already exists.</div>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'required'\">Server name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                </div>\n                <div *ngIf=\"_mode === 'edit'\">\n                    <input title=\"To change a server name, choose the 'Rename' option from the previous screen.\"\n                           name=\"serverName\" type=\"text\" class=\"form-control readonly\" required [(ngModel)]=\"model.name\" readonly>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"serverUrl\">Server URL</label>\n                <div *ngIf=\"_mode === 'create'\">\n                    <table class=\"server-url-wrapper\">\n                        <tr>\n                            <td width=\"100%\">\n                                <input #urlInput=\"ngModel\" name=\"server\" type=\"text\" id=\"serverUrl\" class=\"form-control\"\n                                       placeholder=\"Enter Server URL\" (keypress)=\"onServerUrlKeypress($event)\"\n                                       required [(ngModel)]=\"url\">\n                            </td>\n                            <td>\n                                <button class=\"btn btn-primary url-action\" (click)=\"apply()\" [disabled]=\"!canApply()\">Apply</button>\n                            </td>\n                            <td>\n                                <button class=\"btn btn-default url-action\" (click)=\"reset()\" [disabled]=\"!canApply()\">Reset</button>\n                            </td>\n                        </tr>\n                    </table>\n                    <form-error-message [inputModel]=\"urlInput\" [type]=\"'required'\">Server URL is required.</form-error-message>\n                    <div *ngIf=\"canApply()\" class=\"form-error-message error\">URL has been changed.  Press enter or click \"Apply\" to accept.</div>\n                </div>\n                <div *ngIf=\"_mode === 'edit'\">\n                    <input name=\"server\" type=\"text\" id=\"server_ro\" class=\"form-control\" required\n                           [(ngModel)]=\"model.url\" readonly>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"protocol\">Protocol</label>\n                <div>\n                    <input name=\"protocol\" id=\"protocol\" class=\"form-control required\" required #protocolInput\n                           placeholder=\"Server protocol (amqp, http, jms, kafka, mqtt, stomp, ws, ...)\" [(ngModel)]=\"model.protocol\">\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"protocolVersion\">Protocol Version</label>\n                <div>\n                    <input name=\"protocolVersion\" id=\"protocolVersion\" class=\"form-control\" #protocolVersionInput\n                           placeholder=\"Server protocol version\" [(ngModel)]=\"model.protocolVersion\">\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\">Security Requirements</label>\n                <div>\n                    <input class=\"form-control readonly\" [ngModel]=\"securityRequirementSummary()\" readonly>\n                </div>\n            </div>\n            <!-- TODO Server Bindings -->\n            <div class=\"form-group\">\n                <label class=\"control-label\">Server Bindings</label>\n                <div>\n                    <input placeholder=\"TODO\" class=\"form-control readonly\" [(ngModel)]=\"model.bindings\" readonly>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                        <textarea name=\"description\" id=\"description\" class=\"form-control\" autosize #descriptionInput\n                                  placeholder=\"Server description\" [(ngModel)]=\"model.description\"></textarea>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Configure Server Variables</h3>\n            <p class=\"explanation\">\n                    <span>\n                        Configure the server variables found in the server URL template.\n                    </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <p class=\"empty-state\" *ngIf=\"!hasVariables()\">\n                This server URL does not contain variables.  Server variables are defined in the server URL template.\n            </p>\n\n            <div class=\"server-variables\" *ngIf=\"hasVariables()\">\n                <ul class=\"nav nav-tabs\">\n                    <li *ngFor=\"let varName of variableNames()\" [class.active]=\"varName == _varSelected\"><a (click)=\"_varSelected = varName\">{{ varName }}</a></li>\n                </ul>\n                <div class=\"panel panel-default tab-panel\">\n                    <div *ngFor=\"let varName of variableNames()\" class=\"panel-body\" [class.hidden]=\"varName != _varSelected\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\">Default Value</label>\n                            <div class=\"\">\n                                <input name=\"defval_{{ varName }}\" type=\"text\" class=\"form-control short\"\n                                       (keypress)=\"onKeypress($event)\"\n                                       placeholder=\"Default value\" [(ngModel)]=\"model.variables[varName].default\">\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\">Description</label>\n                            <div class=\"\">\n                                    <textarea name=\"description_{{ varName }}\" class=\"form-control\" autosize\n                                              placeholder=\"Variable description\" [(ngModel)]=\"model.variables[varName].description\"></textarea>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[".server-url-wrapper{width:80%}.server-variables{margin-left:20px}#server_ro{border-color:#002d45;background-color:#efefef;color:#666}.url-action{margin-left:5px}#serverUrl{width:100%}",".server-name-wrapper{width:80%}.name-action{margin-left:5px}#serverName{width:100%}.readonly{border-color:#002d45;background-color:#efefef;color:#666}"]}]}],"members":{"urlInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":56,"character":5},"arguments":["urlInput"]}]}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"updateVariables":[{"__symbolic":"method"}],"hasVariables":[{"__symbolic":"method"}],"variableNames":[{"__symbolic":"method"}],"securityRequirementSummary":[{"__symbolic":"method"}],"onServerUrlKeypress":[{"__symbolic":"method"}],"canApply":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"ɵel":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"selector":"server-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"server\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define the Server\" [valid]=\"isValid()\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Server URL</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter the URL template of the server. Include server variables in the URL template using the following syntax:\n                </span>\n                <br />\n                <code>\n                    http://<span class=\"server-variable\">&#123;domain&#125;</span>.example.com:<span class=\"server-variable\">&#123;port&#125;</span>/api\n                </code>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"serverUrl\">Server URL</label>\n                <div *ngIf=\"_mode === 'create'\">\n                    <table class=\"server-url-wrapper\">\n                        <tr>\n                            <td width=\"100%\">\n                                <input #urlInput=\"ngModel\" name=\"server\" type=\"text\" id=\"serverUrl\" class=\"form-control\"\n                                       placeholder=\"Enter Server URL\" (keypress)=\"onServerUrlKeypress($event)\"\n                                       required [(ngModel)]=\"url\">\n                            </td>\n                            <td>\n                                <button class=\"btn btn-primary url-action\" (click)=\"apply()\" [disabled]=\"!canApply()\">Apply</button>\n                            </td>\n                            <td>\n                                <button class=\"btn btn-default url-action\" (click)=\"reset()\" [disabled]=\"!canApply()\">Reset</button>\n                            </td>\n                        </tr>\n                    </table>\n                    <form-error-message [inputModel]=\"urlInput\" [type]=\"'required'\">Server URL is required.</form-error-message>\n                    <div *ngIf=\"canApply()\" class=\"form-error-message error\">URL has been changed.  Press enter or click \"Apply\" to accept.</div>\n                </div>\n                <div *ngIf=\"_mode === 'edit'\">\n                    <input name=\"server\" type=\"text\" id=\"server_ro\" class=\"form-control\" required\n                           [(ngModel)]=\"model.url\" readonly>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                        <textarea name=\"description\" id=\"description\" class=\"form-control\" autosize #descriptionInput\n                                  placeholder=\"Server description\" [(ngModel)]=\"model.description\"></textarea>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Configure Server Variables</h3>\n            <p class=\"explanation\">\n                    <span>\n                        Configure the server variables found in the server URL template.\n                    </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <p class=\"empty-state\" *ngIf=\"!hasVariables()\">\n                This server URL does not contain variables.  Server variables are defined in the server URL template.\n            </p>\n\n            <div class=\"server-variables\" *ngIf=\"hasVariables()\">\n                <ul class=\"nav nav-tabs\">\n                    <li *ngFor=\"let varName of variableNames()\" [class.active]=\"varName == _varSelected\"><a (click)=\"_varSelected = varName\">{{ varName }}</a></li>\n                </ul>\n                <div class=\"panel panel-default tab-panel\">\n                    <div *ngFor=\"let varName of variableNames()\" class=\"panel-body\" [class.hidden]=\"varName != _varSelected\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\">Default Value</label>\n                            <div class=\"\">\n                                <input name=\"defval_{{ varName }}\" type=\"text\" class=\"form-control short\"\n                                       (keypress)=\"onKeypress($event)\"\n                                       placeholder=\"Default value\" [(ngModel)]=\"model.variables[varName].default\">\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\">Description</label>\n                            <div class=\"\">\n                                    <textarea name=\"description_{{ varName }}\" class=\"form-control\" autosize\n                                              placeholder=\"Variable description\" [(ngModel)]=\"model.variables[varName].description\"></textarea>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[".server-url-wrapper{width:80%}.server-variables{margin-left:20px}#server_ro{border-color:#002d45;background-color:#efefef;color:#666}.url-action{margin-left:5px}#serverUrl{width:100%}"]}]}],"members":{"urlInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":51,"character":5},"arguments":["urlInput"]}]}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"updateVariables":[{"__symbolic":"method"}],"hasVariables":[{"__symbolic":"method"}],"variableNames":[{"__symbolic":"method"}],"onServerUrlKeypress":[{"__symbolic":"method"}],"canApply":[{"__symbolic":"method"}],"apply":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"ɵem":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":47,"character":1},"arguments":[{"selector":"aaiserver-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":51,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":52,"character":21},"member":"OnPush"},"template":"<div class=\"server\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"expand\" (click)=\"toggle()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n        </div>\n        <div class=\"url\" (click)=\"toggle()\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"pficon pficon-server entity-icon\"></span>\n            <span>{{ item.getName() }}</span>\n        </div>\n        <div class=\"protocol\" (click)=\"toggle()\">\n            <span>{{ item.protocol }}</span>\n            <span *ngIf=\"item.protocolVersion\"> ({{ item.protocolVersion }}) </span>\n        </div>\n        <div class=\"description\" (click)=\"toggle()\">\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"security-summary\" (click)=\"toggle()\">\n            <span *ngIf=\"! item.security || item.security.length == 0\">No Security Requirements</span>\n            <span *ngIf=\"item.security && item.security.length > 0\">{{ item.security.length }} Security Requirement{{ item.security.length == 1 ? \"\" : \"s\" }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"edit()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Edit</span></a></li>\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"server-description\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'Enter description here.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"server-security\">\n                        <div class=\"server-security-header\">\n                            <div class=\"form-label\">Security requirements</div>\n                            <div class=\"actions pull-right\">\n                                <icon-button (onClick)=\"onAddSecurityRequirement()\" [pullRight]=\"true\" type=\"add\"\n                                             [title]=\"'Add a security requirement.'\"></icon-button>\n                                <icon-button (onClick)=\"deleteAllSecurityRequirements()\" [disabled]=\"!hasSecurityRequirements()\"\n                                             [pullRight]=\"true\" type=\"delete\"\n                                             [title]=\"'Delete all security requirements.'\"></icon-button>\n                            </div>\n                        </div>\n                        <div class=\"server-security-body\">\n                            <signpost *ngIf=\"!hasSecurityRequirements()\">\n                                <span>No security requirement have been configured.</span>\n                                <a (click)=\"onAddSecurityRequirement()\">Add a security requirement</a>\n                            </signpost>\n\n                            <!-- The list of security requirements -->\n                            <div class=\"tags\" *ngIf=\"hasSecurityRequirements()\">\n                                <aaisecurity-requirement-row *ngFor=\"let requirement of securityRequirements()\"\n                                                             [item]=\"requirement\"\n                                                             [parent]=\"item\"\n                                                             (onEdit)=\"changeSecurityRequirement($event)\"\n                                                             (onDelete)=\"deleteSecurityRequirement(requirement)\"></aaisecurity-requirement-row>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".server{border:1px solid transparent}.server.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.server .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5;cursor:pointer}.server .header:hover{background-color:#edf8ff}.server.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.server .header .expand{flex-basis:2%}.server .header .url{flex-basis:40%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.server .header .url .entity-icon{margin-right:5px;color:#667}.server .header .validation-problem-icon{margin-right:5px}.server .header .description{flex-basis:56%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:25px}.server .header .actions{flex-basis:2%;text-align:center}.server .header .actions>div .fa-ellipsis-v{visibility:hidden}.server:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.server .body{position:relative;padding:15px}.server .body .close{position:absolute;right:10px;top:5px}.server .body .server-description form{width:100%}.server .body .server-description .form-label{font-weight:600}",".server .header .security-summary{text-overflow:ellipsis}.server .header .protocol,.server .header .security-summary{flex-basis:56%;overflow-x:hidden;white-space:nowrap;padding-right:25px}.server .body .server-security{margin-top:5px}.server .body .server-security .form-label{font-weight:600}.server-security-header>div.actions,.server-security-header>div.form-label{display:inline-block}"]}]}],"members":{"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":5}}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":62,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"hasUrl":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"securityRequirements":[{"__symbolic":"method"}],"hasSecurityRequirements":[{"__symbolic":"method"}],"securityRequirementsPath":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"onAddSecurityRequirement":[{"__symbolic":"method"}],"deleteAllSecurityRequirements":[{"__symbolic":"method"}],"addSecurityRequirement":[{"__symbolic":"method"}],"copySecurityRequirementToModel":[{"__symbolic":"method"}],"changeSecurityRequirement":[{"__symbolic":"method"}],"deleteSecurityRequirement":[{"__symbolic":"method"}]}},"ɵen":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"server-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":46,"character":21},"member":"OnPush"},"template":"<div class=\"server\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"expand\" (click)=\"toggle()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n        </div>\n        <div class=\"url\" (click)=\"toggle()\" [class.empty]=\"!hasUrl()\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"pficon pficon-server entity-icon\"></span>\n            <span server-url [url]=\"item.url\"></span>\n        </div>\n        <div class=\"description\" (click)=\"toggle()\">\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"edit()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Edit</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"server-description\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'Enter description here.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".server{border:1px solid transparent}.server.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.server .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5;cursor:pointer}.server .header:hover{background-color:#edf8ff}.server.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.server .header .expand{flex-basis:2%}.server .header .url{flex-basis:40%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.server .header .url .entity-icon{margin-right:5px;color:#667}.server .header .validation-problem-icon{margin-right:5px}.server .header .description{flex-basis:56%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:25px}.server .header .actions{flex-basis:2%;text-align:center}.server .header .actions>div .fa-ellipsis-v{visibility:hidden}.server:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.server .body{position:relative;padding:15px}.server .body .close{position:absolute;right:10px;top:5px}.server .body .server-description form{width:100%}.server .body .server-description .form-label{font-weight:600}"]}]}],"members":{"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":5}}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":53,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"hasUrl":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}]}},"ɵeo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"inline-array-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":42,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"template":"<span *ngIf=\"!editing\" class=\"inline-array-editor-label\" [class.novalue]=\"isEmpty()\">\n    <span *ngIf=\"isEmpty()\" class=\"inline-editor-label\" [class.empty]=\"isEmpty()\"\n          (click)=\"onStartEditing()\">{{ noValueMessage }}</span>\n    <span class=\"label label-default\" *ngFor=\"let item of value\">\n        <span>{{ item }}</span>\n        <i class=\"pficon pficon-close\" (click)=\"removeItem(item)\"></i>\n    </span>\n    <i class=\"glyphicon glyphicon-pencil\" (click)=\"onStartEditing()\" title=\"Click to edit.\"></i>\n</span>\n<span *ngIf=\"editing\" class=\"inline-editor inline-array-editor\">\n    <div class=\"form-control-pf-editable form-control-pf-edit\">\n        <div class=\"form-control-pf-textbox\">\n            <input #newvalue type=\"text\" [(ngModel)]=\"evalue\" class=\"form-control form-control-pf-editor\" placeholder=\"{{ placeholderText() }}\"\n                   autocomplete=\"off\" (keypress)=\"onInputKeypress($event)\" (keydown)=\"onInputKeypress($event)\">\n            <button type=\"button\" class=\"form-control-pf-empty\" aria-label=\"Clear Value\" (click)=\"clearValue()\">\n              <span class=\"fa fa-times-circle fa-lg\"></span>\n            </button>\n        </div>\n        <button title=\"Save changes.\" type=\"button\" class=\"btn btn-primary form-control-pf-save\"\n                aria-label=\"Save\" (click)=\"onSave()\"><i class=\"glyphicon glyphicon-ok\"></i></button>\n        <button title=\"Cancel changes.\" type=\"button\" class=\"btn btn-default form-control-pf-cancel\"\n                aria-label=\"Cancel\" (click)=\"onCancel()\"><i class=\"glyphicon glyphicon-remove\"></i></button>\n    </div>\n    <div class=\"apriori-items\" *ngIf=\"hasItems()\">\n        <span class=\"apriori-item\" *ngFor=\"let item of getItems()\" (click)=\"toggleItem(item)\" [class.selected]=\"hasItem(item)\">\n            <span class=\"fa fa-square-o\" *ngIf=\"!hasItem(item)\"></span>\n            <span class=\"fa fa-check-square-o\" *ngIf=\"hasItem(item)\"></span>\n            <span>{{ item }}</span>\n        </span>\n    </div>\n</span>\n","styles":[".inline-array-editor-label{border:1px solid transparent;padding:2px 5px;margin-left:-6px;display:inline-block}.inline-array-editor-label.novalue:hover{border-color:#bbb;cursor:pointer}.inline-array-editor-label .label{margin-right:5px;margin-bottom:3px;padding:5px 5px 5px 8px;display:inline-block}.inline-array-editor-label .label:hover{margin-right:5px;opacity:.8}.inline-array-editor-label .glyphicon{cursor:pointer;font-size:11px;margin-left:5px}.inline-array-editor-label .pficon{cursor:pointer;margin-left:5px;margin-right:2px}.inline-array-editor-label .pficon:hover{color:#dde}.inline-array-editor .form-control-pf-textbox{width:100%}.inline-array-editor .apriori-items{margin-top:4px}.inline-array-editor .apriori-items .apriori-item{background-color:#9c9c9c;color:#fff;cursor:pointer;margin-right:5px;padding:3px 6px;margin-bottom:3px;display:inline-block}.inline-array-editor .apriori-items .apriori-item.selected{background-color:#39a5dc}.inline-array-editor .apriori-items .apriori-item:hover{filter:brightness(90%)}.inline-array-editor .apriori-items .apriori-item>.fa{margin-right:3px}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"noValueMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"baseNode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"nodePath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5}}]}],"onClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":5}}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":56,"character":5},"arguments":["newvalue"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":71,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"placeholderText":[{"__symbolic":"method"}],"onInputKeypress":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"onStartEditing":[{"__symbolic":"method"}],"adHocValues":[{"__symbolic":"method"}],"aprioriValues":[{"__symbolic":"method"}],"onSave":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}],"hasItems":[{"__symbolic":"method"}],"hasItem":[{"__symbolic":"method"}],"toggleItem":[{"__symbolic":"method"}],"getItems":[{"__symbolic":"method"}]}},"ɵep":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":34,"character":1},"arguments":[{"selector":"security-scheme-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":38,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":21},"member":"OnPush"},"template":"<div class=\"security-scheme\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"expand\" (click)=\"toggle()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n        </div>\n        <div class=\"name\" (click)=\"toggle()\" [class.empty]=\"!hasName()\">\n            <validation-problem [model]=\"scheme\"></validation-problem>\n            <!--<span class=\"fa fa-tag entity-icon\"></span>-->\n            <span class=\"scheme-name\">{{ name() }}</span>\n            <span class=\"scheme-type\">(</span><span>{{ schemeType() }}</span><span>)</span>\n        </div>\n        <div class=\"description\" (click)=\"toggle()\">\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"editScheme()\"><span class=\"fa fa-fw fa-pencil\"></span><span>Edit</span></a></li>\n                    <li><a (click)=\"renameScheme()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"scheme-description\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"scheme.description\" [noValueMessage]=\"'Enter description here.'\"\n                                                [baseNode]=\"scheme\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".security-scheme{border:1px solid transparent}.security-scheme.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.security-scheme .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5;cursor:pointer}.security-scheme .header:hover{background-color:#edf8ff}.security-scheme.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.security-scheme .header .expand{flex-basis:2%}.security-scheme .header .name{flex-basis:20%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.security-scheme .header .name .scheme-type{margin-left:4px}.security-scheme .header .validation-problem-icon{margin-right:5px}.security-scheme .header .name .entity-icon{margin-right:5px;color:#667}.security-scheme .header .description{flex-basis:76%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:25px}.security-scheme .header .actions{flex-basis:2%;text-align:center}.security-scheme .header .actions>div .fa-ellipsis-v{visibility:hidden}.security-scheme:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.security-scheme .body{position:relative;padding:15px}.security-scheme .body .close{position:absolute;right:10px;top:5px}.security-scheme .body .scheme-description form{width:100%}.security-scheme .body .scheme-description .form-label{font-weight:600}"]}]}],"members":{"document":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"scheme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"onEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":52,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"name":[{"__symbolic":"method"}],"hasName":[{"__symbolic":"method"}],"schemeType":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"isEditing":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"ok":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"editScheme":[{"__symbolic":"method"}],"renameScheme":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"onGlobalKeyDown":[{"__symbolic":"method"}]}},"ɵeq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":101,"character":1},"arguments":[{"selector":"security-scheme-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":105,"character":19},"member":"None"},"template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"security-scheme\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define the Security Scheme\" [valid]=\"isValid()\">\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Security Scheme Info</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter the name, description, and type of the security scheme.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"securitySchemeName\">Name</label>\n                <div *ngIf=\"_mode === 'create'\">\n                    <input name=\"schemeName\" type=\"text\" id=\"securitySchemeName\" class=\"form-control short\" #nameInput=\"ngModel\"\n                           placeholder=\"Enter Security Scheme Name\" (ngModelChange)=\"schemeExists = schemeNames.indexOf($event) != -1\"\n                           required [(ngModel)]=\"model.schemeName\" pattern=\"[a-zA-Z0-9\\.\\-_]+\">\n                    <div class=\"form-error-message error\" *ngIf=\"schemeExists\">Security Scheme already exists.</div>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'required'\">Security Scheme name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                </div>\n                <div *ngIf=\"_mode === 'edit'\">\n                    <input title=\"To change a security scheme name, choose the 'Rename' option from the previous screen.\"\n                           name=\"schemeName\" type=\"text\" id=\"name_ro\" class=\"form-control\" required [(ngModel)]=\"model.schemeName\" readonly>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <textarea name=\"description\" id=\"description\" class=\"form-control\" autosize #descriptionInput\n                              placeholder=\"Server description\" [(ngModel)]=\"model.description\"></textarea>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label required\">Security Type</label>\n                <div>\n                    <div class=\"dropdown\" *ngIf=\"is2x()\">\n                        <button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">\n                            <span *ngIf=\"!model.type\"><i>Choose Type</i></span>\n                            <span *ngIf=\"model.type === 'basic'\">BASIC</span>\n                            <span *ngIf=\"model.type === 'apiKey'\">API Key</span>\n                            <span *ngIf=\"model.type === 'oauth2'\">OAuth 2</span>\n                            <span class=\"caret\"></span>\n                        </button>\n                        <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('basic')\">BASIC</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('apiKey')\">API Key</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('oauth2')\">OAuth 2</a></li>\n                        </ul>\n                    </div>\n                    <div class=\"dropdown\" *ngIf=\"is3x()\">\n                        <button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">\n                            <span *ngIf=\"!model.type\"><i>Choose Type</i></span>\n                            <span *ngIf=\"model.type === 'http'\">HTTP</span>\n                            <span *ngIf=\"model.type === 'apiKey'\">API Key</span>\n                            <span *ngIf=\"model.type === 'oauth2'\">OAuth 2</span>\n                            <span *ngIf=\"model.type === 'openIdConnect'\">OpenID Connect</span>\n                            <span class=\"caret\"></span>\n                        </button>\n                        <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('http')\">HTTP</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('apiKey')\">API Key</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('oauth2')\">OAuth 2</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('openIdConnect')\">OpenID Connect</a></li>\n                        </ul>\n                    </div>\n                    <div class=\"dropdown\" *ngIf=\"isAai2x()\">\n                        <button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">\n                            <span *ngIf=\"!model.type\"><i>Choose Type</i></span>\n                            <span *ngIf=\"model.type === 'http'\">HTTP</span>\n                            <span *ngIf=\"model.type === 'httpApiKey'\">HTTP API Key</span>\n                            <span *ngIf=\"model.type === 'apiKey'\">API Key</span>\n                            <span *ngIf=\"model.type === 'oauth2'\">OAuth 2</span>\n                            <span *ngIf=\"model.type === 'openIdConnect'\">OpenID Connect</span>\n                            <span *ngIf=\"model.type === 'userPassword'\">User Password</span>\n                            <span *ngIf=\"model.type === 'X509'\">X509 Certificate</span>\n                            <span *ngIf=\"model.type === 'symmetricEncryption'\">Symmetric Encryption</span>\n                            <span *ngIf=\"model.type === 'asymmetricEncryption'\">Asymmetric Encryption</span>\n                            <span class=\"caret\"></span>\n                        </button>\n                        <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('http')\">HTTP</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = ''; setType('httpApiKey')\">HTTP API Key</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = ''; setType('apiKey')\">API Key</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('oauth2')\">OAuth 2</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('openIdConnect')\">OpenID Connect</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('userPassword')\">User Password</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('X509')\">X509 Certificate</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('symmetricEncryption')\">Symmetric Encryption</a></li>\n                            <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setType('asymmetricEncryption')\">Asymmetric Encryption</a></li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Configure Security Scheme Details</h3>\n            <p class=\"explanation\">\n                <span>\n                    Configure the type-specific details for the security scheme.  You must first configure the scheme type above.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <p class=\"empty-state\" *ngIf=\"!model.type\">\n                No security type has been configured for this security scheme.  A type must first be selected prior to configuring\n                the scheme's type-specific details.\n            </p>\n\n            <div class=\"scheme-details\" *ngIf=\"model.type\">\n\n                <div *ngIf=\"is2x()\">\n                    <!-- BASIC Auth -->\n                    <div class=\"basic-auth\" *ngIf=\"model20().type === 'basic'\">\n                        <div class=\"alert alert-success\">\n                            <span class=\"pficon pficon-ok\"></span>\n                            <strong>All Set!</strong> No additional configuration options are needed for BASIC authentication.\n                        </div>\n                    </div>\n                    <!-- API Key Auth Config -->\n                    <div class=\"apiKey-auth\" *ngIf=\"model20().type === 'apiKey'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"in20\">Key Location</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"in20\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!model20().in\"><i>Choose Location</i></span>\n                                        <span *ngIf=\"model20().in === 'header'\">HTTP header</span>\n                                        <span *ngIf=\"model20().in === 'query'\">Query Parameter</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model20().in = 'header'\">HTTP header</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model20().in = 'query'\">Query Parameter</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"name20\">Header/Parameter Name</label>\n                            <div>\n                                <input name=\"name\" type=\"text\" id=\"name20\" class=\"form-control short\" [(ngModel)]=\"model20().name\"\n                                       placeholder=\"Enter a {{ model20().in == 'header' ? 'header' : 'query parameter' }} name\">\n                            </div>\n                        </div>\n                    </div>\n                    <!-- OAuth2 Auth Config -->\n                    <div class=\"oauth2-auth\" *ngIf=\"model20().type === 'oauth2'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"flow\">OAuth Flow</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"flow\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!model20().flow\"><i>Choose Flow</i></span>\n                                        <span *ngIf=\"model20().flow === 'implicit'\">Implicit</span>\n                                        <span *ngIf=\"model20().flow === 'password'\">Password</span>\n                                        <span *ngIf=\"model20().flow === 'application'\">Application</span>\n                                        <span *ngIf=\"model20().flow === 'accessCode'\">Access Code</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setFlow('implicit')\">Implicit</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setFlow('password')\">Password</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setFlow('application')\">Application</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"setFlow('accessCode')\">Access Code</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\" *ngIf=\"model20().flow === 'implicit' || model20().flow === 'accessCode'\">\n                            <label class=\"control-label\" for=\"authorizationUrl\">Auth URL</label>\n                            <div>\n                                <input name=\"authorizationUrl\" type=\"text\" id=\"authorizationUrl\" class=\"form-control\"\n                                       placeholder=\"Enter the authorization URL\" [(ngModel)]=\"model20().authorizationUrl\">\n                            </div>\n                        </div>\n                        <div class=\"form-group\" *ngIf=\"model20().flow === 'password' || model20().flow === 'application' || model20().flow === 'accessCode'\">\n                            <label class=\"control-label\" for=\"tokenUrl\">Token URL</label>\n                            <div>\n                                <input name=\"tokenUrl\" type=\"text\" id=\"tokenUrl\" class=\"form-control\"\n                                       placeholder=\"Enter the token URL\" [(ngModel)]=\"model20().tokenUrl\">\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"scopes20\">Scopes</label>\n                            <scopes-input id=\"scopes20\" [scopes]=\"model20().scopes\" (onChange)=\"model20().scopes = $event\"></scopes-input>\n                        </div>\n                    </div>\n                </div>\n                <div *ngIf=\"is3x()\">\n                    <!-- HTTP Auth Config -->\n                    <div class=\"http-auth\" *ngIf=\"model30().type === 'http'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"scheme\">Scheme</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"scheme\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!model30().scheme\"><i>Choose Scheme</i></span>\n                                        <span *ngIf=\"model30().scheme === 'basic'\">BASIC</span>\n                                        <span *ngIf=\"model30().scheme === 'bearer'\">Bearer</span>\n                                        <span *ngIf=\"model30().scheme === 'digest'\">Digest</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().scheme = 'basic'\">BASIC</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().scheme = 'bearer'\">Bearer</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().scheme = 'digest'\">Digest</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\" *ngIf=\"model30().scheme === 'bearer'\">\n                            <label class=\"control-label\" for=\"bearerFormat\">Format</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"bearerFormat\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"model30().bearerFormat === '' || !model30().bearerFormat\"><i>Choose Format</i></span>\n                                        <span *ngIf=\"model30().bearerFormat === 'jwt'\">JWT</span>\n                                        <span *ngIf=\"model30().bearerFormat === 'oauth'\">OAuth</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().bearerFormat = 'jwt'\">JWT</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().bearerFormat = 'oauth'\">OAuth</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().bearerFormat = null\"><i>None</i></a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <!-- OpenID Connect Config -->\n                    <div class=\"openIdConnect-auth\" *ngIf=\"model30().type === 'openIdConnect'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"openIdConnectUrl\">OpenID Connect URL</label>\n                            <div>\n                                <input name=\"name\" type=\"text\" id=\"openIdConnectUrl\" class=\"form-control\" pattern=\"https?://.+\"\n                                       placeholder=\"Enter a valid OpenID Connect URL\" [(ngModel)]=\"model30().openIdConnectUrl\" #oidConnectUrl=\"ngModel\">\n                                <form-error-message [inputModel]=\"oidConnectUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                            </div>\n                        </div>\n                    </div>\n                    <!-- API Key Auth Config -->\n                    <div class=\"apiKey-auth\" *ngIf=\"model30().type === 'apiKey'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"in\">Key Location</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"in\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!model30().in\"><i>Choose Location</i></span>\n                                        <span *ngIf=\"model30().in === 'header'\">HTTP header</span>\n                                        <span *ngIf=\"model30().in === 'query'\">Query Parameter</span>\n                                        <span *ngIf=\"model30().in === 'cookie'\">Cookie</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().in = 'header'\">HTTP header</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().in = 'query'\">Query Parameter</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"model30().in = 'cookie'\">Cookie</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"name\">Name</label>\n                            <div>\n                                <input name=\"name\" type=\"text\" id=\"name\" class=\"form-control short\"\n                                       placeholder=\"Name of {{ model30().in === 'query' ? 'query parameter' : (!model30().in ? 'parameter' : model30().in) }}\"\n                                       [(ngModel)]=\"model30().name\">\n                            </div>\n                        </div>\n                    </div>\n                    <!-- OAuth2 Auth Config -->\n                    <div class=\"oauth2-auth\" *ngIf=\"model30().type === 'oauth2'\">\n                        <ul class=\"nav nav-tabs\">\n                            <li [class.enabled]=\"model30().flows.implicit.enabled\" [class.active]=\"oauthTab === 'implicit'\"><a (click)=\"oauthTab = 'implicit'\">Implicit</a></li>\n                            <li [class.enabled]=\"model30().flows.password.enabled\" [class.active]=\"oauthTab === 'password'\"><a (click)=\"oauthTab = 'password'\">Password</a></li>\n                            <li [class.enabled]=\"model30().flows.clientCredentials.enabled\" [class.active]=\"oauthTab === 'clientCredentials'\"><a (click)=\"oauthTab = 'clientCredentials'\">Client Credentials</a></li>\n                            <li [class.enabled]=\"model30().flows.authorizationCode.enabled\" [class.active]=\"oauthTab === 'authorizationCode'\"><a (click)=\"oauthTab = 'authorizationCode'\">Authorization Code</a></li>\n                        </ul>\n                        <div class=\"panel panel-default tab-panel\">\n                            <!-- Implicit Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'implicit'\">\n                                <div>\n                                    <input name=\"implicit_enabled\" id=\"implicit_enabled\" type=\"checkbox\" [(ngModel)]=\"model30().flows.implicit.enabled\">\n                                    <label for=\"implicit_enabled\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit_authorizationUrl\">Auth URL</label>\n                                    <div>\n                                        <input name=\"implicit_authorizationUrl\" type=\"text\" id=\"implicit_authorizationUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Authorization URL\" [(ngModel)]=\"model30().flows.implicit.authorizationUrl\"\n                                               pattern=\"https?://.+\" #implicitAuthUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"implicitAuthUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit_refreshUrl\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"implicit_refreshUrl\" type=\"text\" id=\"implicit_refreshUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"model30().flows.implicit.refreshUrl\"\n                                               pattern=\"https?://.+\" #implicitRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"implicitRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit-scopes\">Scopes</label>\n                                    <scopes-input id=\"implicit-scopes\" [scopes]=\"model30().flows.implicit.scopes\"\n                                                  (onChange)=\"model30().flows.implicit.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Password Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'password'\">\n                                <div>\n                                    <input name=\"password_enabled\" id=\"password_enabled\" type=\"checkbox\" [(ngModel)]=\"model30().flows.password.enabled\">\n                                    <label for=\"password_enabled\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password_tokenUrl\">Token URL</label>\n                                    <div>\n                                        <input name=\"password_tokenUrl\" type=\"text\" id=\"password_tokenUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"model30().flows.password.tokenUrl\"\n                                               pattern=\"https?://.+\" #passwordTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"passwordTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password_refreshUrl\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"password_refreshUrl\" type=\"text\" id=\"password_refreshUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"model30().flows.password.refreshUrl\"\n                                               pattern=\"https?://.+\" #passwordRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"passwordRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password-scopes\">Scopes</label>\n                                    <scopes-input id=\"password-scopes\" [scopes]=\"model30().flows.password.scopes\"\n                                                  (onChange)=\"model30().flows.password.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Client Credentials Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'clientCredentials'\">\n                                <div>\n                                    <input name=\"clientCredentials_enabled\" id=\"clientCredentials_enabled\" type=\"checkbox\" [(ngModel)]=\"model30().flows.clientCredentials.enabled\">\n                                    <label for=\"clientCredentials_enabled\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"clientCredentials_tokenUrl\">Token URL</label>\n                                    <div>\n                                        <input name=\"clientCredentials_tokenUrl\" type=\"text\" id=\"clientCredentials_tokenUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"model30().flows.clientCredentials.tokenUrl\"\n                                               pattern=\"https?://.+\" #clientCredsTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"clientCredsTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"clientCredentials_refreshUrl\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"clientCredentials_refreshUrl\" type=\"text\" id=\"clientCredentials_refreshUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"model30().flows.clientCredentials.refreshUrl\"\n                                               pattern=\"https?://.+\" #clientCredsRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"clientCredsRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"cc-scopes\">Scopes</label>\n                                    <scopes-input id=\"cc-scopes\" [scopes]=\"model30().flows.clientCredentials.scopes\"\n                                                  (onChange)=\"model30().flows.clientCredentials.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Authorization Code Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'authorizationCode'\">\n                                <div>\n                                    <input name=\"authorizationCode_enabled\" id=\"authorizationCode_enabled\" type=\"checkbox\" [(ngModel)]=\"model30().flows.authorizationCode.enabled\">\n                                    <label for=\"authorizationCode_enabled\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_authorizationUrl\">Auth URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_authorizationUrl\" type=\"text\" id=\"authorizationCode_authorizationUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Authorization URL\" [(ngModel)]=\"model30().flows.authorizationCode.authorizationUrl\"\n                                               pattern=\"https?://.+\" #authCodeAuthUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeAuthUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_tokenUrl\">Token URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_tokenUrl\" type=\"text\" id=\"authorizationCode_tokenUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"model30().flows.authorizationCode.tokenUrl\"\n                                               pattern=\"https?://.+\" #authCodeTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_refreshUrl\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_refreshUrl\" type=\"text\" id=\"authorizationCode_refreshUrl\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"model30().flows.authorizationCode.refreshUrl\"\n                                               pattern=\"https?://.+\" #authCodeRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authcode-scopes\">Scopes</label>\n                                    <scopes-input id=\"authcode-scopes\" [scopes]=\"model30().flows.authorizationCode.scopes\"\n                                                  (onChange)=\"model30().flows.authorizationCode.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div *ngIf=\"isAai2x()\">\n                <!-- HTTP Auth Config -->\n                    <div class=\"http-auth\" *ngIf=\"modelAai20().type === 'http'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"schemeAai20\">Scheme</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"schemeAai20\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!modelAai20().scheme\"><i>Choose Scheme</i></span>\n                                        <span *ngIf=\"modelAai20().scheme === 'basic'\">BASIC</span>\n                                        <span *ngIf=\"modelAai20().scheme === 'bearer'\">Bearer</span>\n                                        <span *ngIf=\"modelAai20().scheme === 'digest'\">Digest</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().scheme = 'basic'\">BASIC</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().scheme = 'bearer'\">Bearer</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().scheme = 'digest'\">Digest</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\" *ngIf=\"modelAai20().scheme === 'bearer'\">\n                            <label class=\"control-label\" for=\"bearerFormatAai20\">Format</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"bearerFormatAai20\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"modelAai20().bearerFormat === '' || !modelAai20().bearerFormat\"><i>Choose Format</i></span>\n                                        <span *ngIf=\"modelAai20().bearerFormat === 'jwt'\">JWT</span>\n                                        <span *ngIf=\"modelAai20().bearerFormat === 'oauth'\">OAuth</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().bearerFormat = 'jwt'\">JWT</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().bearerFormat = 'oauth'\">OAuth</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().bearerFormat = null\"><i>None</i></a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <!-- OpenID Connect Config -->\n                    <div class=\"openIdConnect-auth\" *ngIf=\"modelAai20().type === 'openIdConnect'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"openIdConnectUrlAai20\">OpenID Connect URL</label>\n                            <div>\n                                <input name=\"name\" type=\"text\" id=\"openIdConnectUrlAai20\" class=\"form-control\" pattern=\"https?://.+\"\n                                       placeholder=\"Enter a valid OpenID Connect URL\" [(ngModel)]=\"modelAai20().openIdConnectUrl\" #oidConnectUrl=\"ngModel\">\n                                <form-error-message [inputModel]=\"oidConnectUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                            </div>\n                        </div>\n                    </div>\n                    <!-- API Key Auth Config -->\n                    <div class=\"apiKey-auth\" *ngIf=\"modelAai20().type === 'apiKey'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"inApiKeyAai20\">Key Location</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"inApiKeyAai20\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!modelAai20().in\"><i>Choose Location</i></span>\n                                        <span *ngIf=\"modelAai20().in === 'user'\">User</span>\n                                        <span *ngIf=\"modelAai20().in === 'password'\">Password</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = 'user'\">User</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = 'password'\">Password</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <!-- HTTP API Key Auth Config -->\n                    <div class=\"apiKey-auth\" *ngIf=\"modelAai20().type === 'httpApiKey'\">\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"inHttpApiKeyAai20\">Key Location</label>\n                            <div>\n                                <div class=\"dropdown\">\n                                    <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"inHttpApiKeyAai20\" data-toggle=\"dropdown\">\n                                        <span *ngIf=\"!modelAai20().in\"><i>Choose Location</i></span>\n                                        <span *ngIf=\"modelAai20().in === 'header'\">HTTP header</span>\n                                        <span *ngIf=\"modelAai20().in === 'query'\">Query Parameter</span>\n                                        <span *ngIf=\"modelAai20().in === 'cookie'\">Cookie</span>\n                                        <span class=\"caret\"></span>\n                                    </button>\n                                    <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"statusCodeMenu\">\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = 'header'\">HTTP header</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = 'query'\">Query Parameter</a></li>\n                                        <li role=\"presentation\"><a role=\"menuitem\" (click)=\"modelAai20().in = 'cookie'\">Cookie</a></li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <label class=\"control-label\" for=\"nameAai20\">Name</label>\n                            <div>\n                                <input name=\"name\" type=\"text\" id=\"nameAai20\" class=\"form-control short\"\n                                       placeholder=\"Name of {{ modelAai20().in === 'query' ? 'query parameter' : (!modelAai20().in ? 'parameter' : modelAai20().in) }}\"\n                                       [(ngModel)]=\"modelAai20().name\">\n                            </div>\n                        </div>\n                    </div>\n                    <!-- OAuth2 Auth Config -->\n                    <div class=\"oauth2-auth\" *ngIf=\"modelAai20().type === 'oauth2'\">\n                        <ul class=\"nav nav-tabs\">\n                            <li [class.enabled]=\"modelAai20().flows.implicit.enabled\" [class.active]=\"oauthTab === 'implicit'\"><a (click)=\"oauthTab = 'implicit'\">Implicit</a></li>\n                            <li [class.enabled]=\"modelAai20().flows.password.enabled\" [class.active]=\"oauthTab === 'password'\"><a (click)=\"oauthTab = 'password'\">Password</a></li>\n                            <li [class.enabled]=\"modelAai20().flows.clientCredentials.enabled\" [class.active]=\"oauthTab === 'clientCredentials'\"><a (click)=\"oauthTab = 'clientCredentials'\">Client Credentials</a></li>\n                            <li [class.enabled]=\"modelAai20().flows.authorizationCode.enabled\" [class.active]=\"oauthTab === 'authorizationCode'\"><a (click)=\"oauthTab = 'authorizationCode'\">Authorization Code</a></li>\n                        </ul>\n                        <div class=\"panel panel-default tab-panel\">\n                            <!-- Implicit Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'implicit'\">\n                                <div>\n                                    <input name=\"implicit_enabledAai20\" id=\"implicit_enabledAai20\" type=\"checkbox\" [(ngModel)]=\"modelAai20().flows.implicit.enabled\">\n                                    <label for=\"implicit_enabledAai20\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit_authorizationUrlAai20\">Auth URL</label>\n                                    <div>\n                                        <input name=\"implicit_authorizationUrlAai20\" type=\"text\" id=\"implicit_authorizationUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Authorization URL\" [(ngModel)]=\"modelAai20().flows.implicit.authorizationUrl\"\n                                               pattern=\"https?://.+\" #implicitAuthUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"implicitAuthUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit_refreshUrlAai20\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"implicit_refreshUrlAai20\" type=\"text\" id=\"implicit_refreshUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"modelAai20().flows.implicit.refreshUrl\"\n                                               pattern=\"https?://.+\" #implicitRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"implicitRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"implicit-scopesAai20\">Scopes</label>\n                                    <scopes-input id=\"implicit-scopesAai20\" [scopes]=\"modelAai20().flows.implicit.scopes\"\n                                                  (onChange)=\"modelAai20().flows.implicit.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Password Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'password'\">\n                                <div>\n                                    <input name=\"password_enabledAai20\" id=\"password_enabledAai20\" type=\"checkbox\" [(ngModel)]=\"modelAai20().flows.password.enabled\">\n                                    <label for=\"password_enabledAai20\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password_tokenUrlAai20\">Token URL</label>\n                                    <div>\n                                        <input name=\"password_tokenUrlAai20\" type=\"text\" id=\"password_tokenUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"modelAai20().flows.password.tokenUrl\"\n                                               pattern=\"https?://.+\" #passwordTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"passwordTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password_refreshUrlAai20\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"password_refreshUrlAai20\" type=\"text\" id=\"password_refreshUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"modelAai20().flows.password.refreshUrl\"\n                                               pattern=\"https?://.+\" #passwordRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"passwordRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"password-scopesAai20\">Scopes</label>\n                                    <scopes-input id=\"password-scopesAai20\" [scopes]=\"modelAai20().flows.password.scopes\"\n                                                  (onChange)=\"modelAai20().flows.password.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Client Credentials Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'clientCredentials'\">\n                                <div>\n                                    <input name=\"clientCredentials_enabledAai20\" id=\"clientCredentials_enabledAai20\" type=\"checkbox\" [(ngModel)]=\"modelAai20().flows.clientCredentials.enabled\">\n                                    <label for=\"clientCredentials_enabledAai20\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"clientCredentials_tokenUrlAai20\">Token URL</label>\n                                    <div>\n                                        <input name=\"clientCredentials_tokenUrlAai20\" type=\"text\" id=\"clientCredentials_tokenUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"modelAai20().flows.clientCredentials.tokenUrl\"\n                                               pattern=\"https?://.+\" #clientCredsTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"clientCredsTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"clientCredentials_refreshUrlAai20\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"clientCredentials_refreshUrlAai20\" type=\"text\" id=\"clientCredentials_refreshUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"modelAai20().flows.clientCredentials.refreshUrl\"\n                                               pattern=\"https?://.+\" #clientCredsRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"clientCredsRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"cc-scopesAai20\">Scopes</label>\n                                    <scopes-input id=\"cc-scopesAai20\" [scopes]=\"modelAai20().flows.clientCredentials.scopes\"\n                                                  (onChange)=\"modelAai20().flows.clientCredentials.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                            <!-- Authorization Code Flow -->\n                            <div class=\"panel-body\" *ngIf=\"oauthTab === 'authorizationCode'\">\n                                <div>\n                                    <input name=\"authorizationCode_enabledAai20\" id=\"authorizationCode_enabledAai20\" type=\"checkbox\" [(ngModel)]=\"modelAai20().flows.authorizationCode.enabled\">\n                                    <label for=\"authorizationCode_enabledAai20\">Enable this OAuth flow</label>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_authorizationUrlAai20\">Auth URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_authorizationUrlAai20\" type=\"text\" id=\"authorizationCode_authorizationUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Authorization URL\" [(ngModel)]=\"modelAai20().flows.authorizationCode.authorizationUrl\"\n                                               pattern=\"https?://.+\" #authCodeAuthUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeAuthUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_tokenUrlAai20\">Token URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_tokenUrlAai20\" type=\"text\" id=\"authorizationCode_tokenUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Token URL\" [(ngModel)]=\"modelAai20().flows.authorizationCode.tokenUrl\"\n                                               pattern=\"https?://.+\" #authCodeTokenUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeTokenUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authorizationCode_refreshUrlAai20\">Refresh URL</label>\n                                    <div>\n                                        <input name=\"authorizationCode_refreshUrlAai20\" type=\"text\" id=\"authorizationCode_refreshUrlAai20\" class=\"form-control\"\n                                               placeholder=\"OAuth Refresh URL\" [(ngModel)]=\"modelAai20().flows.authorizationCode.refreshUrl\"\n                                               pattern=\"https?://.+\" #authCodeRefreshUrl=\"ngModel\">\n                                        <form-error-message [inputModel]=\"authCodeRefreshUrl\" [type]=\"'pattern'\">Please enter a valid URL.</form-error-message>\n                                    </div>\n                                </div>\n                                <!-- Scopes -->\n                                <div class=\"form-group\">\n                                    <label class=\"control-label\" for=\"authcode-scopesAai20\">Scopes</label>\n                                    <scopes-input id=\"authcode-scopesAai20\" [scopes]=\"modelAai20().flows.authorizationCode.scopes\"\n                                                  (onChange)=\"modelAai20().flows.authorizationCode.scopes = $event\"></scopes-input>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</entity-editor>\n","styles":[".security-scheme-entity-editor .body-section .scheme-details{margin-left:20px}.security-scheme-entity-editor .body-section #name_ro{border-color:#002d45;background-color:#efefef;color:#666}.security-scheme-entity-editor .scheme-details .form-group div input{min-width:350px;width:100%}.security-scheme-entity-editor .oauth2-auth input[type=checkbox]{margin-right:3px}"]}]}],"members":{"nameInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":109,"character":5},"arguments":["nameInput"]}]}],"open":[{"__symbolic":"method"}],"is2x":[{"__symbolic":"method"}],"is3x":[{"__symbolic":"method"}],"isAai2x":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"initModel":[{"__symbolic":"method"}],"readFlows":[{"__symbolic":"method"}],"readFlowInto":[{"__symbolic":"method"}],"toScopesArray":[{"__symbolic":"method"}],"setFlow":[{"__symbolic":"method"}],"scopesAreValid":[{"__symbolic":"method"}],"setType":[{"__symbolic":"method"}],"model20":[{"__symbolic":"method"}],"model30":[{"__symbolic":"method"}],"modelAai20":[{"__symbolic":"method"}]}},"ɵer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":50,"character":1},"arguments":[{"selector":"data-type-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"dataType\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Data Type\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new data type.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"dt_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"dt_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique data type name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"defExists = defs.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"defExists\">Data type named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Enter JSON Example <span class=\"optional empty\">(optional)</span></h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a JSON formatted example of the data type that will be used to bootstrap the Data Type's\n                    schema properties.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">JSON Example</label>\n                <div>\n                    <code-editor [theme]=\"exampleEditorTheme()\"\n                                 [mode]=\"exampleEditorMode()\"\n                                 [debounceTime]=\"200\"\n                                 [(text)]=\"example\"\n                                 [editorStyle]=\"{ position: 'relative', height: '200px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                    <button class=\"btn btn-default btn-xs\" type=\"button\"\n                            [disabled]=\"!isExampleDefinitionFormattable()\" (click)=\"formatExampleDefinition()\">\n                        <span class=\"fa fa-fw fa-indent\"></span>\n                        <span>Format</span>\n                    </button>\n                </div>\n            </div>\n\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>3. Choose to create a REST Resource with the Data Type <span class=\"optional empty\">(optional)</span></h3>\n            <p class=\"explanation\">\n                <span>\n                    Create the new Data Type with some additional paths and operations automatically generated.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group create-option-group\">\n                <div class=\"create-option\" (click)=\"model.template = null\" [class.selected]=\"model.template === null\">\n                    <span class=\"check fa\"\n                          [class.fa-circle-o]=\"model.template !== null\"\n                          [class.fa-dot-circle-o]=\"model.template === null\"></span>\n                    <span class=\"icon fa fa-ban\"></span>\n                    <span class=\"option-label\">No Resource</span>\n                </div>\n                <div class=\"create-option\" (click)=\"model.template = 'resource'\" [class.selected]=\"model.template === 'resource'\">\n                    <span class=\"check fa\"\n                          [class.fa-circle-o]=\"model.template !== 'resource'\"\n                          [class.fa-dot-circle-o]=\"model.template === 'resource'\"></span>\n                    <span class=\"icon fa fa-align-left\"></span>\n                    <span class=\"option-label\">REST Resource</span>\n                </div>\n                <div class=\"create-option-divider\">\n                </div>\n                <div class=\"create-option-explanation\">\n                    <span *ngIf=\"model.template === null\">No additional paths or operations will be generated when creating this Data Type - only the Data Type itself will be created.</span>\n                    <span *ngIf=\"model.template === 'resource'\">This will cause paths and operations to be created for the new Data Type, using a standard REST resource pattern and based on the name of the Data Type.</span>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[".create-option-group{display:flex;flex-direction:row}.create-option{display:block;position:relative;width:105px;min-width:105px;max-width:105px;height:100px;border:1px solid #666;padding:15px;margin-right:15px;text-align:center;horiz-align:center;flex-grow:0}.create-option:hover{background-color:#edf8ff;cursor:pointer}.create-option.selected{background-color:#0088ce;color:#fff;border-color:#0088ce}.create-option.selected:hover{cursor:default}.create-option .check{position:absolute;top:2px;left:4px;font-size:16px}.create-option .icon{display:block;font-size:24px;color:#666}.create-option.selected .icon{color:#fff}.create-option .option-label{display:block;margin-top:10px;line-height:18px;font-weight:600}.create-option-divider{display:inline-block;margin-right:15px;height:100px;border-left:1px solid #bbb}.create-option-explanation{display:table;flex-grow:1;height:100px}.create-option-explanation>span{display:table-cell;vertical-align:middle}"]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"isExampleDefinitionFormattable":[{"__symbolic":"method"}],"isExampleDefinitionValid":[{"__symbolic":"method"}],"formatExampleDefinition":[{"__symbolic":"method"}],"exampleEditorTheme":[{"__symbolic":"method"}],"exampleEditorMode":[{"__symbolic":"method"}],"getDefinitions":[{"__symbolic":"method"}],"getAaiDefinitions":[{"__symbolic":"method"}]}},"ɵes":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"definition-info-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":36,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<section type=\"info\" label=\"INFO\"\n         contextHelp=\"This section allows you to modify the Description of the Data Type.\"\n         [collaborationNodePath]=\"definitionInfoPaths()\"\n         [validationModels]=\"[definition]\" [validationProperties]=\"['description']\" [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <!-- Description -->\n        <div class=\"section-field-label\">\n            <validation-problem [model]=\"definition\" property=\"description\" [shallow]=\"true\"></validation-problem>\n            <span>Description</span>\n        </div>\n        <div class=\"section-field description\">\n            <inline-markdown-editor [value]=\"description()\"\n                                    [labelClass]=\"'api-definition-description api-item-description'\"\n                                    [formClass]=\"'api-definition-description-editor-form'\"\n                                    [inputClass]=\"'api-item-editor api-description-editor api-definition-description api-item-description'\"\n                                    [baseNode]=\"definition\" nodePath=\"description\"\n                                    [noValueMessage]=\"'No description.'\" (onChange)=\"onDescriptionChange($event)\"></inline-markdown-editor>\n        </div>\n\n        <!-- Type -->\n        <div class=\"section-field type\" *ngIf=\"isObject()\">\n            <div>This data type is currently a complex object.</div>\n            <a (click)=\"switchToSimpleType()\">Switch to simple type</a>\n        </div>\n        <div class=\"section-field type\" *ngIf=\"!isObject()\">\n            <div>This data type is currently a simple type.</div>\n            <a (click)=\"switchToObject()\">Switch to complex (object) type</a>\n        </div>\n\n    </div>\n</section>\n","styles":[".section .section-field.type{margin-top:15px;border:1px solid #ccc;padding:5px}"]}]}],"members":{"definition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":43,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"definitionInfoPaths":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"onDescriptionChange":[{"__symbolic":"method"}],"isObject":[{"__symbolic":"method"}],"switchToSimpleType":[{"__symbolic":"method"}],"switchToObject":[{"__symbolic":"method"}],"createSchemaDefinition":[{"__symbolic":"method"}]}},"ɵet":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"rename-path-dialog","template":"<!-- Rename Path Dialog -->\n<div>\n    <div bsModal #renamePathModal=\"bs-modal\" class=\"modal fade\" id=\"renamePathModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"renamePathModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"renamePathInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"renamePathModalLabel\">Rename Path</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter a new path below and then click Rename.</p>\n                    <form id=\"renamepath-form\" class=\"form-horizontal\" #renamePathForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"pathName\">Path</label>\n                            <div class=\"col-sm-10\">\n                                <input name=\"pathName\" type=\"text\" id=\"pathName\" class=\"form-control\" #renamePathInput\n                                       placeholder=\"Enter a Path Name\" #pathName=\"ngModel\" pattern=\"(\\/[^{}\\/]*(\\{[a-zA-Z_][0-9a-zA-Z_]*\\})?)+\"\n                                       required [(ngModel)]=\"name\" (ngModelChange)=\"pathExists = paths.indexOf($event) != -1\">\n                                <div class=\"form-error-message error\" *ngIf=\"pathExists\">Path already exists.</div>\n                                <form-error-message [inputModel]=\"pathName\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid path.</form-error-message>\n                                <form-error-message [inputModel]=\"pathName\" [type]=\"'required'\">Name is required.</form-error-message>\n                            </div>\n                        </div>\n                        <div class=\"form-group subpath-option\" *ngIf=\"numSubpaths > 0\">\n                            <label class=\"col-sm-2 control-label\"></label>\n                            <div class=\"col-sm-10\">\n                                <input type=\"checkbox\" name=\"alsoSubpaths\" id=\"alsoSubpaths\" [(ngModel)]=\"alsoSubpaths\">\n                                <label for=\"alsoSubpaths\">Also rename <strong>{{ numSubpaths }}</strong> sub-path(s).</label>\n                            </div>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"rename()\"\n                            [disabled]=\"!renamePathForm.form.valid || pathExists\">Rename</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":[""]}]}],"members":{"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}],"renamePathModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["renamePathModal"]}]}],"open":[{"__symbolic":"method"}],"getPaths":[{"__symbolic":"method"}],"calculateNumberOfSubpaths":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}]}},"ɵeu":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"counter","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":27,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":28,"character":21},"member":"OnPush"},"template":"<span *ngIf=\"hasItems()\" class=\"item-counter\">{{ numItems() }}</span>","styles":[".item-counter:before{content:\"(\"}.item-counter:after{content:\")\"}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":34,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"}]}],"hasItems":[{"__symbolic":"method"}],"numItems":[{"__symbolic":"method"}]}},"ɵev":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"responses-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":52,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":53,"character":21},"member":"OnPush"},"template":"<section type=\"responses\" label=\"RESPONSES\" [counterItems]=\"responses()\"\n         contextHelp=\"Use this section to configure the operation's Responses (e.g. 200, 404, 500).\"\n         [collaborationNodePath]=\"responsesPath()\"\n         [validationModels]=\"responses()\">\n    <span actions>\n        <icon-button (onClick)=\"openAddResponseModal()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a response to the operation.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllResponses()\" [disabled]=\"!hasResponses()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all responses from the operation.'\"></icon-button>\n    </span>\n    <div body>\n\n        <signpost *ngIf=\"!hasResponses()\">\n            <validation-problem [model]=\"operation\" [code]=\"'OP-007'\" *ngIf=\"is20Document()\"></validation-problem>\n            <validation-problem [model]=\"operation\" [code]=\"'OP-3-004'\" *ngIf=\"is30Document()\"></validation-problem>\n            <span>No responses have been defined.</span>\n            <a (click)=\"openAddResponseModal()\">Add a response</a>\n        </signpost>\n\n        <!-- The list of responses -->\n        <div class=\"response-tabs\" *ngIf=\"hasResponses()\">\n            <div class=\"tab statusCode {{ statusCodeType(response.getStatusCode()) }}\" [class.active]=\"isTabActive(response)\" *ngFor=\"let response of responses()\">\n                <a (click)=\"setTab(response)\">\n                    <span>{{ response.getStatusCode() }}</span>\n                    <span>&nbsp;</span>\n                    <span>{{ statusCodeLine(response.getStatusCode()) }}</span>\n                </a>\n                <validation-aggregate [models]=\"[ response ]\"></validation-aggregate>\n            </div>\n            <div class=\"actions\">\n                <div class=\"dropdown dropdown-kebab-pf\">\n                    <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                            data-toggle=\"dropdown\" aria-haspopup=\"true\">\n                        <span class=\"fa fa-ellipsis-v\"></span>\n                    </button>\n                    <ul class=\"dropdown-menu dropdown-menu-right\">\n                        <li><a (click)=\"deleteResponse(currentResponse())\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete Response</span></a></li>\n                        <li><a (click)=\"openCloneResponseModal(currentResponse())\"><span class=\"fa fa-fw fa-clone\"></span><span>Clone Response</span></a></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"response-tab-content\" *ngIf=\"hasResponses()\">\n            <response-tab [response]=\"currentResponse()\" *ngIf=\"is20Document()\"></response-tab>\n            <response-tab-30 [response]=\"currentResponse()\" *ngIf=\"is30Document()\"></response-tab-30>\n        </div>\n    </div>\n</section>\n<add-response-dialog #addResponseDialog (onAdd)=\"addResponse($event)\"></add-response-dialog>\n<clone-response-dialog #cloneResponseDialog (onClone)=\"cloneResponse($event)\"></clone-response-dialog>\n","styles":[".responses-section .section-body .response-tabs{display:flex;width:100%}.responses-section .section-body .response-tabs .tab{position:relative;padding:5px 10px;background-color:#efefef;border:1px solid transparent;margin-right:5px}.responses-section .section-body .response-tabs .tab:hover{background-color:#e4e4e4}.responses-section .section-body .response-tabs .tab.active{border-color:#ddd;border-bottom:1px solid transparent;background-color:#fff;margin-bottom:-1px}.responses-section .section-body .response-tabs .tab:first-child{border-left:1px solid transparent}.responses-section .section-body .response-tabs .tab:first-child.active{border-left:1px solid #ddd}.responses-section .section-body .response-tabs .tab>a{cursor:pointer;text-decoration:none;color:#666}.responses-section .section-body .response-tabs .tab.active>a{cursor:default}.responses-section .section-body .response-tabs .tab.statusCode.success>a{color:green}.responses-section .section-body .response-tabs .tab.statusCode.redirect>a{color:#00f}.responses-section .section-body .response-tabs .tab.statusCode.problem>a{color:orange}.responses-section .section-body .response-tabs .tab.statusCode.error>a{color:red}.responses-section .section-body .response-tabs .tab .validation-aggregate{position:absolute;right:-3px;top:-7px}.responses-section .section-body .response-tabs .actions{flex-grow:1;text-align:right;padding-right:10px;margin-top:5px}.responses-section .section-body .response-tab-content{border:1px solid #ddd;background-color:#fff;padding:10px}"]}]}],"members":{"operation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"addResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":59,"character":5},"arguments":["addResponseDialog",{"static":true}]}]}],"cloneResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":60,"character":5},"arguments":["cloneResponseDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":72,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnChanges":[{"__symbolic":"method"}],"responsesPath":[{"__symbolic":"method"}],"selectDefaultTab":[{"__symbolic":"method"}],"is20Document":[{"__symbolic":"method"}],"is30Document":[{"__symbolic":"method"}],"openAddResponseModal":[{"__symbolic":"method"}],"openCloneResponseModal":[{"__symbolic":"method"}],"addResponse":[{"__symbolic":"method"}],"cloneResponse":[{"__symbolic":"method"}],"deleteAllResponses":[{"__symbolic":"method"}],"responses":[{"__symbolic":"method"}],"hasResponses":[{"__symbolic":"method"}],"deleteResponse":[{"__symbolic":"method"}],"statusCodeLine":[{"__symbolic":"method"}],"statusCodeType":[{"__symbolic":"method"}],"isTabActive":[{"__symbolic":"method"}],"setTab":[{"__symbolic":"method"}],"currentResponse":[{"__symbolic":"method"}],"nextAvailableResponseCode":[{"__symbolic":"method"}]}},"ɵew":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵx"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"inline-example-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":19},"member":"None"},"template":"<div class=\"inline-example-editor-label\" *ngIf=\"!editing\" (click)=\"onStartEditing()\" title=\"Click to edit.\">\n    <pre *ngIf=\"!isEmpty()\">{{ displayValue() }}</pre>\n    <div class=\"no-value\" *ngIf=\"isEmpty()\">\n        <span class=\"empty\">{{ noValueMessage }}</span>\n        <i class=\"glyphicon glyphicon-pencil\"></i>\n    </div>\n</div>\n<div class=\"inline-editor inline-example-editor\" *ngIf=\"editing\" (keyup)=\"onInputKeypress($event)\">\n    <code-editor [mode]=\"codeEditorMode()\" #codeEditor\n                 [debounceTime]=\"150\"\n                 [(text)]=\"evalue\"\n                 (textChange)=\"updateModeFromContent($event)\"\n                 wordWrap=\"true\"\n                 [editorStyle]=\"{ position: 'relative', height: '220px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n    <button title=\"Save changes.\" class=\"btn btn-xs btn-primary btn-save\" (click)=\"onSave()\"><span class=\"fa fa-fw fa-check\"></span></button>\n    <button title=\"Cancel changes.\" class=\"btn btn-xs btn-default btn-cancel\" (click)=\"onCancel()\"><span class=\"fa fa-fw fa-close\"></span></button>\n    <button title=\"Generate example.\" class=\"btn btn-xs btn-default btn-generate\" (click)=\"generate()\"\n            *ngIf=\"canGenerateExample()\"><span class=\"fa fa-fw fa-code\"></span> Generate</button>\n</div>\n","styles":[".inline-example-editor-label{display:inline-block;width:100%}.inline-example-editor-label:hover>pre{filter:brightness(95%);cursor:pointer}.inline-example-editor-label .glyphicon{font-size:11px;margin-left:5px}.inline-example-editor-label:hover .glyphicon{color:#669}.inline-example-editor-label .md-container p:last-child{margin-bottom:0}.inline-example-editor{position:relative}.inline-example-editor .btn-generate{position:absolute;top:0;right:0;z-index:10}.inline-example-editor-label .no-value{border:1px solid transparent;padding:2px 5px;margin-left:-6px;display:inline-block;width:100%}.inline-example-editor-label .no-value:hover{border-color:#bbb;cursor:pointer}.inline-example-editor>.btn-save{margin-right:3px}"]}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":35,"character":5},"arguments":["codeEditor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"displayValue":[{"__symbolic":"method"}],"codeEditorMode":[{"__symbolic":"method"}],"canGenerateExample":[{"__symbolic":"method"}],"generate":[{"__symbolic":"method"}],"updateModeFromContent":[{"__symbolic":"method"}]}},"ɵex":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"definition-example-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":30,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":31,"character":21},"member":"OnPush"},"template":"<section type=\"example\" label=\"EXAMPLE\"\n         contextHelp=\"This section allows you to modify the Data Type's Example.\"\n         [collaborationNodePath]=\"exampleNodePath()\"\n         [validationModels]=\"[definition]\" [validationProperties]=\"['example']\" [validationShallow]=\"true\">\n    <span actions></span>\n    <div body>\n        <div class=\"section-field example\">\n            <inline-example-editor [value]=\"example()\"\n                                   [schema]=\"definition\"\n                                   [labelClass]=\"'api-definition-example api-item-example'\"\n                                   [formClass]=\"'api-definition-example-editor-form'\"\n                                   [inputClass]=\"'api-item-editor api-example-editor api-definition-example api-item-example'\"\n                                   [baseNode]=\"definition\" nodePath=\"example\"\n                                   [noValueMessage]=\"'No example.'\" (onChange)=\"onExampleChange($event)\"></inline-example-editor>\n        </div>\n    </div>\n</section>\n"}]}],"members":{"definition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":44,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"example":[{"__symbolic":"method"}],"onExampleChange":[{"__symbolic":"method"}],"exampleNodePath":[{"__symbolic":"method"}]}},"ɵey":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":61,"character":1},"arguments":[{"selector":"property-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":65,"character":19},"member":"None"},"template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"schemaProperty\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a new Data Type Property.\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>Enter a name and description for the new property.</span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"qp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"qp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique property name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"propExists = props.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"propExists\">Property named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row-fluid divider-section\">\n        <div class=\"col-md-12\">\n            <hr />\n        </div>\n    </div>\n    <div class=\"row-fluid body-section type-section\">\n        <div class=\"col-md-12\">\n            <h3>2. Enter Type Information <span class=\"optional empty\">(optional)</span></h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter information about the property's type (and whether it is required).\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <div>\n                    <div class=\"prop-type\">\n                        <span class=\"propIs-label dropdown-label\">Property is</span>\n                        <drop-down [id]=\"'api-prop-required'\"\n                                   [value]=\"required()\"\n                                   [options]=\"requiredOptions()\"\n                                   (onValueChange)=\"changeRequired($event)\"\n                                   [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        <span class=\"strong type-label dropdowns-label\">and has type</span>\n                        <drop-down [id]=\"'api-prop-type'\"\n                                   [value]=\"type()\"\n                                   [options]=\"typeOptions()\"\n                                   (onValueChange)=\"changeType($event)\"\n                                   [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n                        <span class=\"of-label dropdowns-label\" *ngIf=\"type() === 'array'\">of</span>\n                        <drop-down *ngIf=\"type() === 'array'\"\n                                   [id]=\"'api-prop-type-of'\"\n                                   [value]=\"typeOf()\"\n                                   [options]=\"typeOfOptions()\"\n                                   (onValueChange)=\"changeTypeOf($event)\"\n                                   [noSelectionLabel]=\"'Choose Type'\"></drop-down>\n                        <span class=\"as-label dropdowns-label\" *ngIf=\"shouldShowFormattedAs()\">as</span>\n                        <drop-down *ngIf=\"shouldShowFormattedAs()\"\n                                   [id]=\"'api-prop-type-as'\"\n                                   [value]=\"typeAs()\"\n                                   [options]=\"typeAsOptions()\"\n                                   (onValueChange)=\"changeTypeAs($event)\"\n                                   [noSelectionLabel]=\"'Format'\"></drop-down>\n                    </div>\n                    <div class=\"prop-enum\" id=\"prop-enum\" *ngIf=\"shouldShowEnumEditor()\">\n                        <span class=\"enum-label\">Enum Values: </span>\n                        <inline-array-editor *ngIf=\"shouldShowEnumEditor()\" [value]=\"model.type.enum_\" (onChange)=\"changeTypeEnum($event)\"\n                                             noValueMessage=\"Click to define enum values.\"></inline-array-editor>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[".type-section .prop-required{margin-bottom:20px}.type-section .prop-type{margin-bottom:10px}.type-section .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.type-section .prop-enum .enum-label{display:block;font-weight:600}.type-section .prop-enum .inline-array-editor>.form-control-pf-edit>.form-control-pf-textbox>input{width:100%;min-width:auto}"]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getProps":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"typeOptions":[{"__symbolic":"method"}],"typeOf":[{"__symbolic":"method"}],"typeOfOptions":[{"__symbolic":"method"}],"typeAs":[{"__symbolic":"method"}],"typeAsOptions":[{"__symbolic":"method"}],"shouldShowEnumEditor":[{"__symbolic":"method"}],"shouldShowFormattedAs":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"changeTypeEnum":[{"__symbolic":"method"}],"changeTypeOf":[{"__symbolic":"method"}],"changeTypeAs":[{"__symbolic":"method"}],"addRefTypes":[{"__symbolic":"method"}]}},"ɵez":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"header-param-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":52,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":53,"character":21},"member":"OnPush"},"template":"<div class=\"header-param\" [class.expanded]=\"isEditing()\" [class.required]=\"isRequired()\" [class.overridable]=\"isOverridable()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"apicurio-icon-override icon-override\" *ngIf=\"isParentOperation() && isOverride()\"\n                  title=\"Overrides a parameter defined at the Path level.\"></span>\n            <span class=\"apicurio-icon-inherit-d icon-override\" *ngIf=\"isParentOperation() && isOverridable()\"\n                  title=\"Header parameter inherited from the Path level.\"></span>\n            <span class=\"apicurio-icon-local-d icon-override\" *ngIf=\"isParentOperation() && isLocalOnly()\"\n                  title=\"Header parameter defined for this operation only.\"></span>\n            <span title=\"{{ item.name }}\">{{ item.name }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <span class=\"parameter-required\" *ngIf=\"isRequired()\" title=\"This header parameter is required.\">[required]</span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\" *ngIf=\"is3xDocument()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!hasExamples()\"> {{ displayExamples() }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\" *ngIf=\"!isOverridable()\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n            <button *ngIf=\"isOverridable()\" (click)=\"override()\" title=\"Override the header parameter.\"\n                    class=\"btn btn-default btn-xs btn-override\">Override</button>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"param-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"param-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"param-required\">\n                            <span class=\"dropdown-label\">Parameter is</span>\n                            <drop-down [id]=\"'api-param-required'\"\n                                       [value]=\"required()\"\n                                       [options]=\"requiredOptions()\"\n                                       (onValueChange)=\"changeRequired($event)\"\n                                       [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        </div>\n                        <div class=\"param-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"param-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!hasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"hasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Example</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of paramExamples()\">\n                                    <td class=\"name\">\n                                        <validation-problem [model]=\"example\"></validation-problem>\n                                        <span>{{ example.getName() }}</span>\n                                    </td>\n                                    <td class=\"value pre-actions\">\n                                        <span>{{ exampleValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                            [title]=\"'Delete example.'\"></icon-button>\n                                            <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                            [title]=\"'Edit example.'\"></icon-button>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n    <add-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"schemaForExample()\"></add-example-dialog>\n    <edit-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"schemaForExample()\"></edit-example-dialog>\n</div>\n","styles":[".header-param{border:1px solid transparent;position:relative}.header-param.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.header-param .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.header-param .header:hover{background-color:#edf8ff}.header-param.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.header-param .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.header-param .header .name>span{font-weight:600;color:#39a5dc}.header-param .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.header-param .header .description{flex-basis:28%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.header-param .header .description:hover{color:#0088ce;cursor:pointer}.header-param .header .summary{flex-basis:27%}.header-param .header .summary:hover{color:#0088ce;cursor:pointer}.header-param .header .summary .parameter-required{font-weight:600}.header-param .header .summary .parameter-required:hover{filter:brightness(120%)}.header-param .header .examples{flex-basis:25%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.header-param .header .examples:hover{color:#0088ce;cursor:pointer}.header-param .header .actions{flex-basis:2%;text-align:center}.header-param .header .actions .btn-override{position:absolute;right:5px;top:6px}.header-param .header .actions>div .fa-ellipsis-v{visibility:hidden}.header-param:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.header-param .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.header-param .body{position:relative;padding:15px}.header-param .body .close{position:absolute;right:10px;top:5px}.header-param .body .param-description form{width:100%}.header-param .body .param-description .form-label,.header-param .body span.strong{font-weight:600}.header-param .body .param-required{margin-bottom:20px}.header-param .body .param-type{margin-bottom:10px}.header-param .body .param-examplesform{width:100%}.header-param .body .param-examples .form-label{font-weight:600}.header-param .body .param-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.header-param.overridable>.header>div>.fa-angle-right{display:none}.header-param.overridable .header .description:hover,.header-param.overridable .header .summary:hover{color:inherit;cursor:default}.header-param .description>.fa,.header-param .summary>.fa{margin-right:2px}.header-param .summary .parameter-required{margin-right:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":74,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParentOperation":[{"__symbolic":"method"}],"isParentPath":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"is3xDocument":[{"__symbolic":"method"}],"hasExamples":[{"__symbolic":"method"}],"paramExamples":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"schemaForExample":[{"__symbolic":"method"}],"override":[{"__symbolic":"method"}],"isMissing":[{"__symbolic":"method"}],"isExists":[{"__symbolic":"method"}],"isOverride":[{"__symbolic":"method"}],"isOverridable":[{"__symbolic":"method"}],"isLocalOnly":[{"__symbolic":"method"}],"getOverriddenParam":[{"__symbolic":"method"}],"detectParentType":[{"__symbolic":"method"}]}},"ɵfa":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":55,"character":1},"arguments":[{"selector":"header-params-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":58,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":59,"character":21},"member":"OnPush"},"template":"<!-- Header Parameters Section -->\n<section type=\"header-parameters\" label=\"HEADER PARAMETERS\"\n         [counterItems]=\"headerParameters()\"\n         [contextHelp]=\"contextHelp()\" [expanded]=\"showSectionBody\"\n         [collaborationNodePath]=\"headerParameterPaths()\"\n         [validationModels]=\"headerParameters()\">\n    <span actions>\n        <icon-button (onClick)=\"openAddHeaderParamEditor()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a new header parameter.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllHeaderParams()\" [disabled]=\"!hasHeaderParameters()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all header parameters.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasHeaderParameters()\">\n            <span>No header parameters have been defined.</span>\n            <a (click)=\"openAddHeaderParamEditor()\">Add a header parameter</a>\n        </signpost>\n\n        <!-- The list of header parameters -->\n        <div class=\"container-fluid header-parameters typed-item-list\" *ngIf=\"hasHeaderParameters()\">\n            <header-param-row *ngFor=\"let param of headerParameters()\" [item]=\"param\"\n                              (onRename)=\"openRenameDialog(param)\"\n                              (onDelete)=\"deleteParam(param)\"></header-param-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Header\"\n                      title=\"Rename Header\"\n                      warning=\"Renaming a Header may also update any headers with the same name depending on path and operation hierarchies.\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_\\$]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., -, _ and $ are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":72,"character":43},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"isPathItem":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"hasParameters":[{"__symbolic":"method"}],"hasHeaderParameters":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"headerParameters":[{"__symbolic":"method"}],"headerParameterPaths":[{"__symbolic":"method"}],"openAddHeaderParamEditor":[{"__symbolic":"method"}],"deleteAllHeaderParams":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"addHeaderParam":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵfb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"selector":"operations-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":46,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":47,"character":21},"member":"OnPush"},"template":"<section type=\"operations\" label=\"OPERATIONS\" [counterItems]=\"operations()\" [inForm]=\"false\"\n         [collaborationNodePath]=\"collaborationPaths()\"\n         contextHelp=\"In this section you can manage the operations defined for the path.\"\n         [validationModels]=\"operations()\">\n    <span actions></span>\n    <div body>\n        <div class=\"operation-tabs\">\n            <div class=\"tabs\">\n                <div class=\"operation-tab get-tab\" [class.selected]=\"tab === 'get'\" [class.enabled]=\"isDefined('get')\" (click)=\"selectTab('get')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('get')\"></collaborator-overlay>\n                        <span>Get</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.get ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab put-tab\" [class.selected]=\"tab === 'put'\" [class.enabled]=\"isDefined('put')\" (click)=\"selectTab('put')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('put')\"></collaborator-overlay>\n                        <span>Put</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.put ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab post-tab\" [class.selected]=\"tab === 'post'\" [class.enabled]=\"isDefined('post')\" (click)=\"selectTab('post')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('post')\"></collaborator-overlay>\n                        <span>Post</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.post ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab delete-tab\" [class.selected]=\"tab === 'delete'\" [class.enabled]=\"isDefined('delete')\" (click)=\"selectTab('delete')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('delete')\"></collaborator-overlay>\n                        <span>Delete</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.delete ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab options-tab\" [class.selected]=\"tab === 'options'\" [class.enabled]=\"isDefined('options')\" (click)=\"selectTab('options')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('options')\"></collaborator-overlay>\n                        <span>Options</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.options ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab head-tab\" [class.selected]=\"tab === 'head'\" [class.enabled]=\"isDefined('head')\" (click)=\"selectTab('head')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('head')\"></collaborator-overlay>\n                        <span>Head</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.head ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab patch-tab\" [class.selected]=\"tab === 'patch'\" [class.enabled]=\"isDefined('patch')\" (click)=\"selectTab('patch')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('patch')\"></collaborator-overlay>\n                        <span>Patch</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path.patch ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab trace-tab\" [class.selected]=\"tab === 'trace'\" [class.enabled]=\"isDefined('trace')\" (click)=\"selectTab('trace')\" *ngIf=\"!is20Document()\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('trace')\"></collaborator-overlay>\n                        <span>Trace</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ path['trace'] ]\"></validation-aggregate>\n                </div>\n            </div>\n            <div class=\"actions\">\n                <div class=\"dropdown dropdown-kebab-pf\">\n                    <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                            data-toggle=\"dropdown\" aria-haspopup=\"true\">\n                        <span class=\"fa fa-ellipsis-v\"></span>\n                    </button>\n                    <ul class=\"dropdown-menu dropdown-menu-right\">\n                        <li [class.disabled]=\"!operation()\"><a (click)=\"deleteOperation(operation())\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete Operation</span></a></li>\n                        <li role=\"separator\" class=\"divider\"></li>\n                        <li><a (click)=\"deleteAllOperations()\"><span class=\"fa fa-fw fa-trash-o\"></span><span>Delete All Operations</span></a></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"operation\" *ngIf=\"hasSelectedOperation()\">\n            <!-- Info Section -->\n            <operation-info-section [operation]=\"operation()\"></operation-info-section>\n\n            <!-- Servers (3.0 only) -->\n            <servers-section [parent]=\"operation()\" [collapsed]=\"true\" *ngIf=\"is3xDocument()\"\n                             description=\"Configure servers specific to only this Operation.  Once defined, servers indicate where to access the API (e.g. host and port).\"></servers-section>\n\n            <!-- Path Parameters Section -->\n            <path-params-section [parent]=\"operation()\" [path]=\"path\"></path-params-section>\n\n            <!-- Query Parameters Section -->\n            <query-params-section [parent]=\"operation()\" [path]=\"path\"></query-params-section>\n\n            <!-- Header Parameters Section -->\n            <header-params-section [parent]=\"operation()\" [path]=\"path\"></header-params-section>\n\n            <!-- Cookie Parameters Section -->\n            <cookie-params-section [parent]=\"operation()\" [path]=\"path\" *ngIf=\"is3xDocument()\"></cookie-params-section>\n\n            <!-- Request Body Section -->\n            <requestBody-section [operation]=\"operation()\"></requestBody-section>\n\n            <!-- Responses Section -->\n            <responses-section [operation]=\"operation()\"></responses-section>\n\n            <!-- Security Requirements -->\n            <security-requirements-section [parent]=\"operation()\" [global]=\"false\"></security-requirements-section>\n\n            <!-- Vendor Extensions -->\n            <extensions-section [parent]=\"operation()\"></extensions-section>\n\n        </div>\n\n        <div class=\"no-operation\" *ngIf=\"!hasSelectedOperation()\">\n            <no-operation [method]=\"tab\" (add)=\"addOperation()\"></no-operation>\n        </div>\n    </div>\n</section>\n\n\n","styles":[".operations-section .section-body .operation-tabs{border-bottom:1px solid #ddd;margin-top:15px;display:flex}.operations-section .section-body .operation-tabs .tabs{flex-grow:1}.operations-section .section-body .operation-tabs .operation-tab{display:inline-block;margin-right:10px;padding:3px 3px 5px;border-bottom:2px solid transparent;cursor:pointer;position:relative}.operations-section .section-body .operation-tabs .operation-tab:hover{border-color:#bbb}.operations-section .section-body .operation-tabs .operation-tab.selected{border-color:#0088ce}.operations-section .section-body .operation-tabs .operation-tab .tab-label{position:relative;background-color:#dfdfdf;display:inline-block;width:75px;border-radius:2px;text-align:center;padding:4px}.operations-section .section-body .operation-tabs .operation-tab .tab-label .collaborator-overlay{border-radius:2px}.operations-section .section-body .operation-tabs .operation-tab.enabled .tab-label{background-color:#00659c;color:#fff}.operations-section .section-body .operation-tabs .operation-tab.get-tab.enabled .tab-label{background-color:#3f9c35}.operations-section .section-body .operation-tabs .operation-tab.post-tab.enabled .tab-label{background-color:#ec7a08}.operations-section .section-body .operation-tabs .operation-tab.delete-tab.enabled .tab-label{background-color:#c00}.operations-section .section-body .operation-tabs .operation-tab .validation-aggregate{position:absolute;right:-5px;top:-6px}.operations-section .section-body .operation-tabs .actions{float:right;margin-right:10px;padding-top:8px}.operations-section .section-body .operation{background-color:#f1f2f3;padding-bottom:20px;padding-left:5px;padding-right:5px;margin-top:1px}.operations-section .section-body .section .section-body{background:#fff;border:1px solid #ddd;padding:10px}"]}]}],"members":{"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":68,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"is20Document":[{"__symbolic":"method"}],"is3xDocument":[{"__symbolic":"method"}],"operations":[{"__symbolic":"method"}],"collaborationPaths":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"setOperationTabFromSelection":[{"__symbolic":"method"}],"pathOperations":[{"__symbolic":"method"}],"allPathOperations":[{"__symbolic":"method"}],"allCollaborationPaths":[{"__symbolic":"method"}],"operation":[{"__symbolic":"method"}],"operationPath":[{"__symbolic":"method"}],"isDefined":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}],"hasSelectedOperation":[{"__symbolic":"method"}],"addOperation":[{"__symbolic":"method"}],"deleteOperation":[{"__symbolic":"method"}],"deleteAllOperations":[{"__symbolic":"method"}]}},"ɵfc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"channel-operations-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":43,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":44,"character":21},"member":"OnPush"},"template":"<section type=\"operations\" label=\"OPERATIONS\" [counterItems]=\"operations()\" [inForm]=\"false\"\n         [collaborationNodePath]=\"collaborationPaths()\"\n         contextHelp=\"In this section you can manage the operations defined for the channel.\"\n         [validationModels]=\"operations()\">\n    <span actions></span>\n    <div body>\n        <div class=\"operation-tabs\">\n            <div class=\"tabs\">\n                <div class=\"operation-tab subscribe-tab\" [class.selected]=\"tab === 'subscribe'\" [class.enabled]=\"isDefined('subscribe')\" (click)=\"selectTab('subscribe')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('subscribe')\"></collaborator-overlay>\n                        <span>Subscribe</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ channel.subscribe ]\"></validation-aggregate>\n                </div>\n                <div class=\"operation-tab publish-tab\" [class.selected]=\"tab === 'publish'\" [class.enabled]=\"isDefined('publish')\" (click)=\"selectTab('publish')\">\n                    <div class=\"tab-label\">\n                        <collaborator-overlay [nodePath]=\"operationPath('publish')\"></collaborator-overlay>\n                        <span>Publish</span>\n                    </div>\n                    <validation-aggregate [models]=\"[ channel.publish ]\"></validation-aggregate>\n                </div>\n            </div>\n            <div class=\"actions\">\n                <div class=\"dropdown dropdown-kebab-pf\">\n                    <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                            data-toggle=\"dropdown\" aria-haspopup=\"true\">\n                        <span class=\"fa fa-ellipsis-v\"></span>\n                    </button>\n                    <ul class=\"dropdown-menu dropdown-menu-right\">\n                        <li [class.disabled]=\"!operation()\"><a (click)=\"deleteOperation(operation())\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete Operation</span></a></li>\n                        <li role=\"separator\" class=\"divider\"></li>\n                        <li><a (click)=\"deleteAllOperations()\"><span class=\"fa fa-fw fa-trash-o\"></span><span>Delete All Operations</span></a></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"operation\" *ngIf=\"hasSelectedOperation()\">\n            <!-- Info Section -->\n            <channel-operation-info-section [operation]=\"operation()\"></channel-operation-info-section>\n\n            <!-- Message Section -->\n            <message-section [operation]=\"operation()\"></message-section>\n        </div>\n\n        <div class=\"no-operation\" *ngIf=\"!hasSelectedOperation()\">\n            <no-operation [method]=\"tab\" (add)=\"addOperation()\"></no-operation>\n        </div>\n    </div>\n</section>\n\n\n","styles":[".operations-section .section-body .operation-tabs{border-bottom:1px solid #ddd;margin-top:15px;display:flex}.operations-section .section-body .operation-tabs .tabs{flex-grow:1}.operations-section .section-body .operation-tabs .operation-tab{display:inline-block;margin-right:10px;padding:3px 3px 5px;border-bottom:2px solid transparent;cursor:pointer;position:relative}.operations-section .section-body .operation-tabs .operation-tab:hover{border-color:#bbb}.operations-section .section-body .operation-tabs .operation-tab.selected{border-color:#0088ce}.operations-section .section-body .operation-tabs .operation-tab .tab-label{position:relative;background-color:#dfdfdf;display:inline-block;width:75px;border-radius:2px;text-align:center;padding:4px}.operations-section .section-body .operation-tabs .operation-tab .tab-label .collaborator-overlay{border-radius:2px}.operations-section .section-body .operation-tabs .operation-tab.enabled .tab-label{background-color:#00659c;color:#fff}.operations-section .section-body .operation-tabs .operation-tab.get-tab.enabled .tab-label{background-color:#3f9c35}.operations-section .section-body .operation-tabs .operation-tab.post-tab.enabled .tab-label{background-color:#ec7a08}.operations-section .section-body .operation-tabs .operation-tab.delete-tab.enabled .tab-label{background-color:#c00}.operations-section .section-body .operation-tabs .operation-tab .validation-aggregate{position:absolute;right:-5px;top:-6px}.operations-section .section-body .operation-tabs .actions{float:right;margin-right:10px;padding-top:8px}.operations-section .section-body .operation{background-color:#f1f2f3;padding-bottom:20px;padding-left:5px;padding-right:5px;margin-top:1px}.operations-section .section-body .section .section-body{background:#fff;border:1px solid #ddd;padding:10px}"]}]}],"members":{"channel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"operations":[{"__symbolic":"method"}],"collaborationPaths":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"setOperationTabFromSelection":[{"__symbolic":"method"}],"channelOperations":[{"__symbolic":"method"}],"allChannelOperations":[{"__symbolic":"method"}],"allCollaborationPaths":[{"__symbolic":"method"}],"operation":[{"__symbolic":"method"}],"operationPath":[{"__symbolic":"method"}],"isDefined":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}],"hasSelectedOperation":[{"__symbolic":"method"}],"addOperation":[{"__symbolic":"method"}],"deleteOperation":[{"__symbolic":"method"}],"deleteAllOperations":[{"__symbolic":"method"}]}},"ɵfd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"media-type-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":39,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":21},"member":"OnPush"},"template":"<div class=\"media-type\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"fa fa-fw fa-file-o\"></span>\n            <span title=\"{{ item.getName() }}\">{{ item.getName() }}</span>\n        </div>\n        <div class=\"type\" (click)=\"toggleType()\" [class.selected]=\"isEditingType()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingType()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!mediaTypeHasExamples()\">{{ displayExamples() }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"mt-content\" *ngIf=\"isEditingType()\">\n                        <div class=\"mt-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"false\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"mt-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!mediaTypeHasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"mediaTypeHasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Example</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of mediaTypeExamples()\">\n                                    <td class=\"name\">\n                                        <validation-problem [model]=\"example\"></validation-problem>\n                                        <span>{{ example.getName() }}</span>\n                                    </td>\n                                    <td class=\"value pre-actions\">\n                                        <span>{{ exampleValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                         [title]=\"'Delete example.'\"></icon-button>\n                                            <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                         [title]=\"'Edit example.'\"></icon-button>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                            <a (click)=\"deleteAllExamples()\" class=\"pull-right\">Delete all examples</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n<add-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"schemaForExample()\"></add-example-dialog>\n<edit-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"schemaForExample()\"></edit-example-dialog>\n","styles":[".media-type{border:1px solid transparent;position:relative}.media-type.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.media-type .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.media-type .header:hover{background-color:#edf8ff}.media-type.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.media-type .header .name{flex-basis:22%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.media-type .header .name>span{font-weight:600;color:#333}.media-type .header .name>span.fa{font-weight:400;margin-right:3px}.media-type .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.media-type .header .type{flex-basis:38%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.media-type .header .type:hover{color:#0088ce;cursor:pointer}.media-type .header .examples{flex-basis:38%}.media-type .header .examples:hover{color:#0088ce;cursor:pointer}.media-type .header .actions{flex-basis:2%;text-align:center}.media-type .header .actions .btn-override{position:absolute;right:5px;top:6px}.media-type .header .actions>div .fa-ellipsis-v{visibility:hidden}.media-type:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.media-type .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.media-type .body{position:relative;padding:15px}.media-type .body .close{position:absolute;right:10px;top:5px}.media-type .body .mt-examples .form-label{font-weight:600;margin-top:0}.media-type .body span.strong{font-weight:600}.media-type .body .mt-type{margin-bottom:10px}.media-type .mt-examples table{margin-bottom:3px}.media-type .mt-examples table td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-type .mt-examples table td.name{width:30%}.media-type .mt-examples table td.value{width:60%}.media-type .mt-examples table td.actions{width:10%}.media-type .mt-examples a{cursor:pointer}.media-type .examples>.fa,.media-type .type>.fa{margin-right:2px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":51,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"isEditingType":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"toggleType":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"mediaTypeExamples":[{"__symbolic":"method"}],"mediaTypeHasExamples":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"changeExampleSummary":[{"__symbolic":"method"}],"changeExampleDescription":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"schemaForExample":[{"__symbolic":"method"}]}},"ɵfe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"header-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":37,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":38,"character":21},"member":"OnPush"},"template":"<div class=\"http-header\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"fa fa-fw fa-file-o\"></span>\n            <span title=\"{{ item.getName() }}\">{{ item.getName() }}</span>\n        </div>\n        <div class=\"aa-header\" (click)=\"toggleHeader()\" [class.selected]=\"isEditingHeader()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingHeader()\"></span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"examples\" (click)=\"toggleExamples()\" [class.selected]=\"isEditingExamples()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingExamples()\"></span>\n            <span [class.empty]=\"!headerHasExamples()\">{{ displayExamples() }}</span>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"mt-content\" *ngIf=\"isEditingHeader()\">\n                        <div class=\"hr-header\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"false\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                    <div class=\"hr-examples\" *ngIf=\"isEditingExamples()\">\n                        <div class=\"form-label\">Examples</div>\n                        <signpost *ngIf=\"!headerHasExamples()\">\n                            <span>No examples have been defined.</span>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                        </signpost>\n                        <div *ngIf=\"headerHasExamples()\">\n                            <table class=\"table table-striped table-bordered table-examples\">\n                                <thead>\n                                <tr>\n                                    <th>Name</th>\n                                    <th class=\"pre-actions\">Example</th>\n                                    <th class=\"actions\"></th>\n                                </tr>\n                                </thead>\n                                <tbody>\n                                <tr *ngFor=\"let example of headerExamples()\">\n                                    <td class=\"name\">\n                                        <validation-problem [model]=\"example\"></validation-problem>\n                                        <span>{{ example.getName() }}</span>\n                                    </td>\n                                    <td class=\"value pre-actions\">\n                                        <span>{{ exampleValue(example) }}</span>\n                                    </td>\n                                    <td class=\"actions\">\n                                        <div>\n                                            <icon-button (onClick)=\"deleteExample(example)\" [pullRight]=\"true\" type=\"delete\"\n                                                         [title]=\"'Delete example.'\"></icon-button>\n                                            <icon-button (onClick)=\"editExampleDialog.open(example)\" [pullRight]=\"true\" type=\"edit\"\n                                                         [title]=\"'Edit example.'\"></icon-button>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                            <a (click)=\"addExampleDialog.open()\">Add an example</a>\n                            <a (click)=\"deleteAllExamples()\" class=\"pull-right\">Delete all examples</a>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n<add-example-dialog #addExampleDialog (onAdd)=\"addExample($event)\" [schema]=\"schemaForExample()\"></add-example-dialog>\n<edit-example-dialog #editExampleDialog (onEdit)=\"editExample($event)\" [schema]=\"schemaForExample()\"></edit-example-dialog>\n","styles":[".http-header{border:1px solid transparent;position:relative}.http-header.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.http-header .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.http-header .header:hover{background-color:#edf8ff}.http-header.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.http-header .header .name{flex-basis:22%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.http-header .header .name>span{font-weight:600;color:#333}.http-header .header .name>span.fa{font-weight:400;margin-right:3px}.http-header .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.http-header .header .aa-header{flex-basis:38%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.http-header .header .aa-header:hover{color:#0088ce;cursor:pointer}.http-header .header .examples{flex-basis:38%}.http-header .header .examples:hover{color:#0088ce;cursor:pointer}.http-header .header .actions{flex-basis:2%;text-align:center}.http-header .header .actions .btn-override{position:absolute;right:5px;top:6px}.http-header .header .actions>div .fa-ellipsis-v{visibility:hidden}.http-header:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.http-header .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.http-header .body{position:relative;padding:15px}.http-header .body .close{position:absolute;right:10px;top:5px}.http-header .body .hr-examples .form-label{font-weight:600;margin-top:0}.http-header .body span.strong{font-weight:600}.http-header .body .hr-header{margin-bottom:10px}.http-header .hr-examples table{margin-bottom:3px}.http-header .hr-examples table td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.http-header .mt-examples table td.name{width:30%}.http-header .hr-examples table td.value{width:60%}.http-header .hr-examples table td.actions{width:10%}.http-header .hr-examples a{cursor:pointer}.http-header .aa-header>.fa,.http-header .examples>.fa{margin-right:2px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":49,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isEditingExamples":[{"__symbolic":"method"}],"isEditingHeader":[{"__symbolic":"method"}],"toggleExamples":[{"__symbolic":"method"}],"toggleHeader":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayExamples":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"exampleValue":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"headerExamples":[{"__symbolic":"method"}],"headerHasExamples":[{"__symbolic":"method"}],"addExample":[{"__symbolic":"method"}],"changeExampleSummary":[{"__symbolic":"method"}],"changeExampleDescription":[{"__symbolic":"method"}],"deleteExample":[{"__symbolic":"method"}],"deleteAllExamples":[{"__symbolic":"method"}],"editExample":[{"__symbolic":"method"}],"schemaForExample":[{"__symbolic":"method"}]}},"ɵff":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵfg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"collaborator-aggregate","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":27,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":28,"character":21},"member":"OnPush"},"template":"<span class=\"collaborator-aggregate\" *ngIf=\"hasCollaborators()\">\n    <a (mouseover)=\"open($event)\"\n       (mousemove)=\"open($event)\"\n       (mouseleave)=\"close()\"\n       (mouseout)=\"close()\"\n       class=\"collaborator-icon\"\n       [style.background-color]=\"'#' + iconColor()\">{{ displayText() }}</a>\n    <div *ngIf=\"isOpen()\" class=\"collaborator-aggregate-panel\" [style.left]=\"left\" [style.top]=\"top\">\n        <div class=\"collaborator\" *ngFor=\"let collaborator of collaborators()\" title=\"{{ collaborator.fullName }}\">\n            <span class=\"collaborator-icon\" [style.background-color]=\"'#' + iconColorFor(collaborator)\">&nbsp;</span>\n            <span class=\"collaborator-name\">{{ collaborator.fullName }}</span>\n            </div>\n    </div>\n</span>","styles":[".collaborator-aggregate .collaborator-icon{color:#fff;display:inline-block;font-size:11px;width:14px;line-height:15px;text-align:center;text-decoration:none;text-transform:uppercase}.collaborator-aggregate .collaborator-icon:hover{text-decoration:none}.collaborator-aggregate .collaborator-aggregate-panel{position:fixed;margin:0;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;max-width:425px;max-height:125px;cursor:default;overflow-y:auto;color:#4d5258;line-height:18px;padding:10px 14px;font-size:12px;font-style:normal;font-weight:400}.collaborator-aggregate .collaborator-aggregate-panel .collaborator-icon{display:inline-block;width:8px;font-size:8px;line-height:8px;margin-right:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":39,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵi"}]}],"displayText":[{"__symbolic":"method"}],"iconColor":[{"__symbolic":"method"}]}},"ɵfg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":28,"character":1}}],"members":{"nodePath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":48,"character":45},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵi"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onDocumentChange":[{"__symbolic":"method"}],"updateCollaborators":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"hasCollaborators":[{"__symbolic":"method"}],"collaborators":[{"__symbolic":"method"}],"iconColorFor":[{"__symbolic":"method"}]}},"ɵfh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵfg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":124,"character":1},"arguments":[{"selector":"collaborator-overlay","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":128,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":129,"character":21},"member":"OnPush"},"template":"<span class=\"collaborator-overlay\" *ngIf=\"hasCollaborators()\" [style.border-color]=\"'#' + overlayColor()\">\n    <a (mouseover)=\"open($event)\"\n       (mousemove)=\"open($event)\"\n       (mouseleave)=\"close()\"\n       (mouseout)=\"close()\"\n       class=\"collaborator-overlay-icon\"\n       [style.background-color]=\"'#' + overlayColor()\">&nbsp;</a>\n    <div *ngIf=\"isOpen()\" class=\"collaborator-overlay-panel\" [style.left]=\"left\" [style.top]=\"top\">\n        <div class=\"collaborator\" *ngFor=\"let collaborator of collaborators()\" title=\"{{ collaborator.fullName }}\">\n            <span class=\"collaborator-icon\" [style.background-color]=\"'#' + iconColorFor(collaborator)\">&nbsp;</span>\n            <span class=\"collaborator-name\">{{ collaborator.fullName }}</span>\n            </div>\n    </div>\n</span>","styles":[".collaborator-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-width:1px;border-style:solid}.collaborator-overlay .collaborator-overlay-icon{position:absolute;top:0;left:0;display:inline-block;font-size:4px;width:6px;line-height:6px;text-decoration:none}.collaborator-overlay .collaborator-overlay-icon:hover{text-decoration:none}.collaborator-overlay .collaborator-overlay-panel{position:fixed;margin:0;border:1px solid #bbb;box-shadow:2px 2px 3px rgba(0,0,0,.1);z-index:150;background:#fff;max-width:425px;max-height:125px;cursor:default;overflow-y:auto;color:#4d5258;line-height:18px;padding:10px 14px;font-size:12px;font-style:normal;font-weight:400}.collaborator-overlay .collaborator-overlay-panel .collaborator-icon{display:inline-block;width:8px;font-size:8px;line-height:8px;margin-right:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":48,"character":45},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵi"}]}],"overlayColor":[{"__symbolic":"method"}]}},"ɵfi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"cookie-params-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":57,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":58,"character":21},"member":"OnPush"},"template":"<!-- Cookie Parameters Section -->\n<section type=\"cookie-parameters\" label=\"COOKIE PARAMETERS\"\n         [counterItems]=\"cookieParameters()\"\n         [contextHelp]=\"contextHelp()\" [expanded]=\"showSectionBody\"\n         [collaborationNodePath]=\"cookieParameterPaths()\"\n         [validationModels]=\"cookieParameters()\">\n    <span actions>\n        <icon-button (onClick)=\"openAddCookieParamEditor()\" [pullRight]=\"true\" type=\"add\"\n                     [title]=\"'Add a new cookie parameter.'\"></icon-button>\n        <icon-button (onClick)=\"deleteAllCookieParams()\" [disabled]=\"!hasCookieParameters()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     [title]=\"'Delete all cookie parameters.'\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"!hasCookieParameters()\">\n            <span>No cookie parameters have been defined.</span>\n            <a (click)=\"openAddCookieParamEditor()\">Add a cookie parameter</a>\n        </signpost>\n\n        <!-- The list of cookie parameters -->\n        <div class=\"container-fluid cookie-parameters typed-item-list\" *ngIf=\"hasCookieParameters()\">\n            <cookie-param-row *ngFor=\"let param of cookieParameters()\" [item]=\"param\"\n                             (onRename)=\"openRenameDialog(param)\"\n                             (onDelete)=\"deleteParam(param)\"></cookie-param-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renameDialog\n                      type=\"Cookie Parameter\"\n                      title=\"Rename Cookie Parameter\"\n                      warning=\"Renaming a Cookie Parameter may also update any cookie parameters with the same name depending on path and operation hierarchies.\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_\\$]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., -, _ and $ are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":79,"character":43},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"isPathItem":[{"__symbolic":"method"}],"contextHelp":[{"__symbolic":"method"}],"hasParameters":[{"__symbolic":"method"}],"hasCookieParameters":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"cookieParameters":[{"__symbolic":"method"}],"cookieParameterPaths":[{"__symbolic":"method"}],"openAddCookieParamEditor":[{"__symbolic":"method"}],"deleteAllCookieParams":[{"__symbolic":"method"}],"deleteParam":[{"__symbolic":"method"}],"addCookieParam":[{"__symbolic":"method"}],"openRenameDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}]}},"ɵfj":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"selector":"cookie-param-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":46,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":47,"character":21},"member":"OnPush"},"template":"<div class=\"cookie-param\" [class.expanded]=\"isEditing()\" [class.required]=\"isRequired()\" [class.overridable]=\"isOverridable()\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"apicurio-icon-override icon-override\" *ngIf=\"isParentOperation() && isOverride()\"\n                  title=\"Overrides a parameter defined at the Path level.\"></span>\n            <span class=\"apicurio-icon-inherit-d icon-override\" *ngIf=\"isParentOperation() && isOverridable()\"\n                  title=\"Cookie parameter inherited from the Path level.\"></span>\n            <span class=\"apicurio-icon-local-d icon-override\" *ngIf=\"isParentOperation() && isLocalOnly()\"\n                  title=\"Cookie parameter defined for this operation only.\"></span>\n            <span title=\"{{ item.name }}\">{{ item.name }}</span>\n        </div>\n        <div class=\"description\" (click)=\"toggleDescription()\" [class.selected]=\"isEditingDescription()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingDescription()\"></span>\n            <markdown-summary [data]=\"description()\" emptyText=\"No description.\"></markdown-summary>\n        </div>\n        <div class=\"summary\" (click)=\"toggleSummary()\" [class.selected]=\"isEditingSummary()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditingSummary()\"></span>\n            <span class=\"parameter-required\" *ngIf=\"isRequired()\" title=\"This cookie parameter is required.\">[required]</span>\n            <schema-type [type]=\"displayType()\"></schema-type>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\" *ngIf=\"!isOverridable()\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"rename()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n            <button *ngIf=\"isOverridable()\" (click)=\"override()\" title=\"Override the cookie parameter.\"\n                    class=\"btn btn-default btn-xs btn-override\">Override</button>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"param-description\" *ngIf=\"isEditingDescription()\">\n                        <div class=\"form-label\">Description</div>\n                        <inline-markdown-editor [value]=\"item.description\" [noValueMessage]=\"'No description.'\"\n                                                [baseNode]=\"item\" nodePath=\"description\"\n                                                (onChange)=\"setDescription($event)\"></inline-markdown-editor>\n                    </div>\n                    <div class=\"param-content\" *ngIf=\"isEditingSummary()\">\n                        <div class=\"param-required\">\n                            <span class=\"dropdown-label\">Parameter is</span>\n                            <drop-down [id]=\"'api-param-required'\"\n                                       [value]=\"required()\"\n                                       [options]=\"requiredOptions()\"\n                                       (onValueChange)=\"changeRequired($event)\"\n                                       [noSelectionLabel]=\"'Not Required'\"></drop-down>\n                        </div>\n                        <div class=\"param-type\">\n                            <schema-type-editor [document]=\"document()\" [value]=\"model()\" [isParameter]=\"isParameter()\"\n                                                (onChange)=\"changeType($event)\"></schema-type-editor>\n                        </div>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".cookie-param{border:1px solid transparent;position:relative}.cookie-param.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.cookie-param .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.cookie-param .header:hover{background-color:#edf8ff}.cookie-param.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.cookie-param .header .name{flex-basis:18%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.cookie-param .header .name>span{font-weight:600;color:#39a5dc}.cookie-param .header .name .icon-override{font-size:16px;font-weight:400;cursor:help;margin-right:3px}.cookie-param .header .description{flex-basis:39%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.cookie-param .header .description:hover{color:#0088ce;cursor:pointer}.cookie-param .header .summary{flex-basis:41%}.cookie-param .header .summary:hover{color:#0088ce;cursor:pointer}.cookie-param .header .summary .parameter-required{font-weight:600}.cookie-param .header .summary .parameter-required:hover{filter:brightness(120%)}.cookie-param .header .actions{flex-basis:2%;text-align:center}.cookie-param .header .actions .btn-override{position:absolute;right:5px;top:6px}.cookie-param .header .actions>div .fa-ellipsis-v{visibility:hidden}.cookie-param:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.cookie-param .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.cookie-param .body{position:relative;padding:15px}.cookie-param .body .close{position:absolute;right:10px;top:5px}.cookie-param .body .param-description form{width:100%}.cookie-param .body .param-description .form-label,.cookie-param .body span.strong{font-weight:600}.cookie-param .body .param-required{margin-bottom:20px}.cookie-param .body .param-type{margin-bottom:10px}.cookie-param .body .param-required .dropdown{display:inline-block;margin-left:3px;margin-right:3px}.cookie-param.overridable>.header>div>.fa-angle-right{display:none}.cookie-param.overridable .header .description:hover,.cookie-param.overridable .header .summary:hover{color:inherit;cursor:default}.cookie-param .description>.fa,.cookie-param .summary>.fa{margin-right:2px}.cookie-param .summary .parameter-required{margin-right:3px}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":68,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"isParentOperation":[{"__symbolic":"method"}],"isParentPath":[{"__symbolic":"method"}],"isParameter":[{"__symbolic":"method"}],"hasDescription":[{"__symbolic":"method"}],"description":[{"__symbolic":"method"}],"isRequired":[{"__symbolic":"method"}],"required":[{"__symbolic":"method"}],"requiredOptions":[{"__symbolic":"method"}],"isEditingDescription":[{"__symbolic":"method"}],"isEditingSummary":[{"__symbolic":"method"}],"toggleDescription":[{"__symbolic":"method"}],"toggleSummary":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"displayType":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"setDescription":[{"__symbolic":"method"}],"changeRequired":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"override":[{"__symbolic":"method"}],"isMissing":[{"__symbolic":"method"}],"isExists":[{"__symbolic":"method"}],"isOverride":[{"__symbolic":"method"}],"isOverridable":[{"__symbolic":"method"}],"isLocalOnly":[{"__symbolic":"method"}],"getOverriddenParam":[{"__symbolic":"method"}],"detectParentType":[{"__symbolic":"method"}]}},"ɵfk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"selector":"response-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"response\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Response\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new response.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"rsp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"rsp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique response name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"respExists = responses.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"respExists\">Response named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[""]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getResponses":[{"__symbolic":"method"}]}},"ɵfl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":43,"character":1},"arguments":[{"selector":"messagetrait-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"messageTrait\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Message Trait\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new message trait.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"rsp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"rsp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique message trait name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"traitExists = messageTraits.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"traitExists\">Message Trait named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[""]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getMessageTraits":[{"__symbolic":"method"}]}},"ɵfm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":43,"character":1},"arguments":[{"selector":"message-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"message\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Message\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new message.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"rsp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"rsp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique message name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"messageExists = messages.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"messageExists\">Message named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[""]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getMessages":[{"__symbolic":"method"}]}},"ɵfn":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"oneOfMessage-editor","template":"<entity-editor (onClose)=\"close()\" (onSave)=\"save()\" [context]=\"context\" entityType=\"message\" *ngIf=\"isOpen()\"\n               [showRequiredFieldsMessage]=\"true\" heading=\"Define a New Message\" [valid]=\"isValid() && nameInput.valid\">\n\n    <div class=\"row-fluid body-section\">\n        <div class=\"col-md-12\">\n            <h3>1. Enter Basic Information</h3>\n            <p class=\"explanation\">\n                <span>\n                    Enter a name and description for the new message.\n                </span>\n            </p>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"control-label required\" for=\"rsp_name\">Name</label>\n                <div>\n                    <input name=\"name\" type=\"text\" id=\"rsp_name\" class=\"form-control\" required #nameInput=\"ngModel\"\n                           [(ngModel)]=\"model.name\" placeholder=\"Enter a unique message name.\" pattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                           (ngModelChange)=\"messageExists = messages.indexOf($event) != -1\" autocomplete=\"off\">\n                    <form-error-message [inputModel]=\"nameInput\" type=\"required\">Name is required.</form-error-message>\n                    <form-error-message [inputModel]=\"nameInput\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                    <div class=\"form-error-message error\" *ngIf=\"messageExists\">Message named <strong>{{ model.name }}</strong> already exists.</div>\n                </div>\n            </div>\n            <div class=\"form-group\">\n                <label class=\"control-label\" for=\"description\">Description</label>\n                <div>\n                    <markdown-editor [(value)]=\"model.description\" id=\"description\"\n                                     [editorStyle]=\"{ position: 'relative', height: '100px', border: '1px solid #ccc', width: '100%' }\"></markdown-editor>\n                </div>\n            </div>\n        </div>\n    </div>\n\n</entity-editor>\n","styles":[""]}]}],"members":{"doAfterOpen":[{"__symbolic":"method"}],"initializeModelFromEntity":[{"__symbolic":"method"}],"initializeModel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"entityEvent":[{"__symbolic":"method"}],"getMessages":[{"__symbolic":"method"}]}},"ɵfo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbs"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":59,"character":1},"arguments":[{"selector":"response-form","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":62,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":63,"character":21},"member":"OnPush"},"template":"<div class=\"detail-title\">\n    <div class=\"detail-label\">\n        <span class=\"fa fa-fw fa-reply-all\"></span>\n        <span>{{ responseName() }}</span>\n        <span class=\"imported label label-info\" *ngIf=\"isImported()\">Imported</span>\n    </div>\n    <div class=\"detail-actions\">\n        <div class=\"dropdown\">\n            <button class=\"btn btn-link dropdown-toggle\" type=\"button\" id=\"dropdownKebab\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                <span class=\"fa fa-ellipsis-v\"></span>\n            </button>\n            <ul class=\"dropdown-menu \" aria-labelledby=\"dropdownKebab\">\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"collapseAllSections()\">\n                        <span class=\"fa fa-compress\"></span>\n                        <span>Collapse All Sections</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"expandAllSections()\">\n                        <span class=\"fa fa-expand\"></span>\n                        <span>Expand All Sections</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"rename()\">\n                        <span class=\"fa fa-pencil-square-o\"></span>\n                        <span>Rename Response</span>\n                    </a>\n                </li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"clone()\">\n                        <span class=\"fa fa-clone\"></span>\n                        <span>Clone Response</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href=\"#\" onclick=\"return false\" (click)=\"delete()\">\n                        <span class=\"pficon pficon-delete\"></span>\n                        <span>Delete Response</span>\n                    </a>\n                </li>\n            </ul>\n        </div>\n    </div>\n</div>\n<div class=\"detail-tabs\">\n    <ul class=\"nav nav-tabs nav-tabs-pf\">\n        <li [class.active]=\"isDesignMode()\" [class.disabled]=\"canSaveSource()\"><a (click)=\"enableDesignMode()\">Design</a></li>\n        <li [class.active]=\"isSourceMode()\"><a (click)=\"enableSourceMode()\">Source</a></li>\n    </ul>\n</div>\n\n<!-- Source Mode -->\n<div class=\"detail-actionbar\" *ngIf=\"isSourceMode()\">\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canFormatSource()\" (click)=\"formatSource()\"><span class=\"fa fa-fw fa-indent\"></span> <span>Format</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canRevertSource()\" (click)=\"revertSource()\"><span class=\"fa fa-fw fa-undo\"></span> <span>Revert</span></button>\n    <button class=\"btn btn-primary btn-xs\" [disabled]=\"!canSaveSource()\" (click)=\"saveSource()\"><span class=\"pficon pficon-save\"></span> <span>Save</span></button>\n    <button class=\"btn btn-default btn-xs\" [disabled]=\"!canToggleSourceFormat()\" (click)=\"toggleSourceFormat()\">\n        <span class=\"fa fa-fw fa-code\"></span>\n        <span *ngIf=\"isSourceFormatYaml()\">As JSON</span>\n        <span *ngIf=\"isSourceFormatJson()\">As YAML</span>\n    </button>\n</div>\n<div class=\"detail-content\" style=\"position: relative\" *ngIf=\"isSourceMode()\">\n    <code-editor #sourceEditor\n                 [(text)]=\"source\"\n                 [theme]=\"sourceEditorTheme()\"\n                 [mode]=\"sourceEditorMode()\"\n                 [debounceTime]=\"250\"\n                 [editorStyle]=\"{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, 'margin-top': '1px' }\"></code-editor>\n</div>\n\n<!-- Design Mode -->\n<div class=\"detail-content\" *ngIf=\"isDesignMode()\">\n    <div class=\"api-response-detail\" *ngIf=\"!isImported()\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\">\n                <response-tab [response]=\"response\" *ngIf=\"is20Document()\"></response-tab>\n                <response-tab-30 [response]=\"response\" *ngIf=\"is30Document()\"></response-tab-30>\n            </div>\n        </div>\n    </div>\n    <div class=\"api-response-detail\" *ngIf=\"isImported()\">\n        <div class=\"tab-content\">\n            <div role=\"tabpanel\" class=\"tab-pane active\">\n                <!-- Reference -->\n                <section type=\"respReference\" label=\"REFERENCE\"\n                         contextHelp=\"This section describes the externally referenced Response.\"\n                         [validationModels]=\"[ response ]\"\n                         [validationProperties]=\"['$ref']\"\n                         [validationShallow]=\"true\">\n                    <div body>\n                        <span>This Response is an external reference to: </span>\n                        <em><a [href]=\"refLink()\" target=\"_blank\"><span class=\"fa fa-fw fa-external-link\"></span>{{ response.$ref }}</a></em>\n                    </div>\n                </section>\n                <!-- Reference Details -->\n                <section type=\"respReferenceDetails\" label=\"REFERENCE DETAILS\"\n                         contextHelp=\"This section shows details about the externally referenced Response.\">\n                    <div body>\n                        <pre>{{ referenceContent() }}</pre>\n                    </div>\n                </section>\n            </div>\n        </div>\n    </div>\n</div>\n\n<clone-response-definition-dialog #cloneResponseDialog (onClone)=\"clone($event)\"></clone-response-definition-dialog>\n<rename-entity-dialog #renameResponseDialog\n                      type=\"Response\"\n                      title=\"Rename Response\"\n                      warning=\"Renaming a Response will also update any references to the response elsewhere in the API (e.g. operations).\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters, ., - and _ are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"response":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":5}}]}],"cloneResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":79,"character":5},"arguments":["cloneResponseDialog",{"static":true}]}]}],"renameResponseDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":80,"character":5},"arguments":["renameResponseDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":91,"character":52},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵj"}]}],"responseName":[{"__symbolic":"method"}],"is20Document":[{"__symbolic":"method"}],"is30Document":[{"__symbolic":"method"}],"createEmptyNodeForSource":[{"__symbolic":"method"}],"createReplaceNodeCommand":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"enableSourceMode":[{"__symbolic":"method"}],"_responseName":[{"__symbolic":"method"}],"isImported":[{"__symbolic":"method"}],"referenceContent":[{"__symbolic":"method"}],"refLink":[{"__symbolic":"method"}],"getRefId":[{"__symbolic":"method"}]}},"ɵfp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"clone-response-definition-dialog","template":"<!-- Clone Response Definition Dialog -->\n<div>\n    <div bsModal #cloneResponseDefinitionModal=\"bs-modal\" class=\"modal fade\" id=\"cloneResponseDefinitionModal\" tabindex=\"-1\" role=\"dialog\"\n         aria-labelledby=\"cloneResponseDefinitionModalLabel\" role=\"dialog\" aria-hidden=\"true\" *ngIf=\"isOpen()\" [config]=\"{ backdrop: true }\"\n         (onShown)=\"cloneResponseDefinitionInput.focus()\" (onHidden)=\"close()\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                        <span class=\"pficon pficon-close\"></span>\n                    </button>\n                    <h4 class=\"modal-title\" id=\"cloneResponseDefinitionModalLabel\">Clone Response Definition</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <p>Enter a new response definition name below and then click Clone.</p>\n                    <form id=\"clonedef-form\" class=\"form-horizontal\" #cloneResponseDefinitionForm=\"ngForm\" data-dismiss=\"modal\">\n                        <div class=\"form-group\">\n                            <label class=\"col-sm-2 control-label required\" for=\"definitionName\">Name</label>\n                            <div class=\"col-sm-10\">\n                                <input name=\"definitionName\" type=\"text\" id=\"definitionName\" class=\"form-control\" #cloneResponseDefinitionInput\n                                       placeholder=\"Enter a Response Definition Name\" pattern=\"[a-zA-Z0-9\\.\\-_]+\" #defName=\"ngModel\"\n                                       required [(ngModel)]=\"name\" (ngModelChange)=\"defExists = defs.indexOf($event) != -1\">\n                                <div class=\"form-error-message error\" *ngIf=\"defExists\">Response definition already exists.</div>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'required'\">Name is required.</form-error-message>\n                                <form-error-message [inputModel]=\"defName\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid name (only alpha-numeric characters are allowed - no whitespace).</form-error-message>\n                            </div>\n                        </div>\n                    </form>\n                </div>\n                <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n                <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-primary\" (click)=\"clone()\"\n                            [disabled]=\"!cloneResponseDefinitionForm.form.valid || defExists\">Clone</button>\n                    <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onClone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":5}}]}],"cloneResponseDefinitionModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":37,"character":5},"arguments":["cloneResponseDefinitionModal"]}]}],"open":[{"__symbolic":"method"}],"getDefinitions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}]}},"ɵfq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"properties-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":50,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":51,"character":21},"member":"OnPush"},"template":"<section type=\"properties\" label=\"PROPERTIES\"\n         contextHelp=\"Use this section to define the properties that make up this data type.\"\n         [counterItems]=\"properties()\"\n         [collaborationNodePath]=\"propertiesNodePath()\"\n         [validationModels]=\"properties()\">\n                    <span actions>\n                        <icon-button (onClick)=\"togglePropertiesConfig()\" [pullRight]=\"true\" type=\"config\"\n                                     [title]=\"'Configure advanced properties options (e.g. min/maxProperties).'\"></icon-button>\n                        <icon-button (onClick)=\"openAddSchemaPropertyEditor()\" [pullRight]=\"true\" type=\"add\"\n                                     [title]=\"'Add a property to the schema.'\"></icon-button>\n                        <icon-button (onClick)=\"deleteAllSchemaProperties()\" [disabled]=\"!hasProperties()\" [pullRight]=\"true\" type=\"delete\"\n                                     [title]=\"'Delete all properties from the schema.'\"></icon-button>\n                    </span>\n    <div body>\n        <!-- Warning when no properties exist -->\n        <signpost *ngIf=\"!hasProperties()\">\n            <span>No schema properties have been defined.</span>\n            <a (click)=\"openAddSchemaPropertyEditor()\">Add a property</a>\n        </signpost>\n\n        <!-- Configuration of min/max/additional properties -->\n        <div *ngIf=\"_pconfigOpen\" class=\"properties-config\">\n            <div class=\"property-min-properties\">\n                <div class=\"property-label\">\n                    <label for=\"min-properties\">Minimum Properties</label>\n                </div>\n                <div class=\"property-value\">\n                    <pf-inline-text-editor [value]=\"minProperties()\" noValueMessage=\"No minItems.\"\n                                           [baseNode]=\"definition\" nodePath=\"minProperties\" id=\"min-properties\"\n                                           (onChange)=\"setMinProps($event)\"></pf-inline-text-editor>\n                </div>\n            </div>\n\n            <div class=\"property-max-properties\">\n                <div class=\"property-label\">\n                    <label for=\"max-properties\">Maximum Properties</label>\n                </div>\n                <div class=\"property-value\">\n                    <pf-inline-text-editor [value]=\"maxProperties()\" noValueMessage=\"No maxItems.\"\n                                           [baseNode]=\"definition\" nodePath=\"maxProperties\" id=\"max-properties\"\n                                           (onChange)=\"setMaxProps($event)\"></pf-inline-text-editor>\n                </div>\n            </div>\n\n            <div class=\"property-unique-items\">\n                <checkbox-input [defaultValue]=\"!additionalProperties()\" name=\"additional-properties\" label=\"Allow only defined properties\"\n                                id=\"unique-items\" [baseNode]=\"definition\" nodePath=\"additionalProperties\"\n                                (onChange)=\"setAdditionalProperties(!$event)\"></checkbox-input>\n            </div>\n        </div>\n\n        <!-- The list of schema properties -->\n        <div class=\"container-fluid path-parameters typed-item-list\">\n            <property-row *ngFor=\"let property of properties()\" [item]=\"property\"\n                          (onDelete)=\"deleteProperty(property)\"\n                          (onRename)=\"openRenamePropertyDialog(property)\"></property-row>\n        </div>\n    </div>\n</section>\n<rename-entity-dialog #renamePropertyDialog\n                      type=\"Property\"\n                      title=\"Rename Property\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"renameProperty($event)\"></rename-entity-dialog>\n","styles":[".properties-config{border-bottom:1px dotted #ccc;border-left:1px dotted #ccc;margin-top:-6px;border-right:1px dotted #ccc;box-shadow:0 2px 3px rgba(3,3,3,.2);padding:5px 25px}"]}]}],"members":{"definition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"renamePropertyDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":57,"character":5},"arguments":["renamePropertyDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":69,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵg"}]}],"openAddSchemaPropertyEditor":[{"__symbolic":"method"}],"togglePropertiesConfig":[{"__symbolic":"method"}],"hasProperties":[{"__symbolic":"method"}],"properties":[{"__symbolic":"method"}],"getPropertySourceSchema":[{"__symbolic":"method"}],"propertiesNodePath":[{"__symbolic":"method"}],"deleteProperty":[{"__symbolic":"method"}],"addSchemaProperty":[{"__symbolic":"method"}],"deleteAllSchemaProperties":[{"__symbolic":"method"}],"minProperties":[{"__symbolic":"method"}],"maxProperties":[{"__symbolic":"method"}],"setMinProps":[{"__symbolic":"method"}],"setMaxProps":[{"__symbolic":"method"}],"setMinProperties":[{"__symbolic":"method"}],"setMaxProperties":[{"__symbolic":"method"}],"additionalProperties":[{"__symbolic":"method"}],"setAdditionalProperties":[{"__symbolic":"method"}],"inheritanceType":[{"__symbolic":"method"}],"openRenamePropertyDialog":[{"__symbolic":"method"}],"renameProperty":[{"__symbolic":"method"}]}},"ɵfr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"schemas-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":31,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"},"template":"<section type=\"schemas\" label=\"INHERITED SCHEMAS\"\n         contextHelp=\"\"\n         [counterItems]=\"schemas()\"\n         [collaborationNodePath]=\"schemasNodePath()\"\n         [validationModels]=\"schemas()\">\n                    <span actions>\n                        <icon-button (onClick)=\"addSchemaDialog.open(definition.ownerDocument())\" [pullRight]=\"true\" type=\"add\"\n                                     [title]=\"'Add a schema (for inheritance).'\"></icon-button>\n                        <icon-button (onClick)=\"deleteAllSchemas()\" [disabled]=\"!hasSchemas()\" [pullRight]=\"true\" type=\"delete\"\n                                     [title]=\"'Delete all schemas.'\"></icon-button>\n                    </span>\n    <div body>\n        <!-- Warning when no schemas exist -->\n        <signpost *ngIf=\"!hasSchemas()\">\n            <span>No schemas have been selected.</span>\n            <a (click)=\"addSchemaDialog.open(definition.ownerDocument())\">Add a schema</a>\n        </signpost>\n\n        <!-- The list of schema schemas -->\n        <div class=\"container-fluid schemas typed-item-list\">\n            <schema-row *ngFor=\"let schema of schemas()\" [item]=\"schema\"\n                          (onDelete)=\"deleteSchema(schema)\"></schema-row>\n        </div>\n    </div>\n</section>\n<add-schema-dialog #addSchemaDialog (onAdd)=\"addSchema($event)\"></add-schema-dialog>\n"}]}],"members":{"definition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":46,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵg"}]}],"hasSchemas":[{"__symbolic":"method"}],"schemas":[{"__symbolic":"method"}],"schemasNodePath":[{"__symbolic":"method"}],"deleteSchema":[{"__symbolic":"method"}],"addSchema":[{"__symbolic":"method"}],"deleteAllSchemas":[{"__symbolic":"method"}],"inheritanceType":[{"__symbolic":"method"}]}},"ɵfs":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"schema-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":36,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":37,"character":21},"member":"OnPush"},"template":"<div class=\"schema\">\n    <div class=\"header\">\n        <div class=\"name\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <a (click)=\"navigateToSchema()\">\n                <span title=\"{{ displayName() }}\">{{ displayName() }}</span>\n            </a>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <!-- TODO: content when expanding the row??  details about the properties? -->\n        </div>\n    </div>\n</div>\n","styles":[".schema{border:1px solid transparent;position:relative}.schema.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.schema .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5}.schema .header:hover{background-color:#edf8ff}.schema.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.schema .header .name{flex-basis:98%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}.schema .header .name>span{font-weight:600}.schema .header .actions{flex-basis:2%;text-align:center}.schema .header>.selected{margin-bottom:-4px;border-bottom:2px solid #0088ce;color:#0088ce}.schema .body{position:relative;padding:15px}.schema .body .close{position:absolute;right:10px;top:5px}.schema .body span.strong{font-weight:600}"]}]}],"members":{"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":50,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"displayName":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"refToName":[{"__symbolic":"method"}],"name":[{"__symbolic":"method"}],"navigateToSchema":[{"__symbolic":"method"}],"refPrefix":[{"__symbolic":"method"}],"pathPrefix":[{"__symbolic":"method"}]}},"ɵft":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"add-schema-dialog","template":"<!-- Add Schema Dialog -->\n<div bsModal #addSchemaModal=\"bs-modal\" class=\"modal fade\" id=\"addSchemaModal\" tabindex=\"-1\" role=\"dialog\" [config]=\"{ backdrop: true }\"\n     aria-labelledby=\"addSchemaModalLabel\" role=\"dialog\" aria-hidden=\"true\" (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addSchemaModalLabel\">Add Schema</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Choose a schema to add from the dropdown below and then click Add.</p>\n                <form id=\"addSchema-form\" class=\"form-horizontal\" (submit)=\"add()\" #addSchemaForm=\"ngForm\">\n                    <div class=\"form-group\" *ngIf=\"hasReferences()\">\n                        <label class=\"col-sm-5 control-label required\" for=\"refDropDown\">Schema</label>\n                        <div class=\"col-sm-7\">\n                            <drop-down id=\"refDropDown\" [id]=\"'refDropDown'\"\n                                       [options]=\"getReferenceDropDownOptions()\"\n                                       [value]=\"getReference()\"\n                                       (onValueChange)=\"setReference($event)\"\n                                       [noSelectionLabel]=\"'Schema Reference.'\"></drop-down>\n                        </div>\n                    </div>\n\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!isValid()\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"addSchemaModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":36,"character":5},"arguments":["addSchemaModal"]}]}],"open":[{"__symbolic":"method"}],"getSchemaDefinitionNames":[{"__symbolic":"method"}],"hasReferences":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"getReferenceDropDownOptions":[{"__symbolic":"method"}],"getReference":[{"__symbolic":"method"}],"setReference":[{"__symbolic":"method"}]}},"ɵfu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"clone-channel-dialog","template":"<!-- Clone Channel Dialog -->\n<div bsModal #cloneChannelModal=\"bs-modal\" class=\"modal fade\" id=\"cloneChannelModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"cloneChannelModalLabel\"\n     role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"cloneChannelModalLabel\">Clone Channel</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter a new channel name below and then click Clone.</p>\n                <form id=\"clonechannel-form\" class=\"form-horizontal\" (submit)=\"clone()\" #clonePathForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"channelName\">Path</label>\n                        <div class=\"col-sm-10\">\n                            <input #pname=\"ngModel\" name=\"channel\" type=\"text\" id=\"channelName\" class=\"form-control\" placeholder=\"Enter a Channel name\"\n                                   pattern=\"{{ channelRegex }}\" required [(ngModel)]=\"channelName\"\n                                   (ngModelChange)=\"validateChannelName($event)\">\n                            <div class=\"form-error-message error\" *ngIf=\"channelExists\">Channel already exists.</div>\n                            <form-error-message [inputModel]=\"pname\" [type]=\"'pattern'\" [alwaysOn]=\"true\">Enter a valid channel name.</form-error-message>\n                            <form-error-message [inputModel]=\"pname\" [type]=\"'required'\">Channel name is required.</form-error-message>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"clone()\" [disabled]=\"!clonePathForm.form.valid || channelExists\">Clone</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{"onClone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"cloneChannelModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":31,"character":5},"arguments":["cloneChannelModal"]}]}],"cloneChannelInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["cloneChannelInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵck"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}],"validateChannelName":[{"__symbolic":"method"}]}},"ɵfv":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"extensions-section","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":39,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":21},"member":"OnPush"},"template":"<section type=\"extensions\" label=\"VENDOR EXTENSIONS\" [counterItems]=\"extensions()\"\n         contextHelp=\"Configure vendor extensions for the selected component in this section.\"\n         collaborationNodePath=\"extensionsNodePath()\" [expanded]=\"showSectionBody\"\n         [validationModels]=\"extensions()\">\n    <span actions>\n        <icon-button (onClick)=\"openAddExtensionDialog()\" [pullRight]=\"true\" type=\"add\"\n                     title=\"Add a new vendor extension.\"></icon-button>\n        <icon-button (onClick)=\"deleteAllExtensions()\" [disabled]=\"!hasExtensions()\"\n                     [pullRight]=\"true\" type=\"delete\"\n                     title=\"Delete all vendor extensions.\"></icon-button>\n    </span>\n    <div body>\n        <signpost *ngIf=\"extensions().length === 0\">\n            <span>No vendor extensions have been configured.</span>\n            <a (click)=\"openAddExtensionDialog()\">Add a vendor extension</a>\n        </signpost>\n\n        <!-- The list of extensions -->\n        <div class=\"extensions\" *ngIf=\"extensions().length > 0\">\n            <extension-row *ngFor=\"let extension of extensions()\"\n                           [parent]=\"parent\"\n                           [item]=\"extension\"\n                           (onDelete)=\"deleteExtension(extension)\"\n                           (onRename)=\"openRenameExtensionDialog(extension)\"></extension-row>\n        </div>\n    </div>\n</section>\n<add-extension-dialog #addExtensionDialog (onAdd)=\"addExtension($event)\"></add-extension-dialog>\n<rename-entity-dialog #renameDialog\n                      type=\"Extension\"\n                      title=\"Rename Vendor Extension\"\n                      warning=\"Renaming a vendor extension may have unknown consequences.\"\n                      validationPattern=\"[a-zA-Z0-9\\.\\-_]+\"\n                      validationError=\"Enter a valid name (only alpha-numeric characters are allowed - no whitespace).\"\n                      (onRename)=\"rename($event)\"></rename-entity-dialog>\n"}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"addExtensionDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":5},"arguments":["addExtensionDialog",{"static":true}]}]}],"renameDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":5},"arguments":["renameDialog",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":43},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"onDocumentChange":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"extensions":[{"__symbolic":"method"}],"extensionsNodePath":[{"__symbolic":"method"}],"hasExtensions":[{"__symbolic":"method"}],"deleteAllExtensions":[{"__symbolic":"method"}],"openAddExtensionDialog":[{"__symbolic":"method"}],"addExtension":[{"__symbolic":"method"}],"openRenameExtensionDialog":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"deleteExtension":[{"__symbolic":"method"}]}},"ɵfw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbp"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"extension-row","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":37,"character":19},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":38,"character":21},"member":"OnPush"},"template":"<div class=\"extension\" [class.expanded]=\"isEditing()\">\n    <div class=\"header\">\n        <div class=\"expand\" (click)=\"toggle()\">\n            <span class=\"fa fa-angle-right\" [class.fa-angle-down]=\"isEditing()\"></span>\n        </div>\n        <div class=\"name\" (click)=\"toggle()\">\n            <validation-problem [model]=\"item\"></validation-problem>\n            <span class=\"fa fa-extension entity-icon\"></span>\n            <span>{{ name() }}</span>\n        </div>\n        <div class=\"value\" (click)=\"toggle()\">\n            <json-summary [data]=\"value()\" emptyText=\"No value.\"></json-summary>\n        </div>\n        <div class=\"actions\">\n            <div class=\"dropdown dropdown-kebab-pf\">\n                <button class=\"btn btn-link dropdown-toggle\" type=\"button\" (click)=\"$event.preventDefault()\"\n                        data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\">\n                    <span class=\"fa fa-ellipsis-v\"></span>\n                </button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                    <li><a (click)=\"renameExtension()\"><span class=\"fa fa-fw fa-pencil-square-o\"></span><span>Rename</span></a></li>\n                    <li role=\"separator\" class=\"divider\"></li>\n                    <li><a (click)=\"delete()\"><span class=\"fa fa-fw fa-trash\"></span><span>Delete</span></a></li>\n                </ul>\n            </div>\n        </div>\n    </div>\n    <div class=\"body\" *ngIf=\"isEditing()\">\n        <div class=\"content container-fluid\">\n            <form  class=\"form-horizontal\">\n                <div class=\"col-md-11\">\n                    <div class=\"extension-value\">\n                        <div class=\"form-label\">Value (must be valid JSON)</div>\n                        <inline-json-editor [value]=\"valueAsString()\"\n                                            [labelClass]=\"'api-vendor-extension'\"\n                                            [formClass]=\"'api-vendor-extension-editor-form'\"\n                                            [inputClass]=\"'api-item-editor api-example-editor api-definition-example api-item-example'\"\n                                            [baseNode]=\"item\"\n                                            [noValueMessage]=\"'No value.'\"\n                                            (onChange)=\"setValue($event)\"></inline-json-editor>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","styles":[".extension{border:1px solid transparent}.extension.expanded{border:1px solid #bbb;box-shadow:0 2px 6px rgba(3,3,3,.2);margin-bottom:3px}.extension .header{display:flex;flex-direction:row;flex-wrap:nowrap;padding:8px 8px 3px;border-bottom:1px solid #f5f5f5;cursor:pointer}.extension .header:hover{background-color:#edf8ff}.extension.expanded .header{border-bottom:1px solid #bbb;background-color:#def3ff}.extension .header .expand{flex-basis:2%}.extension .header .name{flex-basis:20%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:15px}.extension .header .validation-problem-icon{margin-right:5px}.extension .header .name .entity-icon{margin-right:5px;color:#667}.extension .header .value{flex-basis:76%;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:25px}.extension .header .actions{flex-basis:2%;text-align:center}.extension .header .actions>div .fa-ellipsis-v{visibility:hidden}.extension:hover .header .actions>div .fa-ellipsis-v{visibility:visible}.extension .body{position:relative;padding:15px}.extension .body .close{position:absolute;right:10px;top:5px}.extension .body .extension-value form{width:100%}.extension .body .extension-value .form-label{font-weight:600}"]}]}],"members":{"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"onDelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"onRename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":54,"character":35},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"}]}],"updateModel":[{"__symbolic":"method"}],"name":[{"__symbolic":"method"}],"value":[{"__symbolic":"method"}],"valueAsString":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"renameExtension":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}]}},"ɵfx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"json-summary","template":"<span class=\"json-summary\" [innerHTML]=\"convertedData\" [class.empty]=\"isEmpty()\"></span>","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":22,"character":19},"member":"None"}}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5},"arguments":["data"]}]}],"emptyText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5},"arguments":["emptyText"]}]}],"ngOnChanges":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵfy":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵx"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"inline-json-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":26,"character":19},"member":"None"},"template":"<div class=\"inline-json-editor-label\" *ngIf=\"!editing\" (click)=\"onStartEditing()\" title=\"Click to edit.\">\n    <pre *ngIf=\"!isEmpty()\">{{ displayValue() }}</pre>\n    <div class=\"no-value\" *ngIf=\"isEmpty()\">\n        <span class=\"empty\">{{ noValueMessage }}</span>\n        <i class=\"glyphicon glyphicon-pencil\"></i>\n    </div>\n</div>\n<div class=\"inline-editor inline-json-editor\" *ngIf=\"editing\" (keyup)=\"onInputKeypress($event)\">\n    <code-editor [mode]=\"codeEditorMode()\" #codeEditor\n                 [debounceTime]=\"150\"\n                 [(text)]=\"evalue\"\n                 wordWrap=\"true\"\n                 [editorStyle]=\"{ position: 'relative', height: '220px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n    <button title=\"Save changes.\" class=\"btn btn-xs btn-primary btn-save\" (click)=\"onSave()\"><span class=\"fa fa-fw fa-check\"></span></button>\n    <button title=\"Cancel changes.\" class=\"btn btn-xs btn-default btn-cancel\" (click)=\"onCancel()\"><span class=\"fa fa-fw fa-close\"></span></button>\n</div>\n","styles":[".inline-json-editor-label{display:inline-block;width:100%}.inline-json-editor-label:hover>pre{filter:brightness(95%);cursor:pointer}.inline-json-editor-label .glyphicon{font-size:11px;margin-left:5px}.inline-json-editor-label:hover .glyphicon{color:#669}.inline-json-editor-label .md-container p:last-child{margin-bottom:0}.inline-json-editor{position:relative}.inline-json-editor-label .no-value{border:1px solid transparent;padding:2px 5px;margin-left:-6px;display:inline-block;width:100%}.inline-json-editor-label .no-value:hover{border-color:#bbb;cursor:pointer}.inline-json-editor>.btn-save{margin-right:3px}"]}]}],"members":{"codeEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":30,"character":5},"arguments":["codeEditor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"displayValue":[{"__symbolic":"method"}],"formatValue":[{"__symbolic":"method"}],"codeEditorMode":[{"__symbolic":"method"}]}},"ɵfz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"add-extension-dialog","template":"<!-- Add Extension Dialog -->\n<div bsModal #addExtensionModal=\"bs-modal\" class=\"modal fade\" id=\"addExtensionModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"addExtensionModalLabel\"\n     role=\"dialog\" aria-hidden=\"true\" (onShown)=\"doSelect()\" [config]=\"{ backdrop: true }\"\n     (onHidden)=\"close()\" *ngIf=\"isOpen()\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <button type=\"button\" class=\"close\" aria-hidden=\"true\" (click)=\"cancel()\">\n                    <span class=\"pficon pficon-close\"></span>\n                </button>\n                <h4 class=\"modal-title\" id=\"addExtensionModalLabel\">Add Extension</h4>\n            </div>\n            <div class=\"modal-body\">\n                <p>Enter information about the new extension below and then click <strong>Add</strong>.</p>\n                <form id=\"addextension-form\" class=\"form-horizontal\" (submit)=\"add()\" #addExtensionForm=\"ngForm\" data-dismiss=\"modal\">\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label required\" for=\"extension\">Name</label>\n                        <div class=\"col-sm-10\">\n                            <input #addExtensionInput name=\"extension\" type=\"text\" id=\"extension\" class=\"form-control\" placeholder=\"Extension Name\"\n                                   required [(ngModel)]=\"name\" (ngModelChange)=\"validateName($event)\" #nameInput=\"ngModel\">\n                            <div class=\"form-error-message error\" *ngIf=\"extensionExists\">Extension already exists.</div>\n                            <div class=\"form-error-message error\" *ngIf=\"!nameValid\">Name must begin with \"x-\".</div>\n                            <form-error-message [inputModel]=\"nameInput\" [type]=\"'required'\">Name is required.</form-error-message>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\" for=\"extension-value\">Value</label>\n                        <div class=\"col-sm-10\">\n                            <code-editor [mode]=\"valueEditorMode()\" #codeEditor\n                                         id=\"extension-value\"\n                                         [debounceTime]=\"150\"\n                                         [(text)]=\"value\"\n                                         wordWrap=\"true\"\n                                         [editorStyle]=\"{ position: 'relative', height: '220px', border: '1px solid #ccc', width: '100%' }\"></code-editor>\n                            <div class=\"form-error-message error\" *ngIf=\"!valueValid\">Valid JSON required.</div>\n                        </div>\n                    </div>\n                </form>\n            </div>\n            <div class=\"notice-of-required modal-notice-of-required\">The fields marked with <span class=\"required-icon\">*</span> are required.</div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" (click)=\"add()\" [disabled]=\"!addExtensionForm.form.valid || extensionExists || !valueValid || !nameValid\">Add</button>\n                <button type=\"button\" class=\"btn btn-default\" (click)=\"cancel()\">Cancel</button>\n            </div>\n        </div>\n    </div>\n</div>\n","styles":["#addExtensionModal .modal-dialog .modal-body form textarea{min-height:60px}"]}]}],"members":{"onAdd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}],"addExtensionModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":32,"character":5},"arguments":["addExtensionModal"]}]}],"addExtensionInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":33,"character":5},"arguments":["addExtensionInput"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"doSelect":[{"__symbolic":"method"}],"validateName":[{"__symbolic":"method"}],"valueEditorMode":[{"__symbolic":"method"}],"validateValue":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./app/models/api.model","ApiDefinition":"./app/models/api.model","ApiEditorComponent":"./app/pages/apis/{apiId}/editor/editor.component","ApicurioCommonComponentsModule":"./app/common-components.module","ApicurioEditorModule":"./app/editor.module","AsyncApiEditorComponent":"./app/pages/apis/{apiId}/editor/aaieditor.component","CodeEditorComponent":"./app/components/common/code-editor.component","DivAutoHeight":"./app/directives/autosize.directive","DropDownComponent":"./app/components/common/drop-down.component","FormErrorMessageComponent":"./app/components/common/form-error-message.component","ɵb":"./app/pages/apis/{apiId}/editor/graphql-editor.component","GraphQLEditorComponent":"./app/pages/apis/{apiId}/editor/graphql-editor.component","MarkdownComponent":"./app/components/common/markdown.component","MarkdownEditorComponent":"./app/components/common/markdown-editor.component","MarkdownSummaryComponent":"./app/components/common/markdown-summary.component","TextAreaAutosize":"./app/directives/autosize.directive","TextBoxAutosize":"./app/directives/autosize.directive","ɵc":"./app/pages/apis/{apiId}/editor/editor.base","ɵd":"./app/pages/apis/{apiId}/editor/_services/selection.service","ɵe":"./app/pages/apis/{apiId}/editor/_services/document.service","ɵf":"./app/pages/apis/{apiId}/editor/_services/command.service","ɵg":"./app/pages/apis/{apiId}/editor/_services/editors.service","ɵh":"./app/pages/apis/{apiId}/editor/_services/features.service","ɵi":"./app/pages/apis/{apiId}/editor/_services/collaborator.service","ɵj":"./app/pages/apis/{apiId}/editor/_services/api-catalog.service","ɵk":"./app/components/common/ace-editor.component","ɵl":"./app/pages/apis/{apiId}/editor/_components/title-bar/validation-icon.component","ɵm":"./app/pages/apis/{apiId}/editor/_components/common/base-component","ɵn":"./app/pages/apis/{apiId}/editor/_components/common/server-url.component","ɵo":"./app/pages/apis/{apiId}/editor/_components/common/search.component","ɵp":"./app/pages/apis/{apiId}/editor/_components/common/schema-type.component","ɵq":"./app/pages/apis/{apiId}/editor/_components/forms/response-item.component","ɵr":"./app/pages/apis/{apiId}/editor/_components/common/path-item.component","ɵs":"./app/pages/apis/{apiId}/editor/_components/common/context-help.component","ɵt":"./app/pages/apis/{apiId}/editor/_components/common/inline-markdown-editor.component","ɵu":"./app/pages/apis/{apiId}/editor/_components/common/inline-editor.base","ɵv":"./app/pages/apis/{apiId}/editor/_components/common/inline-editor.base","ɵw":"./app/pages/apis/{apiId}/editor/_components/common/inline-editor.base","ɵx":"./app/pages/apis/{apiId}/editor/_components/common/inline-editor.base","ɵy":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/info-section.component","ɵz":"./app/pages/apis/{apiId}/editor/_components/forms/channel/operation/info-section.component","ɵba":"./app/pages/apis/{apiId}/editor/_components/forms/channel/operation/message-section.component","ɵbb":"./app/pages/apis/{apiId}/editor/_components/forms/channel/operation/payload-tab.component","ɵbc":"./app/pages/apis/{apiId}/editor/_components/forms/channel/operation/headers-tab.component","ɵbd":"./app/pages/apis/{apiId}/editor/_components/dialogs/set-license.component","ɵbe":"./app/pages/apis/{apiId}/editor/_services/license.service","ɵbf":"./app/pages/apis/{apiId}/editor/_components/dialogs/clone-path.component","ɵbg":"./app/pages/apis/{apiId}/editor/_components/dialogs/clone-definition.component","ɵbh":"./app/pages/apis/{apiId}/editor/_components/common/scopes-input.component","ɵbi":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-tag.component","ɵbj":"./app/pages/apis/{apiId}/editor/_components/title-bar/undo-icon.component","ɵbk":"./app/pages/apis/{apiId}/editor/_components/forms/shared/schema-type-editor.component","ɵbl":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/no-operation.component","ɵbm":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/content.component","ɵbn":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/http-headers.component","ɵbo":"./app/pages/apis/{apiId}/editor/_components/forms/definition/property-row.component","ɵbp":"./app/pages/apis/{apiId}/editor/_components/common/item-row.abstract","ɵbq":"./app/pages/apis/{apiId}/editor/_components/forms/definition/oneof-row.component","ɵbr":"./app/pages/apis/{apiId}/editor/_components/forms/path-form.component","ɵbs":"./app/pages/apis/{apiId}/editor/_components/forms/source-form.base","ɵbt":"./app/pages/apis/{apiId}/editor/_components/forms/channel-form.component","ɵbu":"./app/pages/apis/{apiId}/editor/_components/forms/messagetrait-form.component","ɵbv":"./app/pages/apis/{apiId}/editor/_components/forms/message-form.component","ɵbw":"./app/pages/apis/{apiId}/editor/_components/forms/messagetrait-item.component","ɵbx":"./app/pages/apis/{apiId}/editor/_components/forms/message-item.component","ɵby":"./app/pages/apis/{apiId}/editor/_components/forms/operationtrait-form.component","ɵbz":"./app/pages/apis/{apiId}/editor/_components/forms/operationtrait-item.component","ɵca":"./app/pages/apis/{apiId}/editor/_components/forms/shared/query-param-row.component","ɵcb":"./app/pages/apis/{apiId}/editor/_components/forms/shared/section.component","ɵcc":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/requestBody-section.component","ɵcd":"./app/pages/apis/{apiId}/editor/_components/forms/definition-item.component","ɵce":"./app/pages/apis/{apiId}/editor/_components/forms/definition-form.component","ɵcf":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/formData-param-row.component","ɵcg":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/response-tab-30.component","ɵch":"./app/pages/apis/{apiId}/editor/_components/master.component","ɵci":"./app/pages/apis/{apiId}/editor/_services/rest-resource.service","ɵcj":"./app/pages/apis/{apiId}/editor/_components/aaimaster.component","ɵck":"./app/services/config.service","ɵcl":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-path.component","ɵcm":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-channel.component","ɵcn":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-message-reference.component","ɵco":"./app/pages/apis/{apiId}/editor/_components/editors/parameter-editor.component","ɵcp":"./app/pages/apis/{apiId}/editor/_components/editors/entity-editor.component","ɵcq":"./app/pages/apis/{apiId}/editor/_components/editors/entity-editor.component","ɵcr":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-response.component","ɵcs":"./app/pages/apis/{apiId}/editor/_components/dialogs/clone-response.component","ɵct":"./app/pages/apis/{apiId}/editor/_components/title-bar/redo-icon.component","ɵcu":"./app/pages/apis/{apiId}/editor/_components/forms/path/info-section.component","ɵcv":"./app/pages/apis/{apiId}/editor/_components/editors/operationtrait-editor.component","ɵcw":"./app/pages/apis/{apiId}/editor/_components/forms/channel/info-section.component","ɵcx":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/response-tab.component","ɵcy":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-media-type.component","ɵcz":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-header.component","ɵda":"./app/pages/apis/{apiId}/editor/_components/forms/main-form.component","ɵdb":"./app/pages/apis/{apiId}/editor/_components/forms/aaimain-form.component","ɵdc":"./app/pages/apis/{apiId}/editor/_components/dialogs/rename-entity.component","ɵdd":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-example.component","ɵde":"./app/pages/apis/{apiId}/editor/_components/dialogs/edit-example.component","ɵdf":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-example-20.component","ɵdg":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-aai-example.component","ɵdh":"./app/pages/apis/{apiId}/editor/_components/dialogs/edit-aai-example.component","ɵdi":"./app/pages/apis/{apiId}/editor/_components/title-bar.component","ɵdj":"./app/pages/apis/{apiId}/editor/_components/dialogs/edit-example-20.component","ɵdk":"./app/pages/apis/{apiId}/editor/_components/common/icon-button.component","ɵdl":"./app/pages/apis/{apiId}/editor/_components/common/signpost.component","ɵdm":"./app/pages/apis/{apiId}/editor/_components/problem-drawer.component","ɵdn":"./app/pages/apis/{apiId}/editor/_services/problems.service","ɵdo":"./app/pages/apis/{apiId}/editor/_components/common/checkbox-input.component","ɵdp":"./app/pages/apis/{apiId}/editor/_components/editors/security-requirement-editor.component","ɵdq":"./app/pages/apis/{apiId}/editor/_components/forms/main/info-section.component","ɵdr":"./app/pages/apis/{apiId}/editor/_components/forms/main/aaiinfo-section.component","ɵds":"./app/pages/apis/{apiId}/editor/_components/common/validation-problem.component","ɵdt":"./app/pages/apis/{apiId}/editor/_components/common/validation-aggregate.component","ɵdu":"./app/pages/apis/{apiId}/editor/_components/forms/main/contact-section.component","ɵdv":"./app/pages/apis/{apiId}/editor/_components/forms/main/aaicontact-section.component","ɵdw":"./app/pages/apis/{apiId}/editor/_components/forms/main/license-section.component","ɵdx":"./app/pages/apis/{apiId}/editor/_components/forms/main/aailicense-section.component","ɵdy":"./app/pages/apis/{apiId}/editor/_components/forms/main/tags-section.component","ɵdz":"./app/pages/apis/{apiId}/editor/_components/forms/shared/aaiservers-section.component","ɵea":"./app/pages/apis/{apiId}/editor/_components/forms/shared/servers-section.component","ɵeb":"./app/pages/apis/{apiId}/editor/_components/forms/shared/aaisecurity-requirement-row.component","ɵec":"./app/pages/apis/{apiId}/editor/_components/forms/shared/security-requirements-section.component","ɵed":"./app/pages/apis/{apiId}/editor/_components/forms/main/security-schemes-section.component","ɵee":"./app/pages/apis/{apiId}/editor/_components/forms/main/aaisecurity-schemes-section.component","ɵef":"./app/pages/apis/{apiId}/editor/_components/forms/shared/path-params-section.component","ɵeg":"./app/pages/apis/{apiId}/editor/_components/forms/shared/query-params-section.component","ɵeh":"./app/pages/apis/{apiId}/editor/_components/forms/shared/path-param-row.component","ɵei":"./app/pages/apis/{apiId}/editor/_components/common/pf-inline-text-editor.component","ɵej":"./app/pages/apis/{apiId}/editor/_components/forms/main/tag-row.component","ɵek":"./app/pages/apis/{apiId}/editor/_components/editors/aaiserver-editor.component","ɵel":"./app/pages/apis/{apiId}/editor/_components/editors/server-editor.component","ɵem":"./app/pages/apis/{apiId}/editor/_components/forms/shared/aaiserver-row.component","ɵen":"./app/pages/apis/{apiId}/editor/_components/forms/shared/server-row.component","ɵeo":"./app/pages/apis/{apiId}/editor/_components/common/inline-array-editor.component","ɵep":"./app/pages/apis/{apiId}/editor/_components/forms/main/security-scheme-row.component","ɵeq":"./app/pages/apis/{apiId}/editor/_components/editors/security-scheme-editor.component","ɵer":"./app/pages/apis/{apiId}/editor/_components/editors/data-type-editor.component","ɵes":"./app/pages/apis/{apiId}/editor/_components/forms/definition/info-section.component","ɵet":"./app/pages/apis/{apiId}/editor/_components/dialogs/rename-path.component","ɵeu":"./app/pages/apis/{apiId}/editor/_components/common/counter.component","ɵev":"./app/pages/apis/{apiId}/editor/_components/forms/path/operation/responses-section.component","ɵew":"./app/pages/apis/{apiId}/editor/_components/common/inline-example-editor.component","ɵex":"./app/pages/apis/{apiId}/editor/_components/forms/definition/example-section.component","ɵey":"./app/pages/apis/{apiId}/editor/_components/editors/property-editor.component","ɵez":"./app/pages/apis/{apiId}/editor/_components/forms/shared/header-param-row.component","ɵfa":"./app/pages/apis/{apiId}/editor/_components/forms/shared/header-params-section.component","ɵfb":"./app/pages/apis/{apiId}/editor/_components/forms/path/operations-section.component","ɵfc":"./app/pages/apis/{apiId}/editor/_components/forms/channel/operations-section.component","ɵfd":"./app/pages/apis/{apiId}/editor/_components/forms/shared/media-type-row.component","ɵfe":"./app/pages/apis/{apiId}/editor/_components/forms/shared/header-row.component","ɵff":"./app/pages/apis/{apiId}/editor/_components/common/collaborator-aggregate.component","ɵfg":"./app/pages/apis/{apiId}/editor/_components/common/collaborator-overlay.component","ɵfh":"./app/pages/apis/{apiId}/editor/_components/common/collaborator-overlay.component","ɵfi":"./app/pages/apis/{apiId}/editor/_components/forms/shared/cookie-params-section.component","ɵfj":"./app/pages/apis/{apiId}/editor/_components/forms/shared/cookie-param-row.component","ɵfk":"./app/pages/apis/{apiId}/editor/_components/editors/response-editor.component","ɵfl":"./app/pages/apis/{apiId}/editor/_components/editors/messagetrait-editor.component","ɵfm":"./app/pages/apis/{apiId}/editor/_components/editors/message-editor.component","ɵfn":"./app/pages/apis/{apiId}/editor/_components/editors/oneof-in-message-editor.component","ɵfo":"./app/pages/apis/{apiId}/editor/_components/forms/response-form.component","ɵfp":"./app/pages/apis/{apiId}/editor/_components/dialogs/clone-response-definition.component","ɵfq":"./app/pages/apis/{apiId}/editor/_components/forms/definition/properties-section.component","ɵfr":"./app/pages/apis/{apiId}/editor/_components/forms/definition/schemas-section.component","ɵfs":"./app/pages/apis/{apiId}/editor/_components/forms/definition/schema-row.component","ɵft":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-schema.component","ɵfu":"./app/pages/apis/{apiId}/editor/_components/dialogs/clone-channel.component","ɵfv":"./app/pages/apis/{apiId}/editor/_components/forms/shared/extensions-section.component","ɵfw":"./app/pages/apis/{apiId}/editor/_components/forms/shared/extension-row.component","ɵfx":"./app/components/common/json-summary.component","ɵfy":"./app/pages/apis/{apiId}/editor/_components/common/inline-json-editor.component","ɵfz":"./app/pages/apis/{apiId}/editor/_components/dialogs/add-extension.component"},"importAs":"apicurio-design-studio"}