UNPKG

nocca

Version:
19 lines (12 loc) 38.7 kB
(function (templates) { angular.module('nocca.core') .run(['$templateCache', run]); function run ($templateCache) { for (var key in templates) { /* istanbul ignore else */ if (templates.hasOwnProperty(key)) { $templateCache.put(key, templates[key]); } } } }({"side-nav.directive.html":"<md-sidenav class=\"md-sidenav-left md-whiteframe-z1 nocca-side-nav\"\r\n md-component-id=\"nav\"\r\n ng-mouseleave=\"hideNavOnMouseLeave()\">\r\n\r\n\r\n <md-toolbar>\r\n <md-button ng-click=\"toggleNav()\" layout=\"row\" layout-align=\"center center\">\r\n <h1 class=\"md-toolbar-tools\">\r\n <span class=\"fa fa-chevron-left\" style=\"margin-right: 1em;\"></span>\r\n Nav\r\n </h1>\r\n </md-button>\r\n </md-toolbar>\r\n\r\n <md-content class=\"md-padding\">\r\n\r\n <md-list>\r\n <md-list-item layout=\"column\">\r\n <div layout-fill\r\n class=\"md-tile-content nocca-nav-block\"\r\n ui-sref=\"{{ uiStates.status }}\"\r\n ng-click=\"hideNavOnMouseLeave(true)\">\r\n\r\n <h3 class=\"md-title\">Status</h3>\r\n <p class=\"md-caption\">\r\n Received requests, responses, recordings, etc\r\n </p>\r\n <p layout=\"column\" class=\"md-caption\">\r\n <a class=\"nocca-nav-link\">\r\n View status\r\n <span class=\"fa fa-angle-right\"></span>\r\n </a>\r\n </p>\r\n </div>\r\n <md-divider></md-divider>\r\n </md-list-item>\r\n <!-- TODO: This is commented out as the repositories are plugins and are not guaranteed to be present.. need a fix. -->\r\n <!--<md-list-item layout=\"column\">-->\r\n <!--<div layout-fill-->\r\n <!--class=\"md-tile-content nocca-nav-block\"-->\r\n <!--ui-sref=\"{{ uiStates.caches }}\"-->\r\n <!--ng-click=\"hideNavOnMouseLeave(true)\">-->\r\n\r\n <!--<h3 class=\"md-title\">Manage caches</h3>-->\r\n <!--<p class=\"md-caption\">-->\r\n <!--Import caches, export caches, yadayada-->\r\n <!--</p>-->\r\n <!--<p layout=\"column\" class=\"md-caption\">-->\r\n <!--<a class=\"nocca-nav-link\">-->\r\n <!--Manage caches-->\r\n <!--<span class=\"fa fa-angle-right\"></span>-->\r\n <!--</a>-->\r\n <!--</p>-->\r\n <!--</div>-->\r\n <!--<md-divider></md-divider>-->\r\n <!--</md-list-item>-->\r\n <!-- TODO: This is commented out as the repositories are plugins and are not guaranteed to be present.. need a fix. -->\r\n <!--<md-list-item layout=\"column\">-->\r\n <!--<div layout-fill-->\r\n <!--class=\"md-tile-content nocca-nav-block\"-->\r\n <!--ui-sref=\"{{ uiStates.scenarios }}\"-->\r\n <!--ng-click=\"hideNavOnMouseLeave(true)\">-->\r\n\r\n <!--<h3 class=\"md-title\">Manage scenarios</h3>-->\r\n <!--<p class=\"md-caption\">-->\r\n <!--Start and stop-->\r\n <!--</p>-->\r\n <!--<p layout=\"column\" class=\"md-caption\">-->\r\n <!--<a class=\"nocca-nav-link\">-->\r\n <!--Manage scenarios-->\r\n <!--<span class=\"fa fa-angle-right\"></span>-->\r\n <!--</a>-->\r\n <!--</p>-->\r\n <!--</div>-->\r\n <!--<md-divider></md-divider>-->\r\n <!--</md-list-item>-->\r\n <md-list-item layout=\"column\">\r\n <div layout-fill\r\n class=\"md-tile-content nocca-nav-block\"\r\n ui-sref=\"{{ uiStates.httpApi }}\"\r\n ng-click=\"hideNavOnMouseLeave(true)\">\r\n\r\n <h3 class=\"md-title\">HTTP API</h3>\r\n <p class=\"md-caption\">\r\n View HTTP API endpoints and docs\r\n </p>\r\n <p layout=\"column\" class=\"md-caption\">\r\n <a class=\"nocca-nav-link\">\r\n HTTP API\r\n <span class=\"fa fa-angle-right\"></span>\r\n </a>\r\n </p>\r\n </div>\r\n <md-divider></md-divider>\r\n </md-list-item>\r\n <md-list-item layout=\"column\">\r\n <div layout-fill\r\n class=\"md-tile-content nocca-nav-block\"\r\n ui-sref=\"{{ uiStates.configuration }}\"\r\n ng-click=\"hideNavOnMouseLeave(true)\">\r\n\r\n <h3 class=\"md-title\">Nocca configuration</h3>\r\n <p class=\"md-caption\">\r\n As used when initializing Nocca\r\n </p>\r\n <p layout=\"column\" class=\"md-caption\">\r\n <a class=\"nocca-nav-link\">\r\n Nocca configuration\r\n <span class=\"fa fa-angle-right\"></span>\r\n </a>\r\n </p>\r\n </div>\r\n <md-divider></md-divider>\r\n </md-list-item>\r\n </md-list>\r\n </md-content>\r\n</md-sidenav>\r\n","caches.directive.html":"<div>\r\n\r\n <md-content class=\"md-padding\">\r\n\r\n <md-button ng-click=\"refresh();\">Refresh</md-button>\r\n\r\n <md-tabs>\r\n <md-tab label=\"Scenarios\">\r\n\r\n <md-content>\r\n\r\n <md-list>\r\n <md-item ng-repeat=\"(scenarioKey, scenario) in scenarios\">\r\n\r\n <nocca-widgets-scenario\r\n scenario=\"scenario\">\r\n\r\n </nocca-widgets-scenario>\r\n\r\n <md-divider></md-divider>\r\n </md-item>\r\n </md-list>\r\n\r\n </md-content>\r\n\r\n </md-tab>\r\n <md-tab label=\"Repositories\">\r\n\r\n <md-content class=\"md-padding\">\r\n <md-button ng-click=\"noccaPagesCaches.clearCacheRepositories()\">\r\n <span class=\"fa fa-fw fa-trash-o\"></span>\r\n Clear all\r\n </md-button>\r\n </md-content>\r\n\r\n <md-content>\r\n\r\n <md-list>\r\n <md-item ng-repeat=\"(endpointKey, caches) in repositories\">\r\n\r\n <nocca-widgets-cache-repository\r\n endpoint-key=\"endpointKey\"\r\n caches=\"caches\">\r\n\r\n </nocca-widgets-cache-repository>\r\n\r\n <md-divider></md-divider>\r\n </md-item>\r\n </md-list>\r\n\r\n </md-content>\r\n </md-tab>\r\n </md-tabs>\r\n </md-content>\r\n\r\n</div>\r\n","canvas.directive.html":"<div ng-cloak layout=\"row\" class=\"nocca-full-height\">\r\n\r\n <nocca-navigation-side-nav></nocca-navigation-side-nav>\r\n\r\n <md-content flex>\r\n\r\n <md-toolbar layout=\"row\">\r\n\r\n <h1 class=\"md-toolbar-tools\" flex>\r\n You are looking at the Nocca interface\r\n </h1>\r\n </md-toolbar>\r\n\r\n <md-content class=\"md-padding\" flex=\"100\"></md-content>\r\n <md-button class=\"md-raised md-primary\" ng-click=\"toggleNav()\">\r\n <span class=\"fa fa-cogs\"></span>\r\n <span class=\"fa fa-chevron-right\"></span>\r\n </md-button>\r\n\r\n <div ui-view></div>\r\n\r\n </md-content>\r\n\r\n</div>\r\n","configuration.directive.html":"<div>\r\n\r\n <md-content class=\"md-padding\" layout=\"column\">\r\n\r\n <h2>Nocca Configuration</h2>\r\n\r\n <pre>{{ noccaCoreConfig | json:4 }}</pre>\r\n\r\n </md-content>\r\n\r\n</div>\r\n","export.directive.html":"<md-content class=\"md-padding\">\r\n\r\n <h2>Export</h2>\r\n\r\n <md-list>\r\n\r\n <md-item layout=\"row\">\r\n\r\n <div flex=\"15\">\r\n Save as JSON\r\n </div>\r\n <div>\r\n Yada\r\n </div>\r\n\r\n </md-item>\r\n\r\n </md-list>\r\n\r\n</md-content>\r\n","http-api.directive.html":"<div>\r\n\r\n <md-content class=\"md-padding\" layout=\"column\">\r\n\r\n <h2>HTTP API</h2>\r\n\r\n <div layout=\"row\">\r\n <div flex=\"50\">\r\n <p>\r\n Currently registered HTTP API endpoints.\r\n </p>\r\n <code>API location: {{ httpApiHost }}</code>\r\n </div>\r\n <div>\r\n <md-input-container>\r\n <label for=\"api-filter\">filter</label>\r\n <input type=\"text\" ng-model=\"apiFilter\" id=\"api-filter\">\r\n </md-input-container>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <md-list>\r\n <md-list-item class=\"md-3-line\"\r\n ng-repeat=\"route in httpApi | filter:apiFilter | orderBy:'path'\"\r\n layout=\"column\"\r\n layout-align=\"start start\">\r\n\r\n <div class=\"md-list-item-text\">\r\n <code>{{ route.path }}</code>\r\n <p>{{ route.description }}</p>\r\n <p>{{ route.method }}</p>\r\n </div>\r\n\r\n <md-divider></md-divider>\r\n\r\n </md-list-item>\r\n\r\n </md-list>\r\n\r\n </md-content>\r\n\r\n</div>\r\n","scenarios.directive.html":"<div>\r\n\r\n <md-content class=\"md-padding\" layout=\"column\">\r\n\r\n <h2>Manage scenarios</h2>\r\n\r\n <md-content layout=\"row\" layout-margin>\r\n <div flex=\"20\">\r\n <span>Recorder status:</span>\r\n </div>\r\n <div flex>\r\n\r\n <pre ng-show=\"recorder\">{{ recorder | json:4 }}</pre>\r\n <span ng-show=\"!recorder\"><span class=\"fa fa-power-off\"></span> OFF</span>\r\n\r\n </div>\r\n </md-content>\r\n\r\n <form name=\"scenarioRecorder\" ng-submit=\"startRecording()\" ng-show=\"!recorder\" layout=\"row\" layout-wrap>\r\n\r\n <md-input-container flex=\"60\">\r\n <label>Scenario key</label>\r\n <input ng-model=\"scenarioModel.name\" required ng-pattern=\"/^[a-zA-Z0-9]+([a-zA-Z0-9\\-\\_\\.]+[a-zA-Z0-9]+)$/\" name=\"name\">\r\n\r\n <div ng-messages=\"scenarioRecorder.name.$error\">\r\n <div ng-message=\"required\">Please provide a key, this is a unique scenario identifier</div>\r\n <div ng-message=\"pattern\">Please keep it simple, don't start or end with a weird char, and no weird chars other than - _ .</div>\r\n </div>\r\n\r\n </md-input-container>\r\n\r\n <md-input-container flex=\"60\">\r\n <label>Scenario title</label>\r\n <input ng-model=\"scenarioModel.title\" required name=\"title\">\r\n\r\n <div ng-messages=\"scenarioRecorder.title.$error\">\r\n <div ng-message=\"required\">Please provide a title, this is your human readable reference</div>\r\n </div>\r\n\r\n </md-input-container>\r\n\r\n <div layout=\"row\" layout-align=\"end end\" flex=\"60\">\r\n <md-button class=\"md-primary\">\r\n <span class=\"fa fa-video-camera\"></span>\r\n start\r\n </md-button>\r\n </div>\r\n\r\n </form>\r\n\r\n <md-content ng-show=\"recorder\" layout=\"row\" layout-wrap>\r\n\r\n <md-divider flex=\"60\"></md-divider>\r\n\r\n <md-content flex=\"60\" class=\"md-padding\"></md-content>\r\n\r\n <div flex=\"60\" layout=\"row\">\r\n <md-button ng-click=\"cancelRecording()\" ng-show=\"recorder\" class=\"md-warn\">\r\n <span class=\"fa fa-ban\"></span>\r\n cancel\r\n </md-button>\r\n <span flex></span>\r\n <md-button ng-click=\"stopRecording()\" ng-show=\"recorder\" class=\"md-primary\">\r\n <span class=\"fa fa-stop\"></span>\r\n stop and save\r\n </md-button>\r\n </div>\r\n </md-content>\r\n\r\n </md-content>\r\n\r\n</div>\r\n","status.directive.html":"<div>\r\n\r\n <md-content layout-fill>\r\n <md-content class=\"md-padding\" layout=\"row\">\r\n <h2 flex>Status</h2>\r\n <div>\r\n <md-input-container>\r\n <label><span class=\"fa fa-filter\"></span> Filter</label>\r\n <input type=\"text\"\r\n ng-model=\"searchModel.model.query\"\r\n ng-change=\"filterData()\"\r\n ng-model-options=\"{ updateOn: 'default blur', debounce: {'default': 500, 'blur': 0}}\">\r\n\r\n <div ng-messages=\"searchModel.search\">\r\n <div ng-message=\"active\">Found {{ searchModel.search.count }} responses</div>\r\n </div>\r\n </md-input-container>\r\n <div ng-show=\"searchModel.model.query\" class=\"nocca-status-filter\">\r\n\r\n <div>\r\n <md-button ng-click=\"searchModel.toggleField('clientRequest'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.clientRequest }\">\r\n\r\n <span class=\"fa fa-fw fa-sign-in\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('proxyRequest'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.proxyRequest }\">\r\n\r\n <span class=\"fa fa-fw fa-sign-out\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('proxyResponse'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.proxyResponse }\">\r\n\r\n <span class=\"fa fa-fw fa-sign-in fa-flip-horizontal\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('playbackResponse'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.playbackResponse }\">\r\n\r\n <span class=\"fa fa-fw fa-play-circle-o\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('clientResponse'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.clientResponse }\">\r\n\r\n <span class=\"fa fa-fw fa-sign-out fa-flip-horizontal\"></span>\r\n </md-button>\r\n | search where\r\n </div>\r\n <md-divider></md-divider>\r\n <div>\r\n <md-button ng-click=\"searchModel.toggleField('endpointKey'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.endpointKey }\">\r\n\r\n <span class=\"fa fa-fw fa-server\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('requestKey'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.requestKey }\">\r\n\r\n <span class=\"fa fa-fw fa-key\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('headers'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.headers }\">\r\n\r\n <span class=\"fa fa-fw fa-file-code-o\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('body'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.body }\">\r\n\r\n <span class=\"fa fa-fw fa-user\"></span>\r\n </md-button>\r\n <md-button ng-click=\"searchModel.toggleField('path'); filterData()\"\r\n ng-class=\"{'md-primary': searchModel.model.path }\">\r\n\r\n <span class=\"fa fa-fw fa-link\"></span>\r\n </md-button>\r\n | search what\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </md-content>\r\n\r\n\r\n <md-tabs md-dynamic-height md-selected=\"selectedTabIndex\" flex>\r\n <md-tab>\r\n\r\n <md-tab-label>All responses ({{ count.responses }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 0\">\r\n\r\n <div ng-repeat=\"(hash, response) in data.responses | noccaDataOrderObject:'timestamp':true | limitTo:maxResponses track by hash\">\r\n\r\n <nocca-widgets-response response=\"response\"></nocca-widgets-response>\r\n\r\n <md-divider></md-divider>\r\n </div>\r\n\r\n <div layout=\"row\">\r\n <md-button ng-disabled=\"count.responses <= maxResponses\" ng-click=\"maxResponses = maxResponses + 50\">\r\n show 50 more!\r\n </md-button>\r\n <span flex></span>\r\n <md-button ng-click=\"maxResponses = undefined\">\r\n show all\r\n </md-button>\r\n </div>\r\n\r\n\r\n </md-content>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab ng-disabled=\"!count.endpoints\">\r\n\r\n <md-tab-label>By Endpoints ({{ count.endpoints }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 1\">\r\n\r\n <section ng-repeat=\"(endpoint, hashKeys) in data.endpoints track by endpoint\">\r\n\r\n <md-subheader class=\"md-primary\">{{ endpoint }}</md-subheader>\r\n\r\n <div ng-repeat=\"hashKey in hashKeys | noccaDataUnique track by hashKey\"\r\n ng-if=\"data.responses[hashKey]\">\r\n\r\n <nocca-widgets-response response=\"data.responses[hashKey]\"></nocca-widgets-response>\r\n\r\n <md-divider></md-divider>\r\n </div>\r\n\r\n </section>\r\n\r\n </md-content>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab ng-disabled=\"!count.recorded\">\r\n\r\n <md-tab-label>Recorded ({{ count.recorded }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 2\">\r\n\r\n <section>\r\n\r\n <div ng-repeat=\"hashKey in data.recorded track by $index\" ng-if=\"data.responses[hashKey]\">\r\n\r\n <nocca-widgets-response response=\"data.responses[hashKey]\"></nocca-widgets-response>\r\n\r\n <md-divider></md-divider>\r\n </div>\r\n\r\n </section>\r\n\r\n </md-content>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n\r\n <md-tab ng-disabled=\"!count.forwarded\">\r\n\r\n <md-tab-label>Forwarded ({{ count.forwarded }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 3\">\r\n\r\n <section>\r\n\r\n <div ng-repeat=\"hashKey in data.forwarded track by $index\" ng-if=\"data.responses[hashKey]\">\r\n\r\n <nocca-widgets-response response=\"data.responses[hashKey]\"></nocca-widgets-response>\r\n\r\n <md-divider></md-divider>\r\n </div>\r\n\r\n </section>\r\n\r\n </md-content>\r\n </md-tab-body>\r\n </md-tab>\r\n\r\n <md-tab ng-disabled=\"!count.replayed\">\r\n\r\n <md-tab-label>Replayed ({{ count.replayed }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 4\">\r\n\r\n <section>\r\n\r\n <div ng-repeat=\"hashKey in data.replayed track by $index\" ng-if=\"data.responses[hashKey]\">\r\n\r\n <nocca-widgets-response response=\"data.responses[hashKey]\"></nocca-widgets-response>\r\n\r\n <md-divider></md-divider>\r\n </div>\r\n\r\n </section>\r\n\r\n </md-content>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n\r\n <md-tab>\r\n\r\n <md-tab-label>Story ({{ count.storyLog }})</md-tab-label>\r\n <md-tab-body>\r\n <md-content ng-if=\"selectedTabIndex == 5\">\r\n <md-list>\r\n <md-list-item ng-repeat=\"line in data.storyLog | noccaDataOrderObject:'timestamp':true track by line.id\"\r\n class=\"nocca-story-line\"\r\n ng-if=\"data.responses[line.requestKeyHash]\">\r\n\r\n <md-item-content>\r\n\r\n <div class=\"md-tile-left\">\r\n <span class=\"nocca-timestamp fa fa-clock-o\">\r\n {{ line.timestamp | date:'HH:mm:ss.sss' }}\r\n </span>\r\n </div>\r\n <div class=\"md-tile-content\">\r\n <span ng-class=\"{'fa-circle': line.rec}\" class=\"fa fa-fw\"></span>\r\n <span ng-class=\"{'fa-sign-out': line.fwd}\" class=\"fa fa-fw\"></span>\r\n <span ng-class=\"{'fa-play': line.rpl}\" class=\"fa fa-fw\"></span>\r\n <span ng-class=\"{'fa-question': line.miss}\" class=\"fa fa-fw\"></span>\r\n\r\n <span>{{ line.line }}</span>\r\n </div>\r\n </md-item-content>\r\n </md-list-item>\r\n\r\n </md-list>\r\n </md-content>\r\n </md-tab-body>\r\n </md-tab>\r\n\r\n </md-tabs>\r\n\r\n <md-content layout=\"row\" class=\"md-padding\">\r\n\r\n <span flex></span>\r\n <md-button ng-click=\"showRaw = !showRaw\">\r\n <span class=\"fa\" ng-class=\"{'fa-eye': showRaw, 'fa-eye-slash': !showRaw}\"></span>\r\n raw data\r\n </md-button>\r\n </md-content>\r\n\r\n <pre ng-if=\"showRaw\">{{ data | json:4 }}</pre>\r\n\r\n </md-content>\r\n</div>\r\n","download-dialog.directive.html":"<div>\r\n <md-content>\r\n <md-input-container flex=\"33\">\r\n <label>Filename</label>\r\n <input ng-model=\"download.filename\">\r\n </md-input-container>\r\n </md-content>\r\n <div class=\"md-actions\">\r\n <md-button ng-click=\"cancel()\">Cancel</md-button>\r\n <md-button ng-click=\"save()\">Save</md-button>\r\n </div>\r\n</div>\r\n","cache-repository.directive.html":"<md-item-content>\r\n\r\n <div class=\"md-tile-content\">\r\n <h3>{{ endpointKey }}</h3>\r\n\r\n <md-content layout=\"row\" class=\"md-padding\">\r\n <dl class=\"nocca-scenario-details\" layout layout-wrap>\r\n <dt flex=\"30\">Cache count:</dt>\r\n <dd flex=\"60\">{{ caches | noccaDataObjectLength }}</dd>\r\n </dl>\r\n <div layout=\"column\">\r\n <md-button ng-click=\"clearCacheRepository(endpointKey)\"\r\n class=\"md-primary\">\r\n\r\n <span class=\"fa fa-fw fa-trash-o\"></span>\r\n Empty caches\r\n\r\n </md-button>\r\n </div>\r\n </md-content>\r\n\r\n </div>\r\n\r\n</md-item-content>\r\n","request-dialog.directive.html":"<div layout=\"column\" layout-fill flex>\r\n\r\n <md-content layout-fill flex>\r\n <md-tabs md-selected=\"selectedIndex\" md-dynamic-height>\r\n <md-tab>\r\n <md-tab-label ng-if=\"!asIcons\">Client Request</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>Client Request</md-tooltip>\r\n <span class=\"fa fa-fw fa-sign-in\"></span>\r\n </md-tab-label>\r\n\r\n <md-tab-body>\r\n <nocca-widgets-request-preview\r\n preview=\"content.clientRequest\"\r\n request-dialog=\"requestDialog\">\r\n\r\n </nocca-widgets-request-preview>\r\n </md-tab-body>\r\n </md-tab>\r\n <md-tab>\r\n\r\n <md-tab-label ng-if=\"!asIcons\">Proxy Request</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>Proxy Request</md-tooltip>\r\n <span class=\"fa fa-fw fa-sign-out\"></span>\r\n </md-tab-label>\r\n\r\n\r\n <md-tab-body layout=\"row\">\r\n <nocca-widgets-request-preview\r\n preview=\"content.proxyRequest\"\r\n request-dialog=\"requestDialog\">\r\n\r\n </nocca-widgets-request-preview>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab>\r\n\r\n <md-tab-label ng-if=\"!asIcons\">Proxy Response</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>Proxy Response</md-tooltip>\r\n <span class=\"fa fa-fw fa-sign-in fa-flip-horizontal\"></span>\r\n </md-tab-label>\r\n\r\n <md-tab-body layout=\"row\">\r\n <nocca-widgets-request-preview\r\n preview=\"content.proxyResponse\"\r\n request-dialog=\"requestDialog\">\r\n\r\n </nocca-widgets-request-preview>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab>\r\n\r\n <md-tab-label ng-if=\"!asIcons\">Playback Response</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>Playback Response</md-tooltip>\r\n <span class=\"fa fa-fw fa-sign-in fa-flip-horizontal\"></span>\r\n </md-tab-label>\r\n\r\n <md-tab-body layout=\"row\">\r\n <nocca-widgets-request-preview\r\n preview=\"content.playbackResponse\"\r\n request-dialog=\"requestDialog\">\r\n\r\n </nocca-widgets-request-preview>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab>\r\n\r\n <md-tab-label ng-if=\"!asIcons\">Client Response</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>Client Response</md-tooltip>\r\n <span class=\"fa fa-fw fa-sign-out fa-flip-horizontal\"></span>\r\n </md-tab-label>\r\n\r\n <md-tab-body layout=\"row\">\r\n <nocca-widgets-request-preview\r\n preview=\"content.clientResponse\"\r\n request-dialog=\"requestDialog\">\r\n\r\n </nocca-widgets-request-preview>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n <md-tab>\r\n\r\n <md-tab-label ng-if=\"!asIcons\">full raw</md-tab-label>\r\n <md-tab-label ng-if=\"asIcons\">\r\n <md-tooltip>full raw</md-tooltip>\r\n <span class=\"fa fa-fw fa-puzzle-piece\"></span>\r\n </md-tab-label>\r\n\r\n <md-tab-body layout=\"row\">\r\n <md-content class=\"md-padding\">\r\n <pre>{{ content | json:4 }}</pre>\r\n </md-content>\r\n </md-tab-body>\r\n\r\n </md-tab>\r\n </md-tabs>\r\n\r\n </md-content>\r\n <div class=\"md-padding\">\r\n\r\n <md-divider></md-divider>\r\n\r\n <div layout=\"row\">\r\n <span flex></span>\r\n <md-button ng-click=\"close()\" class=\"md-primary\">\r\n close\r\n </md-button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","request-preview.directive.html":"<md-content layout-fill>\r\n\r\n <div class=\"md-padding\" layout=\"row\" layout-align=\"start start\">\r\n\r\n <div layout=\"column\" class=\"md-padding\">\r\n\r\n <md-button ng-click=\"requestDialog.raw = !requestDialog.raw\"\r\n ng-class=\"{'md-accent': requestDialog.raw}\">\r\n\r\n <md-tooltip md-direction=\"right\">Show or hide this</md-tooltip>\r\n <span class=\"fa fa-fw\" ng-class=\"{\r\n 'fa-eye': requestDialog.raw,\r\n 'fa-eye-slash': !requestDialog.raw\r\n }\"></span>\r\n </md-button>\r\n <md-button ng-click=\"requestDialog.rawWrap = !requestDialog.rawWrap\"\r\n ng-class=\"{'md-accent': requestDialog.rawWrap}\">\r\n\r\n <md-tooltip md-direction=\"right\">Wrap long lines</md-tooltip>\r\n <span class=\"fa fa-fw\" ng-class=\"{\r\n 'fa-level-down fa-rotate-90': requestDialog.rawWrap,\r\n 'fa-long-arrow-down fa-rotate-270': !requestDialog.rawWrap\r\n }\"></span>\r\n </md-button>\r\n\r\n </div>\r\n <div flex>\r\n <md-content class=\"md-padding\">\r\n <pre ng-show=\"requestDialog.raw\" ng-class=\"{'nocca-request-preview-wrap': requestDialog.rawWrap}\">{{ preview | json:4 }}</pre>\r\n </md-content>\r\n </div>\r\n\r\n </div>\r\n\r\n <md-divider></md-divider>\r\n\r\n <div class=\"md-padding\" layout=\"row\" layout-align=\"start start\">\r\n\r\n <div layout=\"column\" class=\"md-padding\">\r\n <md-button ng-click=\"requestDialog.body = !requestDialog.body\"\r\n ng-class=\"{'md-accent': requestDialog.body}\">\r\n\r\n <md-tooltip md-direction=\"right\">Show or hide this</md-tooltip>\r\n <span class=\"fa fa-fw\" ng-class=\"{\r\n 'fa-eye': requestDialog.body,\r\n 'fa-eye-slash': !requestDialog.body\r\n }\"></span>\r\n </md-button>\r\n <md-button ng-click=\"requestDialog.bodyWrap = !requestDialog.bodyWrap\"\r\n ng-class=\"{'md-accent': requestDialog.bodyWrap}\">\r\n\r\n <md-tooltip md-direction=\"right\">Wrap long lines</md-tooltip>\r\n <span class=\"fa fa-fw\" ng-class=\"{\r\n 'fa-level-down fa-rotate-90': requestDialog.bodyWrap,\r\n 'fa-long-arrow-down fa-rotate-270': !requestDialog.bodyWrap\r\n }\"></span>\r\n </md-button>\r\n\r\n <md-button ng-click=\"requestDialog.bodyPrettyPrint = !requestDialog.bodyPrettyPrint\"\r\n ng-class=\"{'md-accent': requestDialog.bodyPrettyPrint}\">\r\n\r\n <md-tooltip md-direction=\"right\">Fix indention</md-tooltip>\r\n <span class=\"fa fa-fw\" ng-class=\"{\r\n 'fa-align-justify': !requestDialog.bodyPrettyPrint,\r\n 'fa-indent': requestDialog.bodyPrettyPrint\r\n }\"></span>\r\n </md-button>\r\n </div>\r\n <div flex>\r\n <md-content class=\"md-padding\">\r\n\r\n <em ng-show=\"!preview.body\">No body to show</em>\r\n\r\n <pre ng-show=\"preview.body && requestDialog.body && !requestDialog.bodyPrettyPrint\"\r\n ng-class=\"{'nocca-request-preview-wrap': requestDialog.bodyWrap}\">{{ preview.body }}</pre>\r\n\r\n <pre ng-show=\"preview.body && requestDialog.body && requestDialog.bodyPrettyPrint\"\r\n ng-class=\"{'nocca-request-preview-wrap': requestDialog.bodyWrap}\">{{ prettyBody }}</pre>\r\n\r\n </md-content>\r\n </div>\r\n\r\n </div>\r\n\r\n</md-content>\r\n","response.directive.html":"<md-grid-list\r\n class=\"nocca-response\"\r\n md-cols-lt-md=\"1\"\r\n md-cols-md=\"4\"\r\n md-cols-gt-md=\"6\"\r\n md-row-height=\"200px\">\r\n\r\n <md-grid-tile md-colspan=\"1\">\r\n <div class=\"nocca-response-tile-left\">\r\n <span class=\"nocca-timestamp fa fa-clock-o\"> {{ response.timestamp | date:'HH:mm:ss.sss' }}</span>\r\n <em>{{ response.clientResponse.statusCode }}</em>\r\n <em>{{ response.clientRequest.method }}</em>\r\n\r\n <md-button ng-click=\"showDialog($event)\">\r\n View bodies\r\n </md-button>\r\n </div>\r\n </md-grid-tile>\r\n <md-grid-tile md-colspan=\"5\" md-colspan-md=\"3\" md-colspan-lt-md=\"1\">\r\n <div flex>\r\n <h3 class=\"md-title\">\r\n {{ response.hash }}\r\n </h3>\r\n\r\n <p class=\"md-body-1\">\r\n <span>\r\n <md-tooltip>endpoint definition</md-tooltip>\r\n <span class=\"fa fa-server\"></span>\r\n {{ response.endpoint.key }}\r\n </span>\r\n </p>\r\n\r\n <p class=\"md-caption\">\r\n <span class=\"fa fa-key\"></span>\r\n {{ response.requestKey }}\r\n </p>\r\n\r\n <p class=\"md-body-1\">\r\n <span>\r\n <md-tooltip>incoming request</md-tooltip>\r\n <span class=\"fa fa-sign-in\"></span>\r\n {{ response.clientRequest.method }} {{ response.clientRequest.path }}\r\n </span>\r\n </p>\r\n <p ng-show=\"response.proxiedRequest\" class=\"md-body-1\">\r\n <span>\r\n <md-tooltip>forwarded request</md-tooltip>\r\n <span class=\"fa fa-sign-out\"></span>\r\n {{ response.proxiedRequest.method }} {{ response.proxiedRequest.protocol + '//' + response.proxiedRequest.host + response.proxiedRequest.path }}\r\n </span>\r\n </p>\r\n </div>\r\n </md-grid-tile>\r\n\r\n</md-grid-list>\r\n","scenario.directive.html":"<md-item-content>\r\n\r\n <div class=\"md-tile-content\">\r\n <h3>{{ scenario.scenario.title }}</h3>\r\n <h4 class=\"nocca-scenario-key\">{{ scenario.scenario.name }}</h4>\r\n\r\n <md-content layout=\"row\" class=\"md-padding\">\r\n <dl class=\"nocca-scenario-details\" layout layout-wrap>\r\n <dt flex=\"30\">Scenario enabled:</dt>\r\n <dd flex=\"60\">{{ scenario.$active }}</dd>\r\n <dt flex=\"30\">Current step:</dt>\r\n <dd flex=\"60\">{{ scenario.currentPosition.state.name }}</dd>\r\n <dt flex=\"30\">Step count:</dt>\r\n <dd flex=\"60\">{{ scenario.states | noccaDataObjectLength }}</dd>\r\n </dl>\r\n <div layout=\"column\">\r\n <md-button ng-click=\"resetScenario(scenario.scenario.name)\"\r\n ng-disabled=\"scenario.currentPosition.state.name == scenario.scenario.initialStateKey\"\r\n class=\"md-primary\">\r\n\r\n <span class=\"fa fa-fw fa-backward\"></span>\r\n Reset scenario\r\n\r\n </md-button>\r\n <md-button ng-click=\"disableScenario(scenario.scenario.name)\"\r\n ng-show=\"scenario.$active\"\r\n class=\"md-primary\">\r\n\r\n <span class=\"fa fa-fw fa-pause\"></span>\r\n Pause scenario\r\n\r\n </md-button>\r\n <md-button ng-click=\"enableScenario(scenario.scenario.name)\"\r\n ng-hide=\"scenario.$active\"\r\n class=\"md-primary\">\r\n\r\n <span class=\"fa fa-fw fa-play\"></span>\r\n Play scenario\r\n\r\n </md-button>\r\n </div>\r\n </md-content>\r\n\r\n </div>\r\n\r\n</md-item-content>\r\n"}));