From 3c135880436bccdcc03169a132dcc582f2c76d12 Mon Sep 17 00:00:00 2001 From: Marcos Junior Date: Fri, 5 May 2017 13:02:42 -0300 Subject: [PATCH 1/2] Fix order release widget, --- src/app.js | 5732 ++++++++--------- src/app.js.map | 2 +- .../widgets/tfs-release/config-controller.ts | 2 +- 3 files changed, 2868 insertions(+), 2868 deletions(-) diff --git a/src/app.js b/src/app.js index 0d6ce7a..27b4398 100644 --- a/src/app.js +++ b/src/app.js @@ -69,1659 +69,1048 @@ var DashCI; "use strict"; var DashCI; (function (DashCI) { - var Models; - (function (Models) { - var WidgetType; - (function (WidgetType) { - WidgetType[WidgetType["clock"] = 1] = "clock"; - WidgetType[WidgetType["gitlabPipeline"] = 2] = "gitlabPipeline"; - WidgetType[WidgetType["gitlabIssues"] = 3] = "gitlabIssues"; - WidgetType[WidgetType["tfsQueryCount"] = 4] = "tfsQueryCount"; - WidgetType[WidgetType["labelTitle"] = 5] = "labelTitle"; - WidgetType[WidgetType["tfsBuild"] = 6] = "tfsBuild"; - WidgetType[WidgetType["gitlabPipelineGraph"] = 7] = "gitlabPipelineGraph"; - WidgetType[WidgetType["tfsBuildGraph"] = 8] = "tfsBuildGraph"; - WidgetType[WidgetType["githubIssues"] = 9] = "githubIssues"; - WidgetType[WidgetType["tfsRelease"] = 10] = "tfsRelease"; - WidgetType[WidgetType["tfsQueryChart"] = 11] = "tfsQueryChart"; - })(WidgetType = Models.WidgetType || (Models.WidgetType = {})); - var WidgetCategory; - (function (WidgetCategory) { - WidgetCategory[WidgetCategory["generic"] = 1] = "generic"; - WidgetCategory[WidgetCategory["gitlab"] = 2] = "gitlab"; - WidgetCategory[WidgetCategory["tfs"] = 3] = "tfs"; - WidgetCategory[WidgetCategory["github"] = 4] = "github"; - WidgetCategory[WidgetCategory["circleci"] = 5] = "circleci"; - })(WidgetCategory = Models.WidgetCategory || (Models.WidgetCategory = {})); - DashCI.app.constant("widgetcategories", [ - { - value: WidgetCategory.generic, - desc: "Generic Widgets" - }, - { - value: WidgetCategory.gitlab, - desc: "Gitlab Widgets" - }, - { - value: WidgetCategory.tfs, - desc: "TFS/VSTS Widgets" - }, - { - value: WidgetCategory.github, - desc: "Github Widgets" - }, - ]); - DashCI.app.constant("widgets", [ - { - type: WidgetType.clock, - title: "Clock", - desc: "Current date and time.", - category: WidgetCategory.generic - }, - { - type: WidgetType.labelTitle, - directive: "label-title", - title: "Label", - desc: "Static label to create semantic areas", - category: WidgetCategory.generic - }, - { - type: WidgetType.githubIssues, - directive: "github-issues", - title: "GitHub - Issue Query", - desc: "The count of an issue query against a repository.", - category: WidgetCategory.github - }, - { - type: WidgetType.gitlabPipeline, - directive: "gitlab-pipeline", - title: "GitLab - Pipeline", - desc: "The (almost) real time pipeline status for a branch.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.gitlabPipelineGraph, - directive: "gitlab-pipeline-graph", - title: "GitLab - Pipeline Graph", - desc: "The pipeline graph for last N status for a branch.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.gitlabIssues, - directive: "gitlab-issues", - title: "GitLab - Issue Query", - desc: "The count of an issue query against a project.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.tfsBuild, - directive: "tfs-build", - title: "TFS - Build", - desc: "The (almost) real time build definition status for a project.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsBuildGraph, - directive: "tfs-build-graph", - title: "TFS - Build Graph", - desc: "The build graph for last N builds of a branch.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsRelease, - directive: "tfs-release", - title: "TFS - Release Status", - desc: "The release status for a release definition.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsQueryCount, - directive: "tfs-query-count", - title: "TFS - Query Count", - desc: "The count of a saved query against a project.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsQueryChart, - directive: "tfs-query-chart", - title: "TFS - Query Chart", - desc: "Shows the count of saved querys count at a chart.", - category: WidgetCategory.tfs - }, - ]); - })(Models = DashCI.Models || (DashCI.Models = {})); -})(DashCI || (DashCI = {})); -/// -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var LoaderDirective = (function () { - function LoaderDirective($compile, widgets) { - var _this = this; - this.$compile = $compile; + var Core; + (function (Core) { + var AddWidgetController = (function () { + function AddWidgetController($mdDialog, widgets, categories) { + this.$mdDialog = $mdDialog; this.widgets = widgets; - this.scope = { scope: '=', editable: '=', globalOptions: '=' }; - this.restrict = "E"; - this.replace = true; - this.link = function ($scope, $element, attrs, ctrl) { - var widgetParam = $scope.scope; - var wscope = $scope.$new(); - angular.extend(wscope, { - data: widgetParam - }); - var wdesc = _this.widgets.filter(function (item) { return item.type == wscope.data.type; })[0]; - var el = _this.$compile("<" + (wdesc.directive || DashCI.Models.WidgetType[wdesc.type]) + ' class="widget {{data.color}}" />')(wscope); - wscope.$element = el; - $element.replaceWith(el); - $scope.$watch(function () { return $scope.editable; }, function () { return wscope.editable = $scope.editable; }); - $scope.$watch(function () { return $scope.globalOptions; }, function () { return wscope.globalOptions = $scope.globalOptions; }); - }; + this.categories = categories; } - LoaderDirective.create = function () { - var directive = function ($compile, widgets) { return new LoaderDirective($compile, widgets); }; - directive.$inject = ["$compile", "widgets"]; - return directive; + AddWidgetController.prototype.cancel = function () { + this.$mdDialog.cancel(); }; - return LoaderDirective; + AddWidgetController.prototype.select = function (type) { + this.$mdDialog.hide(type); + }; + return AddWidgetController; }()); - Widgets.LoaderDirective = LoaderDirective; - DashCI.app.directive("widgetLoader", LoaderDirective.create()); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + AddWidgetController.$inject = ["$mdDialog", "widgets", "widgetcategories"]; + Core.AddWidgetController = AddWidgetController; + })(Core = DashCI.Core || (DashCI.Core = {})); })(DashCI || (DashCI = {})); +/// "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseConfigController = (function () { - function TfsReleaseConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); + var Core; + (function (Core) { + var GlobalConfigController = (function () { + function GlobalConfigController($timeout, $mdDialog, $scope, $rootscope, vm) { + var _this = this; + this.$timeout = $timeout; + this.$mdDialog = $mdDialog; + this.$rootscope = $rootscope; + this.vm = vm; + this.pageCount = this.vm.pages.length; + $scope.$watch(function () { return _this.pageCount; }, function () { return _this.updatePages(); }); + } + GlobalConfigController.prototype.ok = function () { + this.$mdDialog.hide(); + }; + GlobalConfigController.prototype.updatePages = function () { + if (this.pageCount < 1) + this.pageCount = 1; + if (this.pageCount > 5) + this.pageCount = 5; + if (this.pageCount < this.vm.pages.length) { + for (var i = this.vm.pages.length; i > this.pageCount; i--) { + this.vm.pages.pop(); + } } - TfsReleaseConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = result.value; - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getReleaseDefs(); }); - }; - TfsReleaseConfigController.prototype.getReleaseDefs = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.release_definition_list({ project: this.vm.project }).$promise - .then(function (result) { - _this.releases = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.releases = []; - }); - }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - TfsReleaseConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return TfsReleaseConfigController; - }()); - TfsReleaseConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsRelease.TfsReleaseConfigController = TfsReleaseConfigController; - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseController = (function () { - function TfsReleaseController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.envcontainer = { - width: "0%" - }; - this.env = { - height: "0px", - iconSize: "0px" - }; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsRelease; - this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); - } - TfsReleaseController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsReleaseController.prototype.init = function () { - this.data.title = this.data.title || "Release"; - this.data.color = this.data.color || "brown"; - //default values - this.data.poolInterval = this.data.poolInterval || 10000; - this.updateInterval(); - this.update(); - }; - TfsReleaseController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); - var padding = Number(this.$scope.$element.find(".envcontainer").css("padding-top")) || 5; - this.env.height = ((height - header_size - 25) / this.rowCount() - (padding * 2)).toFixed(2) + "px"; - this.envcontainer.width = ((100 / this.maxColumnCount()) - 0.5).toFixed(2) + "%"; - this.env.iconSize = this.env.height; - }; - TfsReleaseController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsRelease.TfsReleaseConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-release/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); - }; - TfsReleaseController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - }; - TfsReleaseController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.release) - return; - var res = this.tfsResources(); - if (!res) - return; - if (!this.releaseDefinition || this.releaseDefinition.id != this.data.release) { - this.releaseDefinition = null; - res.release_definition({ project: this.data.project, release: this.data.release }).$promise - .then(function (result) { - _this.releaseDefinition = result; - _this.update(); - }) - .catch(function (error) { - _this.releaseDefinition = null; - _this.environment_rows = null; - console.error(error); + else if (this.pageCount > this.vm.pages.length) { + for (var i = this.vm.pages.length; i < this.pageCount; i++) { + var id = (this.vm.pages.length + 1).toString(); + this.vm.pages.push({ + id: id, + name: "Dash-CI " + id.toString(), + widgets: [] }); } - if (this.releaseDefinition) { - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_release_environments({ project: this.data.project, release: this.data.release }) - .$promise.then(function (result) { - _this.latest = result.releases.length > 0 ? result.releases[result.releases.length - 1] : null; - angular.forEach(result.environments, function (e) { - var findRelease = result.releases.filter(function (r) { return e.lastReleases.length > 0 && r.id == e.lastReleases[0].id; }); - var lastestDef = _this.latest.environments.filter(function (re) { return re.definitionEnvironmentId == e.id; })[0]; - if (lastestDef && lastestDef.status == "inProgress") { - angular.extend(e, lastestDef); - } - else if (findRelease.length == 1) { - var releaseEnv = findRelease[0].environments.filter(function (re) { return re.definitionEnvironmentId == e.id; }); - if (releaseEnv.length > 0) - angular.extend(e, releaseEnv[0]); - } - else if (lastestDef) { - e.name = lastestDef.name; - e.conditions = lastestDef.conditions; - } - if (lastestDef) { - var currentEnv = _this.releaseDefinition.environments.filter(function (re) { return re.id == lastestDef.definitionEnvironmentId; }); - e.conditions = currentEnv[0].conditions; - } - if (!e.release && e.lastReleases && e.lastReleases.length > 0) - e.release = result.releases.filter(function (r) { return r.id == e.lastReleases[0].id; })[0]; - _this.setIcon(e); - }); - _this.environments = result.environments; - if (_this.latest) { - var baseEnvs = _this.environments.filter(_this.filterAutomaticAfterReleaseOrManual); - var rows = []; - angular.forEach(baseEnvs, function (item) { - var row = []; - row.push(item); - angular.forEach(_this.filterSubSequentEnvironments(item), function (e) { return row.push(e); }); - rows.push(row); - }); - _this.environment_rows = rows; - } - else { - _this.environments = null; - _this.environment_rows = null; + } + }; + GlobalConfigController.prototype.reset = function () { + }; + GlobalConfigController.prototype.import = function () { + var _this = this; + var inputFile = $("#import").get(0); + var reader = new FileReader(); + reader.onload = function (event) { + try { + var obj = angular.fromJson(event.target.result); + if (obj && obj.pages && obj.pages.length && obj.pages.length > 0) { + if (confirm("This will reset your current configuration and replace with the file imported.\n\nConfirm importing the file?")) { + _this.vm.pages = null; + angular.extend(_this.vm, obj); } - _this.sizeFont(_this.$scope.$element.height()); - }) - .catch(function (error) { - _this.latest = null; - _this.environments = null; - _this.releaseDefinition = null; - _this.environment_rows = null; - console.error(error); - _this.sizeFont(_this.$scope.$element.height()); - }); - } - }; - TfsReleaseController.prototype.rowCount = function () { - return this.environment_rows ? this.environment_rows.length : 0; - }; - TfsReleaseController.prototype.maxColumnCount = function () { - if (!this.environment_rows) - return 0; - var maxColumns = 0; - angular.forEach(this.environment_rows, function (row) { - if (row.length > maxColumns) - maxColumns = row.length; - }); - return maxColumns; - }; - TfsReleaseController.prototype.filterAutomaticAfterReleaseOrManual = function (element) { - return (element.conditions && element.conditions[0] && element.conditions[0].name == "ReleaseStarted") || - (element.conditions && element.conditions.length == 0) //manual - ; - }; - TfsReleaseController.prototype.filterSubSequentEnvironments = function (rootElement) { - var _this = this; - var list = this.environments.filter(function (element) { - return element.conditions && element.conditions[0] && - element.conditions[0].conditionType == "environmentState" && - element.conditions[0].name == rootElement.name; - }); - angular.forEach(list, function (item) { - var moreList = _this.filterSubSequentEnvironments(item); - if (moreList.length > 0) - angular.forEach(moreList, function (mi) { return list.push(mi); }); - }); - return list; - }; - TfsReleaseController.prototype.setIcon = function (item) { - if (item.release) { - switch (item.status) { - case "inProgress": - item.icon = "play_circle_filled"; - break; - case "canceled": - item.icon = "remove_circle"; - break; - case "notStarted": - item.icon = "pause_circle_filled"; - break; - case "rejected": - item.icon = "cancel"; - break; - case "succeeded": - item.icon = "check"; - break; - default: - item.icon = "help"; - break; - } - if (item && item.preDeployApprovals) { - var preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "pending"; }); - if (preDeploy.length > 0) - item.icon = "assignment_ind"; - preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "rejected"; }); - if (preDeploy.length > 0) - item.icon = "assignment_late"; - } - if (item && item.postDeployApprovals) { - var postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "pending"; }); - if (postDeploy.length > 0) - item.icon = "assignment_ind"; - postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "rejected"; }); - if (postDeploy.length > 0) - item.icon = "assignment_late"; + alert("File imported successfully"); + _this.$rootscope.$apply(); + _this.$rootscope.$broadcast("dashci-refresh"); } + else + throw "File format not supported."; } - else { - item.icon = ""; + catch (e) { + alert(e); } }; - return TfsReleaseController; - }()); - TfsReleaseController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsRelease.TfsReleaseController = TfsReleaseController; - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseDirective = (function () { - function TfsReleaseDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-release/release.html"; - this.replace = false; - this.controller = TfsRelease.TfsReleaseController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-release/release.css", - persist: true - }; - } - TfsReleaseDirective.create = function () { - var directive = function () { return new TfsReleaseDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsReleaseDirective; - }()); - DashCI.app.directive("tfsRelease", TfsReleaseDirective.create()); - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + reader.readAsText(inputFile.files[0]); + inputFile.value = null; + }; + GlobalConfigController.prototype.export = function () { + var data = jQuery.extend(true, {}, this.vm); + if (data.gitlab) + data.gitlab.privateToken = null; + if (data.tfs) + data.tfs.privateToken = null; + if (data.github && data.github.length) + angular.forEach(data.github, function (item) { return item.privateToken = null; }); + var datatxt = angular.toJson(data); + var myBlob = new Blob([datatxt], { type: "application/json" }); + var url = window.URL.createObjectURL(myBlob); + var a = document.createElement("a"); + a.style.display = "none"; + document.body.appendChild(a); + a.href = url; + a.download = "dash-ci.json"; + a.click(); + this.$timeout(function () { return window.URL.revokeObjectURL(url); }, 1000); + alert("Your configuration was exported. Take note of your private keys, they are not saved to the exported file."); + }; + return GlobalConfigController; + }()); + GlobalConfigController.$inject = ["$timeout", "$mdDialog", "$scope", "$rootScope", "config"]; + Core.GlobalConfigController = GlobalConfigController; + })(Core = DashCI.Core || (DashCI.Core = {})); })(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountConfigController = (function () { - function TfsQueryCountConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.$q = $q; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); + var GoogleCastReceiver = (function () { + function GoogleCastReceiver() { + var _this = this; + this.namespace = 'urn:x-cast:almasistemas.dashci'; + this.script = '//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js'; + var el = document.createElement('script'); + document.body.appendChild(el); + el.onload = function () { + setTimeout(function () { return _this.initializeCastApi(); }, 1000); + }; + el.type = "text/javascript"; + el.src = this.script; + } + GoogleCastReceiver.prototype.initializeCastApi = function () { + var _this = this; + GoogleCastReceiver.Cast = window.cast; + GoogleCastReceiver.Cast.receiver.logger.setLevelValue(0); + this.manager = GoogleCastReceiver.Cast.receiver.CastReceiverManager.getInstance(); + console.log('Starting Receiver Manager'); + this.manager.onReady = function (event) { + console.log('Received Ready event: ' + JSON.stringify(event.data)); + _this.manager.setApplicationState('chromecast-dashboard is ready...'); + }; + this.manager.onSenderConnected = function (event) { + console.log('Received Sender Connected event: ' + event.senderId); + }; + this.manager.onSenderDisconnected = function (event) { + console.log('Received Sender Disconnected event: ' + event.senderId); + if (_this.manager.getSenders().length == 0 && + event.reason == GoogleCastReceiver.Cast.receiver.system.DisconnectReason.REQUESTED_BY_SENDER) { + window.close(); } - TfsQueryCountConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getQueries(); }); - }; - TfsQueryCountConfigController.prototype.getQueries = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; - var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; - this.$q.all([q1, q2]) - .then(function (result) { - var q = []; - angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); - angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); - _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); - }).catch(function (reason) { - console.error(reason); - _this.queries = []; - }); - }; - TfsQueryCountConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return TfsQueryCountConfigController; - }()); - TfsQueryCountConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; - TfsQueryCount.TfsQueryCountConfigController = TfsQueryCountConfigController; - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; + this.messageBus = + this.manager.getCastMessageBus(this.namespace, GoogleCastReceiver.Cast.receiver.CastMessageBus.MessageType.JSON); + this.messageBus.onMessage = function (event) { return _this.receiveMessage(event); }; + // Initialize the CastReceiverManager with an application status message. + this.manager.start({ statusText: 'Application is starting' }); + console.log('Receiver Manager started'); + }; + GoogleCastReceiver.prototype.receiveMessage = function (event) { + console.log('Message [' + event.senderId + ']: ' + event.data); + if (event.data && this.receiveOptions) + this.receiveOptions(event.data); + }; + return GoogleCastReceiver; + }()); + GoogleCastReceiver.Cast = null; + DashCI.GoogleCastReceiver = GoogleCastReceiver; })(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountController = (function () { - function TfsQueryCountController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsQueryCount; - this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); - } - TfsQueryCountController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsQueryCountController.prototype.init = function () { - this.data.title = this.data.title || "Query"; - this.data.color = this.data.color || "grey"; - //default values - this.data.queryId = this.data.queryId || ""; - this.data.poolInterval = this.data.poolInterval || 20000; - this.updateInterval(); - this.update(); - }; - TfsQueryCountController.prototype.sizeFont = function (altura) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(altura / 1.3) + "px"; - var lineSize = Math.round((altura) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(altura - 32); - img.width(size); - img.height(size); - }; - TfsQueryCountController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsQueryCount.TfsQueryCountConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-query-count/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); - }; - TfsQueryCountController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - }; - TfsQueryCountController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.queryId) - return; - var res = this.tfsResources(); - if (!res) - return; - console.log("tfs query: " + this.data.title); - res.run_query({ - project: this.data.project, - queryId: this.data.queryId - }).$promise.then(function (result) { - var newCount = result.workItems.length; - if (newCount != _this.queryCount) { - _this.queryCount = newCount; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.queryCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.queryCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; - } - console.log("end tfs query: " + _this.data.title); - }) - .catch(function (reason) { - _this.queryCount = null; - console.error(reason); - }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); - }; - return TfsQueryCountController; - }()); - TfsQueryCountController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsQueryCount.TfsQueryCountController = TfsQueryCountController; - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountDirective = (function () { - function TfsQueryCountDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-query-count/tfs-query-count.html"; - this.replace = false; - this.controller = TfsQueryCount.TfsQueryCountController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-query-count/tfs-query-count.css", - persist: true - }; - } - TfsQueryCountDirective.create = function () { - var directive = function () { return new TfsQueryCountDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsQueryCountDirective; - }()); - DashCI.app.directive("tfsQueryCount", TfsQueryCountDirective.create()); - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + var GoogleCastSender = (function () { + function GoogleCastSender() { + /** + * Call initialization for Cast + */ + var _this = this; + this.script = '//www.gstatic.com/cv/js/sender/v1/cast_sender.js'; + this.applicationID = 'E57E663D'; + this.namespace = 'urn:x-cast:almasistemas.dashci'; + this.session = null; + this.invalidOs = true; + var el = document.createElement('script'); + document.body.appendChild(el); + el.onload = function () { + setTimeout(function () { return _this.initializeCastApi(); }, 1000); + }; + el.type = "text/javascript"; + el.src = this.script; + } + /** + * initialization + */ + GoogleCastSender.prototype.initializeCastApi = function () { + var _this = this; + GoogleCastSender.Cast = window.chrome.cast; + var sessionRequest = new GoogleCastSender.Cast.SessionRequest(this.applicationID); + var apiConfig = new GoogleCastSender.Cast.ApiConfig(sessionRequest, function (e) { return _this.sessionListener(e); }, function (e) { return _this.receiverListener(e); }); + GoogleCastSender.Cast.initialize(apiConfig, function () { return _this.onInitSuccess(); }, function (m) { return _this.onError(m); }); + }; + /** + * initialization success callback + */ + GoogleCastSender.prototype.onInitSuccess = function () { + console.info('Cast onInitSuccess'); + this.invalidOs = false; + }; + /** + * initialization error callback + */ + GoogleCastSender.prototype.onError = function (message) { + console.error('Cast onError: ' + JSON.stringify(message)); + this.connected = false; + }; + /** + * generic success callback + */ + GoogleCastSender.prototype.onSuccess = function (message) { + console.info('Cast onSuccess: ' + message); + this.connected = true; + }; + /** + * callback on success for stopping app + */ + GoogleCastSender.prototype.onStopAppSuccess = function () { + console.info('Cast onStopAppSuccess'); + this.connected = false; + }; + /** + * session listener during initialization + */ + GoogleCastSender.prototype.sessionListener = function (e) { + var _this = this; + console.info('Cast New session ID:' + e.sessionId); + this.session = e; + this.session.addUpdateListener(function (isAlive) { return _this.sessionUpdateListener(isAlive); }); + this.session.addMessageListener(this.namespace, function (namespace, message) { return _this.receiverMessage(namespace, message); }); + }; + /** + * listener for session updates + */ + GoogleCastSender.prototype.sessionUpdateListener = function (isAlive) { + var message = isAlive ? 'Session Updated' : 'Session Removed'; + message += ': ' + this.session.sessionId; + console.debug(message); + if (!isAlive) { + this.session = null; + this.connected = false; + } + }; + /** + * utility private to log messages from the receiver + * @param {string} namespace The namespace of the message + * @param {string} message A message string + */ + GoogleCastSender.prototype.receiverMessage = function (namespace, message) { + console.debug('receiverMessage: ' + namespace + ', ' + message); + }; + /** + * receiver listener during initialization + */ + GoogleCastSender.prototype.receiverListener = function (e) { + if (e === 'available') { + console.info('receiver found'); + } + else { + console.info('receiver list empty'); + } + }; + /** + * stop app/session + */ + GoogleCastSender.prototype.stopApp = function () { + var _this = this; + if (this.session) + this.session.stop(function () { return _this.onStopAppSuccess(); }, function (message) { return _this.onError(message); }); + }; + /** + * send a message to the receiver using the custom namespace + * receiver CastMessageBus message handler will be invoked + * @param {string} message A message string + */ + GoogleCastSender.prototype.sendMessage = function (message) { + var _this = this; + if (this.session != null) { + this.session.sendMessage(this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); + } + else { + GoogleCastSender.Cast.requestSession(function (e) { + _this.session = e; + _this.sessionListener(e); + _this.session.sendMessage(_this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); + }, function (m) { return _this.onError(m); }); + } + }; + return GoogleCastSender; + }()); + GoogleCastSender.Cast = null; + DashCI.GoogleCastSender = GoogleCastSender; })(DashCI || (DashCI = {})); +/// "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartConfigController = (function () { - function TfsQueryChartConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.$q = $q; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); - } - TfsQueryChartConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { - _this.getTeams(); - _this.getQueries(); - }); - this.$scope.$watch(function () { return _this.vm.queryCount; }, function () { return _this.setQueryList(); }); + var Core; + (function (Core) { + var MainController = (function () { + function MainController($scope, $timeout, $q, $mdDialog, options) { + var _this = this; + this.$scope = $scope; + this.$timeout = $timeout; + this.$q = $q; + this.$mdDialog = $mdDialog; + this.options = options; + this.gridWidth = 800; + this.gridHeight = 600; + this.editable = false; + this.additionPossible = true; + this.gridOptions = { + showGrid: false, + highlightNextPosition: false }; - TfsQueryChartConfigController.prototype.getQueries = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; - var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; - this.$q.all([q1, q2]) - .then(function (result) { - var q = []; - angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); - angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); - _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); - }).catch(function (reason) { - console.error(reason); - _this.queries = []; - }); + this.updateGridSize = function () { + _this.$timeout(function () { + var grid = document.getElementById('grid'); + _this.gridWidth = grid.clientWidth; + _this.gridHeight = grid.clientHeight; + }, 500); }; - TfsQueryChartConfigController.prototype.getTeams = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.team_list({ project: this.vm.project }) - .$promise - .then(function (result) { - _this.teams = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.teams = []; - }); - ; - }; - TfsQueryChartConfigController.prototype.setQueryList = function () { - if (this.vm.queryIds.length < this.vm.queryCount) { - for (var i = 0; i < this.vm.queryCount; i++) { - this.vm.queryIds.push(""); - this.vm.queryColors.push(""); - } - } - else if (this.vm.queryIds.length > this.vm.queryCount) { - while (this.vm.queryIds.length > this.vm.queryCount) { - this.vm.queryIds.pop(); - this.vm.queryColors.pop(); - } - } - }; - TfsQueryChartConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); + this.defOptions = { + columns: 30, + rows: 20, + tfs: null, + gitlab: null, + github: [], + circleci: [], + pages: [{ + id: "1", + name: "Dash-CI", + widgets: [] + }] }; - return TfsQueryChartConfigController; - }()); - TfsQueryChartConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; - TfsQueryChart.TfsQueryChartConfigController = TfsQueryChartConfigController; - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartController = (function () { - function TfsQueryChartController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.total = null; - this.width = 50; - this.height = 50; - this.fontSize = 12; - this.lineSize = 12; - this.doughnutHoleSize = 0.5; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsQueryChart; - this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.resizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.resizeBy(width, _this.$scope.$element.height()); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); + this.isGoogleCast = this.CheckGoogleCast(); + this.castStatus = 'cast'; + this.canCast = false; + this.castSender = null; + this.castReceiver = null; + this.loadData(); + window.onresize = this.updateGridSize; + this.$scope.$on('wg-grid-full', function () { + _this.additionPossible = false; + }); + this.$scope.$on('wg-grid-space-available', function () { + _this.additionPossible = true; + }); + this.$scope.$on('wg-update-position', function (event, widgetInfo) { + console.log('A widget has changed its position!', widgetInfo); + }); + this.$scope.$on("dashci-refresh", function () { + _this.currentPage = null; + _this.selectedPageId = _this.options.pages[0].id; + _this.changePage(); + }); + this.$scope.$watch(function () { return _this.selectedPageId; }, function () { return _this.changePage(); }); + this.updateGridSize(); + this.initCastApi(); + } + MainController.prototype.changePage = function () { + var _this = this; + if (!this.currentPage || this.selectedPageId != this.currentPage.id) { + this.currentPage = null; + this.$timeout(function () { + _this.currentPage = _this.options.pages.filter(function (item) { return item.id == _this.selectedPageId; })[0]; + }, 500); } - TfsQueryChartController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsQueryChartController.prototype.init = function () { - this.data.title = this.data.title || "Chart"; - this.data.color = this.data.color || "grey"; - //default values - this.data.queryCount = this.data.queryCount || 2; - this.data.queryIds = this.data.queryIds || ["", ""]; - this.data.queryColors = this.data.queryColors || ["", ""]; - this.data.poolInterval = this.data.poolInterval || 20000; - this.updateInterval(); - this.update(); - }; - TfsQueryChartController.prototype.resizeBy = function (width, height) { - var _this = this; - this.width = width; - this.height = height - 40; - this.fontSize = Math.round(height / 1.3); - this.lineSize = Math.round((height) - 60); - var canvas = this.$scope.$element.find("canvas").get(0); - if (canvas) { - canvas.width = this.width; - canvas.height = this.height; - } - this.$timeout(function () { return _this.drawGraph(); }, 50); - }; - TfsQueryChartController.prototype.config = function () { - var _this = this; + }; + MainController.prototype.addWidgetDialog = function (ev) { + var _this = this; + if (this.additionPossible) { this.$mdDialog.show({ - controller: TfsQueryChart.TfsQueryChartConfigController, + controller: Core.AddWidgetController, controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-query-chart/config.html', + templateUrl: 'app/core/add-widget.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); - }; - TfsQueryChartController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - }; - TfsQueryChartController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.queryIds || this.data.queryIds.length == 0) - return; - var res = this.tfsResources(); - if (!res) - return; - var queries = []; - for (var q in this.data.queryIds) { - var query = this.data.queryIds[q]; - if (query) - queries.push(res.run_query({ - project: this.data.project, - team: this.data.team, - queryId: query - }).$promise); - } - if (queries.length == 0) - return; - console.log("tfs query: " + this.data.title); - this.$q.all(queries) - .then(function (res) { - var resValues = []; - _this.total = 0; - for (var i in res) { - resValues.push(res[i].workItems.length); - _this.total += res[i].workItems.length; - } - _this.queryValues = resValues; - _this.drawGraph(); }) - .catch(function (reason) { - _this.queryValues = null; - console.error(reason); - }); - this.$timeout(function () { return _this.resizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - }; - TfsQueryChartController.prototype.drawGraph = function () { - var data = []; - var labels = []; - var colors = []; - console.log("chart draw start: " + this.data.title); - var bgColor = this.data.color == 'transparent' || this.data.color == 'semi-transparent' ? "black" : - this.getStyleRuleValue("background-color", "." + this.data.color); - for (var i in this.queryValues) { - data.push(this.queryValues[i]); - labels.push(this.queryValues[i].toString()); - var color = this.getStyleRuleValue("background-color", "." + this.data.queryColors[i]); - colors.push(color); - } - //todo: draw segments at canvas. - var canvas = this.$scope.$element.find("canvas").get(0); - if (!canvas) - return; - var ctx = canvas.getContext("2d"); - ctx.clearRect(0, 0, canvas.width, canvas.height); - var total_value = this.total; - var color_index = 0; - var start_angle = 0; - for (var i in data) { - var val = data[i]; - var slice_angle = 2 * Math.PI * val / total_value; - this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), start_angle, start_angle + slice_angle, colors[i]); - start_angle += slice_angle; - color_index++; + .then(function (type) { return _this.createWidget(type); }); + } + }; + MainController.prototype.globalConfigDialog = function (ev) { + var _this = this; + this.$mdDialog.show({ + controller: Core.GlobalConfigController, + controllerAs: "ctrl", + templateUrl: 'app/core/global-config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.options); }, 1); + return deferred.promise; + } } - //drawing a white circle over the chart - //to create the doughnut chart - if (this.doughnutHoleSize) { - this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, this.doughnutHoleSize * Math.min(canvas.width / 2, canvas.height / 2), 0, 2 * Math.PI, bgColor); - } - start_angle = 0; - for (i in data) { - var val = data[i]; - slice_angle = 2 * Math.PI * val / total_value; - var pieRadius = Math.min(canvas.width / 2, canvas.height / 2); - var labelX = canvas.width / 2 + (pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); - var labelY = canvas.height / 2 + (pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); - if (this.doughnutHoleSize) { - var offset = (pieRadius * this.doughnutHoleSize) / 2; - labelX = canvas.width / 2 + (offset + pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); - labelY = canvas.height / 2 + (offset + pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); - } - var labelText = Math.round(100 * val / total_value); - if (labelText > 4) { - ctx.fillStyle = "white"; - ctx.font = "bold 20px Arial"; - ctx.fillText(labelText + "%", labelX, labelY); - start_angle += slice_angle; - } - } - console.log("chart draw complete: " + this.data.title); - }; - /* - private drawLine(ctx:CanvasRenderingContext2D, startX: number, startY: number, endX: number, endY: number) { - ctx.beginPath(); - ctx.moveTo(startX, startY); - ctx.lineTo(endX, endY); - ctx.stroke(); + }) + .then(function () { return _this.saveData(); }); + }; + MainController.prototype.removeWidget = function (widget) { + var idx = this.currentPage.widgets.indexOf(widget); + if (idx > -1) { + this.currentPage.widgets.splice(idx, 1); } - - private drawArc(ctx: CanvasRenderingContext2D, centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number) { - ctx.beginPath(); - ctx.arc(centerX, centerY, radius, startAngle, endAngle); - ctx.stroke(); + }; + MainController.prototype.toggleEditable = function () { + this.editable = !this.editable; + this.gridOptions.showGrid = this.editable; + this.saveData(); + }; + MainController.prototype.createWidget = function (type) { + this.currentPage.widgets.push({ + type: type, + position: { left: -1, top: -1, width: 6, height: 4 } + }); + this.saveData(); + }; + MainController.prototype.saveData = function () { + window.localStorage['dash-ci-options'] = angular.toJson(this.options); + }; + MainController.prototype.loadData = function () { + var defOptions = angular.copy(this.defOptions); + var savedOpts = (angular.fromJson(window.localStorage['dash-ci-options']) || defOptions); + angular.extend(this.options, defOptions, savedOpts); + angular.forEach(savedOpts.pages, function (item) { + item.name = item.name || "Dash-CI"; + }); + this.currentPage = this.options.pages[0]; //preparing to support multiple pages + }; + MainController.prototype.initCastApi = function () { + var _this = this; + if (!this.isGoogleCast) { + this.castSender = new DashCI.GoogleCastSender(); + this.$scope.$watch(function () { return _this.castSender.connected; }, function (connected) { + _this.castStatus = connected ? 'cast_connected' : 'cast'; + }); + this.$scope.$watch(function () { return _this.castSender.invalidOs; }, function (invalidOs) { + _this.canCast = !invalidOs; + }); } - */ - TfsQueryChartController.prototype.drawPieSlice = function (ctx, centerX, centerY, radius, startAngle, endAngle, color) { - if (color) - ctx.fillStyle = color; - ctx.beginPath(); - ctx.moveTo(centerX, centerY); - ctx.arc(centerX, centerY, radius, startAngle, endAngle); - ctx.closePath(); - //if (!color) { - // ctx.clip(); - // ctx.clearRect(centerX - radius - 1, centerY - radius - 1, - // radius * 2 + 2, radius * 2 + 2); - //} - ctx.fill(); - }; - TfsQueryChartController.prototype.getStyleRuleValue = function (style, selector, sheet) { - var sheets = typeof sheet !== 'undefined' ? [sheet] : document.styleSheets; - for (var i = 0, l = sheets.length; i < l; i++) { - var currentSheet = sheets[i]; - var rules = currentSheet.cssRules || currentSheet.rules; - if (!rules) { - continue; - } - for (var j = 0, k = rules.length; j < k; j++) { - var rule = rules[j]; - if (rule.selectorText && rule.selectorText.split(',').indexOf(selector) !== -1) { - return rule.style[style]; - } - } - } - return null; - }; - return TfsQueryChartController; - }()); - TfsQueryChartController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsQueryChart.TfsQueryChartController = TfsQueryChartController; - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartDirective = (function () { - function TfsQueryChartDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-query-chart/tfs-query-chart.html"; - this.replace = false; - this.controller = TfsQueryChart.TfsQueryChartController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-query-chart/tfs-query-chart.css", - persist: true + else { + this.castReceiver = new DashCI.GoogleCastReceiver(); + this.castReceiver.receiveOptions = function (options) { + var defOptions = angular.copy(_this.defOptions); + angular.extend(_this.options, defOptions, options); }; } - TfsQueryChartDirective.create = function () { - var directive = function () { return new TfsQueryChartDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsQueryChartDirective; - }()); - DashCI.app.directive("tfsQueryChart", TfsQueryChartDirective.create()); - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphDirective = (function () { - function TfsBuildGraphDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-build-graph/build-graph.html"; - this.replace = false; - this.controller = TfsBuildGraph.TfsBuildGraphController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-build-graph/build-graph.css", - persist: true - }; + }; + MainController.prototype.toggleCast = function () { + if (this.castStatus == 'cast') { + //connect + this.castSender.sendMessage(this.options); } - TfsBuildGraphDirective.create = function () { - var directive = function () { return new TfsBuildGraphDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsBuildGraphDirective; - }()); - DashCI.app.directive("tfsBuildGraph", TfsBuildGraphDirective.create()); - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphConfigController = (function () { - function TfsBuildGraphConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); + else { + //disconnect + this.castSender.stopApp(); } - TfsBuildGraphConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); - }; - TfsBuildGraphConfigController.prototype.getBuilds = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.build_definition_list({ project: this.vm.project }).$promise - .then(function (result) { - _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.builds = []; - }); - }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - TfsBuildGraphConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return TfsBuildGraphConfigController; - }()); - TfsBuildGraphConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsBuildGraph.TfsBuildGraphConfigController = TfsBuildGraphConfigController; - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; + MainController.prototype.CheckGoogleCast = function () { + return (navigator.userAgent.match(/CrKey/i) && + navigator.userAgent.match(/TV/i)); + }; + return MainController; + }()); + MainController.$inject = ["$scope", "$timeout", "$q", "$mdDialog", "globalOptions"]; + DashCI.app.controller("MainController", MainController); + })(Core = DashCI.Core || (DashCI.Core = {})); })(DashCI || (DashCI = {})); +/// "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphController = (function () { - function TfsBuildGraphController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsBuildGraph; - this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); - } - TfsBuildGraphController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsBuildGraphController.prototype.init = function () { - this.data.title = this.data.title || "Build Graph"; - this.data.color = this.data.color || "blue"; - //default values - this.data.poolInterval = this.data.poolInterval || 10000; - this.updateInterval(); - this.update(); - }; - TfsBuildGraphController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var histogram = this.$scope.$element.find(".histogram"); - histogram.height(height - 50); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); - }; - TfsBuildGraphController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsBuildGraph.TfsBuildGraphConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/Tfs-Build-graph/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); - }; - TfsBuildGraphController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - this.update(); - }; - TfsBuildGraphController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.build) - return; - var res = this.tfsResources(); - if (!res) - return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.recent_builds({ - project: this.data.project, - build: this.data.build, - count: 40 - }).$promise.then(function (result) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - var builds = result.value.reverse(); - var maxDuration = 1; - angular.forEach(builds, function (item) { - if (item.finishTime) { - var finishTime = moment(item.finishTime); - var startTime = moment(item.startTime); - item.duration = finishTime.diff(startTime, 'seconds'); - if (maxDuration < item.duration) - maxDuration = item.duration; - } - }); - var width = (100 / builds.length); - angular.forEach(builds, function (item, i) { - var height = Math.round((100 * item.duration) / maxDuration); - if (height < 1) - height = 1; - item.css = { - height: height.toString() + "%", - width: width.toFixed(2) + "%", - left: (width * i).toFixed(2) + "%" - }; - }); - _this.builds = builds; - _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); - }).catch(function (reason) { - _this.builds = []; - console.error(reason); - }); - }; - return TfsBuildGraphController; - }()); - TfsBuildGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsBuildGraph.TfsBuildGraphController = TfsBuildGraphController; - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + var Models; + (function (Models) { + DashCI.app.constant("colors", [ + { + code: "semi-transp", + desc: "Semi Transparent" + }, + { + code: "transparent", + desc: "Transparent" + }, + { + code: "red", + desc: "Red" + }, + { + code: "green", + desc: "Green" + }, + { + code: "deep-green", + desc: "Deep Green" + }, + { + code: "turkoise", + desc: "Turkoise" + }, + { + code: "purple", + desc: "Purple" + }, + { + code: "pink", + desc: "Pink" + }, + { + code: "blue", + desc: "Blue" + }, + { + code: "amber", + desc: "Amber" + }, + { + code: "orange", + desc: "Orange" + }, + { + code: "brown", + desc: "Brown" + }, + { + code: "grey", + desc: "Grey" + }, + ]); + DashCI.app.constant("intervals", [ + { + value: 10000, + desc: "10 secs" + }, + { + value: 20000, + desc: "20 secs" + }, + { + value: 30000, + desc: "30 secs" + }, + { + value: 60000, + desc: "1 min" + }, + { + value: 120000, + desc: "2 min" + }, + ]); + DashCI.app.constant("aligns", [ + { + code: "center", + desc: "Center" + }, + { + code: "left", + desc: "Left" + }, + { + code: "right", + desc: "Right" + }, + ]); + })(Models = DashCI.Models || (DashCI.Models = {})); })(DashCI || (DashCI = {})); "use strict"; +/// var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildConfigController = (function () { - function TfsBuildConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); - } - TfsBuildConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); - }; - TfsBuildConfigController.prototype.getBuilds = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.build_definition_list({ project: this.vm.project }).$promise - .then(function (result) { - _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.builds = []; + var Models; + (function (Models) { + DashCI.app.value("globalOptions", {}); + })(Models = DashCI.Models || (DashCI.Models = {})); +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Models; + (function (Models) { + var WidgetType; + (function (WidgetType) { + WidgetType[WidgetType["clock"] = 1] = "clock"; + WidgetType[WidgetType["gitlabPipeline"] = 2] = "gitlabPipeline"; + WidgetType[WidgetType["gitlabIssues"] = 3] = "gitlabIssues"; + WidgetType[WidgetType["tfsQueryCount"] = 4] = "tfsQueryCount"; + WidgetType[WidgetType["labelTitle"] = 5] = "labelTitle"; + WidgetType[WidgetType["tfsBuild"] = 6] = "tfsBuild"; + WidgetType[WidgetType["gitlabPipelineGraph"] = 7] = "gitlabPipelineGraph"; + WidgetType[WidgetType["tfsBuildGraph"] = 8] = "tfsBuildGraph"; + WidgetType[WidgetType["githubIssues"] = 9] = "githubIssues"; + WidgetType[WidgetType["tfsRelease"] = 10] = "tfsRelease"; + WidgetType[WidgetType["tfsQueryChart"] = 11] = "tfsQueryChart"; + })(WidgetType = Models.WidgetType || (Models.WidgetType = {})); + var WidgetCategory; + (function (WidgetCategory) { + WidgetCategory[WidgetCategory["generic"] = 1] = "generic"; + WidgetCategory[WidgetCategory["gitlab"] = 2] = "gitlab"; + WidgetCategory[WidgetCategory["tfs"] = 3] = "tfs"; + WidgetCategory[WidgetCategory["github"] = 4] = "github"; + WidgetCategory[WidgetCategory["circleci"] = 5] = "circleci"; + })(WidgetCategory = Models.WidgetCategory || (Models.WidgetCategory = {})); + DashCI.app.constant("widgetcategories", [ + { + value: WidgetCategory.generic, + desc: "Generic Widgets" + }, + { + value: WidgetCategory.gitlab, + desc: "Gitlab Widgets" + }, + { + value: WidgetCategory.tfs, + desc: "TFS/VSTS Widgets" + }, + { + value: WidgetCategory.github, + desc: "Github Widgets" + }, + ]); + DashCI.app.constant("widgets", [ + { + type: WidgetType.clock, + title: "Clock", + desc: "Current date and time.", + category: WidgetCategory.generic + }, + { + type: WidgetType.labelTitle, + directive: "label-title", + title: "Label", + desc: "Static label to create semantic areas", + category: WidgetCategory.generic + }, + { + type: WidgetType.githubIssues, + directive: "github-issues", + title: "GitHub - Issue Query", + desc: "The count of an issue query against a repository.", + category: WidgetCategory.github + }, + { + type: WidgetType.gitlabPipeline, + directive: "gitlab-pipeline", + title: "GitLab - Pipeline", + desc: "The (almost) real time pipeline status for a branch.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.gitlabPipelineGraph, + directive: "gitlab-pipeline-graph", + title: "GitLab - Pipeline Graph", + desc: "The pipeline graph for last N status for a branch.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.gitlabIssues, + directive: "gitlab-issues", + title: "GitLab - Issue Query", + desc: "The count of an issue query against a project.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.tfsBuild, + directive: "tfs-build", + title: "TFS - Build", + desc: "The (almost) real time build definition status for a project.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsBuildGraph, + directive: "tfs-build-graph", + title: "TFS - Build Graph", + desc: "The build graph for last N builds of a branch.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsRelease, + directive: "tfs-release", + title: "TFS - Release Status", + desc: "The release status for a release definition.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsQueryCount, + directive: "tfs-query-count", + title: "TFS - Query Count", + desc: "The count of a saved query against a project.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsQueryChart, + directive: "tfs-query-chart", + title: "TFS - Query Chart", + desc: "Shows the count of saved querys count at a chart.", + category: WidgetCategory.tfs + }, + ]); + })(Models = DashCI.Models || (DashCI.Models = {})); +})(DashCI || (DashCI = {})); +"use strict"; +"use strict"; +var DashCI; +(function (DashCI) { + var Resources; + (function (Resources) { + var Github; + (function (Github) { + DashCI.app.factory('githubResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function (username) { + if (!globalOptions || !globalOptions.github || globalOptions.github.length == 0) + return null; + var accounts = globalOptions.github.filter(function (item) { return item.username == username; }); + if (!accounts || accounts.length != 1) + return null; + var host = "https://api.github.com"; + var headers = { + "Authorization": null, + }; + if (accounts[0].privateToken) + headers.Authorization = "Basic " + btoa(accounts[0].username + ":" + accounts[0].privateToken); + else + delete headers.Authorization; + var transform = function (data, headers) { + var data = angular.fromJson(data); + if (data && typeof (data) === "object") + data.headers = headers(); + return data; + }; + var countParser = function (data, getHeaders, status) { + if (status == 200) { + data = angular.fromJson(data); + var headers = getHeaders(); + var parsedCount = parseInt(headers["X-Total"]); + if (isNaN(parsedCount)) { + parsedCount = 0; + //cannot access X-Total today, let's parse + var links = headers.link.split('>'); + angular.forEach(links, function (item) { + var matches = item.match(/&page=(\d*)/); + if (matches && matches.length > 1) { + var page = Number(matches[1]); + if (page > parsedCount) + parsedCount = page; + } + }); + } + var ret = { + count: parsedCount + }; + return ret; + } + else + return data; + }; + // Return the resource, include your custom actions + return $resource(host, {}, { + repository_list: { + method: 'GET', + isArray: true, + url: host + "/user/repos?sort=updated&direction=desc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + issue_count: { + method: 'GET', + isArray: false, + url: host + "/repos/:owner/:repository/issues?labels=:labels&state=:state&per_page=1", + headers: headers, + cache: false, + transformResponse: countParser + }, }); - }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - TfsBuildConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return TfsBuildConfigController; - }()); - TfsBuildConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsBuild.TfsBuildConfigController = TfsBuildConfigController; - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; }]); + })(Github = Resources.Github || (Resources.Github = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); })(DashCI || (DashCI = {})); "use strict"; +"use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildController = (function () { - function TfsBuildController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.icon = "help"; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsBuild; - this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - } - TfsBuildController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsBuildController.prototype.init = function () { - this.data.title = this.data.title || "Build"; - this.data.color = this.data.color || "green"; - //default values - this.data.poolInterval = this.data.poolInterval || 10000; - this.updateInterval(); - this.update(); - }; - TfsBuildController.prototype.sizeBy = function (width, height) { - this.hideDetails = (width < height * 1.7); - var icon = this.$scope.$element.find(".play-status md-icon"); - var fontSize = (Math.round(height / 1) - (this.hideDetails ? 50 : 0)) + "px"; - //var lineSize = Math.round((altura) - 60) + "px"; - icon.css('font-size', fontSize); - icon.parent().width(Math.round(height / 1)); - //p.css('line-height', lineSize); - var header = this.$scope.$element.find(".header"); - fontSize = Math.round(height / 1) + "px"; - header.css('text-indent', fontSize); - //var title = this.$scope.$element.find("h2"); - //fontSize = Math.round(height / 6) + "px"; - //title.css('font-size', fontSize); - var txt = this.$scope.$element.find("h4"); - fontSize = Math.round(height / 7) + "px"; - txt.css('font-size', fontSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(height - 32); - img.width(size); - img.height(size); - this.hideAvatar = width < 390; - }; - TfsBuildController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsBuild.TfsBuildConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-build/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); - }; - TfsBuildController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - }; - TfsBuildController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.build) - return; - var res = this.tfsResources(); - if (!res) - return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_build({ - project: this.data.project, - build: this.data.build - }).$promise.then(function (build) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - var new_build = null; - if (build.value.length >= 1) - new_build = build.value[0]; - _this.latest = new_build; - _this.latest.sourceBranch = _this.latest.sourceBranch.replace("refs/heads/", ""); //is it right? - if (_this.latest && _this.latest.status) { - switch (_this.latest.status) { - case "notStarted": - case "postponed": - case "none": - _this.icon = "pause_circle_filled"; - break; - case "inProgress": - _this.icon = "play_circle_filled"; - break; - case "cancelling": - case "stopped": - _this.icon = "remove_circle"; - break; - case "completed": - switch (_this.latest.result) { - case "partiallySucceeded": - case "succeeded": - _this.icon = "check"; - break; - case "failed": - _this.icon = "cancel"; - break; - case "canceled": - _this.icon = "remove_circle"; - break; - case "default": - _this.icon = "help"; - break; + var Resources; + (function (Resources) { + var Gitlab; + (function (Gitlab) { + DashCI.app.factory('gitlabResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function () { + if (!globalOptions || !globalOptions.gitlab || !globalOptions.gitlab.host) + return null; + var headers = { + "PRIVATE-TOKEN": null, + }; + if (globalOptions.gitlab.privateToken) + headers["PRIVATE-TOKEN"] = globalOptions.gitlab.privateToken; + else + delete headers["PRIVATE-TOKEN"]; + var transform = function (data, headers) { + var data = angular.fromJson(data); + if (data && typeof (data) === "object") + data.headers = headers(); + return data; + }; + var countParser = function (data, getHeaders, status) { + if (status == 200) { + data = angular.fromJson(data); + var headers = getHeaders(); + var parsedCount = parseInt(headers["X-Total"]); + if (isNaN(parsedCount)) { + parsedCount = 0; + //cannot access X-Total today, let's parse + var links = headers.link.split('>'); + angular.forEach(links, function (item) { + var matches = item.match(/page=(\d*)/); + if (matches && matches.length > 1) { + var page = Number(matches[1]); + if (page > parsedCount) + parsedCount = page; } - break; - case "default": - _this.icon = "help"; - break; + }); } + var ret = { + count: parsedCount + }; + return ret; } else - _this.icon = "help"; - //var p = this.$scope.$element.find("p"); - //p.addClass('changed'); - //this.$timeout(() => p.removeClass('changed'), 1000); - _this.resizeWidget(); - }).catch(function (reason) { - _this.latest = null; - console.error(reason); - _this.resizeWidget(); + return data; + }; + // Return the resource, include your custom actions + return $resource(globalOptions.gitlab.host, {}, { + project_list: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects?order_by=last_activity_at&sort=desc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + group_list: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/groups?all_available=true&order_by=name&sort=asc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + issue_count: { + method: 'GET', + isArray: false, + url: globalOptions.gitlab.host + "/api/v3/:scope/:scopeId/issues?labels=:labels&state=:state&per_page=1", + headers: headers, + cache: false, + transformResponse: countParser + }, + latest_pipeline: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?scope=branches&ref=:ref&per_page=100", + cache: false, + headers: headers + }, + recent_pipelines: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?ref=:ref&per_page=:count", + cache: false, + headers: headers + }, + commit_count: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/repository/commits?ref_name=:ref&since=:since&per_page=1", + cache: false, + transformResponse: countParser + } }); - }; - TfsBuildController.prototype.resizeWidget = function () { - var _this = this; - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - }; - return TfsBuildController; - }()); - TfsBuildController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsBuild.TfsBuildController = TfsBuildController; - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; }]); + })(Gitlab = Resources.Gitlab || (Resources.Gitlab = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); })(DashCI || (DashCI = {})); "use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildDirective = (function () { - function TfsBuildDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-build/build.html"; - this.replace = false; - this.controller = TfsBuild.TfsBuildController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-build/build.css", - persist: true - }; - } - TfsBuildDirective.create = function () { - var directive = function () { return new TfsBuildDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsBuildDirective; - }()); - DashCI.app.directive("tfsBuild", TfsBuildDirective.create()); - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var Label; - (function (Label) { - var LabelConfigController = (function () { - function LabelConfigController($mdDialog, colors, aligns, vm) { - this.$mdDialog = $mdDialog; - this.colors = colors; - this.aligns = aligns; - this.vm = vm; - this.init(); - } - LabelConfigController.prototype.init = function () { - }; - LabelConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return LabelConfigController; - }()); - LabelConfigController.$inject = ["$mdDialog", "colors", "aligns", "config"]; - Label.LabelConfigController = LabelConfigController; - })(Label = Widgets.Label || (Widgets.Label = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var Label; - (function (Label) { - var LabelController = (function () { - function LabelController($scope, $timeout, $mdDialog, $q) { - var _this = this; - this.$scope = $scope; - this.$timeout = $timeout; - this.$mdDialog = $mdDialog; - this.$q = $q; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.labelTitle; - this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.init(); - } - LabelController.prototype.init = function () { - this.data.title = this.data.title || "Label"; - this.data.color = this.data.color || "semi-transp"; - this.data.align = this.data.align || "center"; - }; - LabelController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: Label.LabelConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/label/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } + var Resources; + (function (Resources) { + var Tfs; + (function (Tfs) { + DashCI.app.factory('tfsResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function () { + if (!globalOptions || !globalOptions.tfs || !globalOptions.tfs.host) + return null; + var withCredentials = false; + var headers = { + "Authorization": null + }; + if (globalOptions.tfs.privateToken) { + var encodedString = "Basic " + btoa(":" + globalOptions.tfs.privateToken); + headers["Authorization"] = encodedString; + } + else { + delete headers.Authorization; + withCredentials = true; + } + var tfs_release_preview = globalOptions.tfs.host.replace(".visualstudio.com", ".vsrm.visualstudio.com"); + // Return the resource, include your custom actions + return $resource(globalOptions.tfs.host, {}, { + project_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/_apis/projects?api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + team_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/_apis/projects/:project/teams?api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + query_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/wit/queries/:folder?$depth=2&$expand=all&api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + run_query: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/:team/_apis/wit/wiql/:queryId?api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + latest_build: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=1&api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + recent_builds: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=:count&api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + build_definition_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/definitions?api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + release_definition_list: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/definitions?api-version=2.2-preview.1", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + release_definition: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/definitions/:release?api-version=2.2-preview.1", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + latest_release_environments: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&releaseCount=1&includeArtifact=false", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + recent_releases: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&$expand=environments&$top=25&queryOrder=descending", + headers: headers, + cache: false, + withCredentials: withCredentials + }, }); - //.then((ok) => this.createWidget(type)); - }; - LabelController.prototype.sizeFont = function (height) { - var div = this.$scope.$element.find("div"); - var fontSize = Math.round(height / 1.6) + "px"; - var lineSize = Math.round((height) - 8) + "px"; - div.css('font-size', fontSize); - div.css('line-height', lineSize); - }; - return LabelController; - }()); - LabelController.$inject = ["$scope", "$timeout", "$mdDialog", "$q"]; - Label.LabelController = LabelController; - })(Label = Widgets.Label || (Widgets.Label = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; }]); + })(Tfs = Resources.Tfs || (Resources.Tfs = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); })(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Label; - (function (Label) { - var LabelDirective = (function () { - function LabelDirective() { + var Clock; + (function (Clock) { + var ClockDirective = (function () { + function ClockDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/label/label.html"; + this.templateUrl = "app/widgets/clock/clock.html"; this.replace = false; - this.controller = Label.LabelController; + this.controller = Clock.ClockController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/label/label.css", + href: "app/widgets/clock/clock.css", persist: true }; } - LabelDirective.create = function () { - var directive = function () { return new LabelDirective(); }; + ClockDirective.create = function () { + var directive = function () { return new ClockDirective(); }; directive.$inject = []; return directive; }; - return LabelDirective; + return ClockDirective; }()); - DashCI.app.directive("labelTitle", LabelDirective.create()); - })(Label = Widgets.Label || (Widgets.Label = {})); + DashCI.app.directive("clock", ClockDirective.create()); + })(Clock = Widgets.Clock || (Widgets.Clock = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1729,42 +1118,67 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphConfigController = (function () { - function GitlabPipelineGraphConfigController($mdDialog, gitlabResources, colors, intervals, vm) { - this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; + var Clock; + (function (Clock) { + var ClockController = (function () { + function ClockController($scope, $interval) { + var _this = this; + this.$scope = $scope; + this.$interval = $interval; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.clock; + this.data.footer = false; + this.data.header = true; + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.fontSize(height); }); this.init(); } - GitlabPipelineGraphConfigController.prototype.init = function () { + ClockController.prototype.init = function () { var _this = this; - var res = this.gitlabResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); + this.data.title = this.$scope.data.title || "Clock"; + this.data.color = this.$scope.data.color || "green"; + this.handle = this.$interval(function () { return _this.setClock(); }, 1000); }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - GitlabPipelineGraphConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); + ClockController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); }; - return GitlabPipelineGraphConfigController; + ClockController.prototype.fontSize = function (height) { + var fontSizeTime = Math.round(height / 3.8) + "px"; + var lineTime = Math.round((height / 2) - 20) + "px"; + var fontSizeDate = Math.round(height / 5.9) + "px"; + var lineDate = Math.round((height / 2) - 30) + "px"; + var date = this.$scope.$element.find(".date"); + var time = this.$scope.$element.find(".time"); + date.css('font-size', fontSizeDate); + date.css('line-height', lineDate); + time.css('font-size', fontSizeTime); + time.css('line-height', lineTime); + }; + ClockController.prototype._formatDoubleDigit = function (digit) { + return ('0' + digit).slice(-2); + }; + ClockController.prototype.setClock = function () { + var now = new Date(); + var locale = 'pt-br'; + var status = { + year: now.getFullYear(), + month: (/[a-z]+/gi.exec(now.toLocaleString(locale, { month: "short" })))[0].substring(0, 3), + day: now.getDate(), + hours: this._formatDoubleDigit(now.getHours()), + minutes: this._formatDoubleDigit(now.getMinutes()), + seconds: this._formatDoubleDigit(now.getSeconds()) + }; + this.date = status.day + ' ' + status.month + ' ' + status.year; + this.time = status.hours + ':' + status.minutes + ':' + status.seconds; + }; + return ClockController; }()); - GitlabPipelineGraphConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabPipelineGraph.GitlabPipelineGraphConfigController = GitlabPipelineGraphConfigController; - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + ClockController.$inject = ["$scope", "$interval"]; + Clock.ClockController = ClockController; + })(Clock = Widgets.Clock || (Widgets.Clock = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1772,57 +1186,108 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphController = (function () { - function GitlabPipelineGraphController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesConfigController = (function () { + function GithubIssuesConfigController($mdDialog, $scope, globalOptions, githubResources, colors, intervals, vm) { + var _this = this; + this.$mdDialog = $mdDialog; + this.$scope = $scope; + this.globalOptions = globalOptions; + this.githubResources = githubResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.$scope.$watch(function () { return _this.vm.username; }, function () { return _this.listRepositories(); }); + this.init(); + } + GithubIssuesConfigController.prototype.init = function () { + var _this = this; + this.users = []; + angular.forEach(this.globalOptions.github, function (item) { return _this.users.push(item.username); }); + }; + GithubIssuesConfigController.prototype.listRepositories = function () { + var _this = this; + this.repositories = []; + var res = this.githubResources(this.vm.username); + if (!res) + return; + res.repository_list().$promise + .then(function (result) { + _this.repositories = mx(result).orderBy(function (x) { return x.full_name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + }); + }; + //public cancel() { + // this.$mdDialog.cancel(); + //} + GithubIssuesConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return GithubIssuesConfigController; + }()); + GithubIssuesConfigController.$inject = ["$mdDialog", "$scope", "globalOptions", "githubResources", "colors", "intervals", "config"]; + GithubIssues.GithubIssuesConfigController = GithubIssuesConfigController; + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesController = (function () { + function GithubIssuesController($scope, $q, $timeout, $interval, $mdDialog, githubResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; + this.githubResources = githubResources; + this.issueCount = null; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabPipelineGraph; + this.data.type = DashCI.Models.WidgetType.githubIssues; this.data.footer = false; this.data.header = true; this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); } - GitlabPipelineGraphController.prototype.finalize = function () { + GithubIssuesController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GitlabPipelineGraphController.prototype.init = function () { - this.data.title = this.data.title || "Pipeline Graph"; - this.data.color = this.data.color || "blue"; + GithubIssuesController.prototype.init = function () { + this.data.title = this.data.title || "Issues"; + this.data.color = this.data.color || "grey"; //default values - this.data.ref = this.data.ref || "master"; + this.data.labels = this.data.labels || "bug"; + this.data.status = this.data.status || "open"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GitlabPipelineGraphController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var histogram = this.$scope.$element.find(".histogram"); - histogram.height(height - 50); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); + GithubIssuesController.prototype.sizeFont = function (height) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(height / 1.3) + "px"; + var lineSize = Math.round((height) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); }; - GitlabPipelineGraphController.prototype.config = function () { + GithubIssuesController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabPipelineGraph.GitlabPipelineGraphConfigController, + controller: GithubIssues.GithubIssuesConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-pipeline-graph/config.html', + templateUrl: 'app/widgets/github-issues/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -1837,56 +1302,53 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabPipelineGraphController.prototype.updateInterval = function () { + GithubIssuesController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - GitlabPipelineGraphController.prototype.update = function () { + GithubIssuesController.prototype.update = function () { var _this = this; - if (!this.data.project) + if (!this.data.repository && !this.data.username) return; - var res = this.gitlabResources(); + var res = this.githubResources(this.data.username); if (!res) return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.recent_pipelines({ - project: this.data.project, - ref: this.data.ref, - count: 60 //since we don't have a filter by ref, lets take more and then filter crossing fingers - }).$promise.then(function (pipelines) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - pipelines = pipelines.filter(function (item) { return DashCI.wildcardMatch(_this.data.ref, item.ref); }).slice(0, _this.data.count).reverse(); - var maxDuration = 1; - angular.forEach(pipelines, function (item) { - if (maxDuration < item.duration) - maxDuration = item.duration; - }); - var width = (100 / pipelines.length); - angular.forEach(pipelines, function (item, i) { - var height = Math.round((100 * item.duration) / maxDuration); - if (height < 1) - height = 1; - item.css = { - height: height.toString() + "%", - width: width.toFixed(2) + "%", - left: (width * i).toFixed(2) + "%" - }; - }); - _this.pipelines = pipelines; - _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); - }).catch(function (reason) { - _this.pipelines = null; + res.issue_count({ + owner: this.data.repository.split('/')[0], + repository: this.data.repository.split('/')[1], + labels: this.data.labels, + state: this.data.status + }).$promise.then(function (newCount) { + //var newCount = Math.round(Math.random() * 100); + if (newCount.count != _this.issueCount) { + _this.issueCount = newCount.count; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); + } + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.issueCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; + } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.issueCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; + } + }) + .catch(function (reason) { + _this.issueCount = null; console.error(reason); }); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - return GitlabPipelineGraphController; + return GithubIssuesController; }()); - GitlabPipelineGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabPipelineGraph.GitlabPipelineGraphController = GitlabPipelineGraphController; - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + GithubIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "githubResources"]; + GithubIssues.GithubIssuesController = GithubIssuesController; + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1894,30 +1356,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphDirective = (function () { - function GitlabPipelineGraphDirective() { + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesDirective = (function () { + function GithubIssuesDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-pipeline-graph/pipeline-graph.html"; + this.templateUrl = "app/widgets/github-issues/issues.html"; this.replace = false; - this.controller = GitlabPipelineGraph.GitlabPipelineGraphController; + this.controller = GithubIssues.GithubIssuesController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/gitlab-pipeline-graph/pipeline-graph.css", + href: "app/widgets/github-issues/issues.css", persist: true }; } - GitlabPipelineGraphDirective.create = function () { - var directive = function () { return new GitlabPipelineGraphDirective(); }; + GithubIssuesDirective.create = function () { + var directive = function () { return new GithubIssuesDirective(); }; directive.$inject = []; return directive; }; - return GitlabPipelineGraphDirective; + return GithubIssuesDirective; }()); - DashCI.app.directive("gitlabPipelineGraph", GitlabPipelineGraphDirective.create()); - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + DashCI.app.directive("githubIssues", GithubIssuesDirective.create()); + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1925,10 +1387,10 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineConfigController = (function () { - function GitlabPipelineConfigController($mdDialog, gitlabResources, colors, intervals, vm) { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesConfigController = (function () { + function GitlabIssuesConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; this.gitlabResources = gitlabResources; this.colors = colors; @@ -1936,7 +1398,7 @@ var DashCI; this.vm = vm; this.init(); } - GitlabPipelineConfigController.prototype.init = function () { + GitlabIssuesConfigController.prototype.init = function () { var _this = this; var res = this.gitlabResources(); if (!res) @@ -1949,18 +1411,26 @@ var DashCI; console.error(reason); _this.projects = []; }); + res.group_list().$promise + .then(function (result) { + _this.groups = result; + }) + .catch(function (reason) { + console.error(reason); + _this.groups = []; + }); }; //public cancel() { // this.$mdDialog.cancel(); //} - GitlabPipelineConfigController.prototype.ok = function () { + GitlabIssuesConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GitlabPipelineConfigController; + return GitlabIssuesConfigController; }()); - GitlabPipelineConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabPipeline.GitlabPipelineConfigController = GitlabPipelineConfigController; - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + GitlabIssuesConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabIssues.GitlabIssuesConfigController = GitlabIssuesConfigController; + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1968,10 +1438,10 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineController = (function () { - function GitlabPipelineController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesController = (function () { + function GitlabIssuesController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; this.$q = $q; @@ -1979,61 +1449,44 @@ var DashCI; this.$interval = $interval; this.$mdDialog = $mdDialog; this.gitlabResources = gitlabResources; - this.icon = "help"; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabPipeline; + this.data.type = DashCI.Models.WidgetType.gitlabIssues; this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); } - GitlabPipelineController.prototype.finalize = function () { + GitlabIssuesController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GitlabPipelineController.prototype.init = function () { - this.data.title = this.data.title || "Pipeline"; - this.data.color = this.data.color || "green"; + GitlabIssuesController.prototype.init = function () { + this.data.title = this.data.title || "Issues"; + this.data.color = this.data.color || "grey"; //default values - this.data.refs = this.data.refs || "master"; + this.data.labels = this.data.labels || "bug"; + this.data.status = this.data.status || "opened"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GitlabPipelineController.prototype.sizeBy = function (width, height) { - this.hideDetails = (width < height * 1.7); - var icon = this.$scope.$element.find(".play-status md-icon"); - var fontSize = (Math.round(height / 1) - (this.hideDetails ? 30 : 0)) + "px"; - //var lineSize = Math.round((altura) - 60) + "px"; - icon.css('font-size', fontSize); - icon.parent().width(Math.round(height / 1)); - //p.css('line-height', lineSize); - var header = this.$scope.$element.find(".header"); - fontSize = Math.round(height / 1) + "px"; - header.css('text-indent', fontSize); - //var title = this.$scope.$element.find("h2"); - //fontSize = Math.round(altura / 6) + "px"; - //title.css('font-size', fontSize); - var txt = this.$scope.$element.find("h4"); - fontSize = Math.round(height / 7) + "px"; - txt.css('font-size', fontSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(height - 32); - img.width(size); - img.height(size); - this.hideAvatar = width < 390; + GitlabIssuesController.prototype.sizeFont = function (height) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(height / 1.3) + "px"; + var lineSize = Math.round((height) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); }; - GitlabPipelineController.prototype.config = function () { + GitlabIssuesController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabPipeline.GitlabPipelineConfigController, + controller: GitlabIssues.GitlabIssuesConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-pipeline/config.html', + templateUrl: 'app/widgets/gitlab-issues/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2048,75 +1501,53 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabPipelineController.prototype.updateInterval = function () { + GitlabIssuesController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - GitlabPipelineController.prototype.update = function () { + GitlabIssuesController.prototype.update = function () { var _this = this; - if (!this.data.project) + if (!this.data.project && !this.data.group) return; var res = this.gitlabResources(); if (!res) return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_pipeline({ - project: this.data.project, - ref: this.data.refs - }).$promise.then(function (pipelines) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - var new_pipeline = null; - var refList = _this.data.refs.split(","); - pipelines = pipelines.filter(function (i) { return refList.filter(function (r) { return DashCI.wildcardMatch(r, i.ref); }).length > 0; }); - if (pipelines.length >= 1) - new_pipeline = pipelines[0]; - _this.latest = new_pipeline; - if (_this.latest && _this.latest.status) { - switch (_this.latest.status) { - case "pending": - _this.icon = "pause_circle_filled"; - break; - case "running": - _this.icon = "play_circle_filled"; - break; - case "canceled": - _this.icon = "remove_circle"; - break; - case "success": - _this.icon = "check"; - break; - case "failed": - _this.icon = "cancel"; - break; - case "default": - _this.icon = "help"; - break; - } + res.issue_count({ + scope: this.data.query_type, + scopeId: this.data.query_type == 'projects' ? this.data.project : this.data.group, + labels: this.data.labels, + state: this.data.status + }).$promise.then(function (newCount) { + //var newCount = Math.round(Math.random() * 100); + if (newCount.count != _this.issueCount) { + _this.issueCount = newCount.count; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); } - else - _this.icon = "help"; - //var p = this.$scope.$element.find("p"); - //p.addClass('changed'); - //this.$timeout(() => p.removeClass('changed'), 1000); - _this.resizeWidget(); - }).catch(function (reason) { - _this.latest = null; + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.issueCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; + } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.issueCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; + } + }) + .catch(function (reason) { + _this.issueCount = null; console.error(reason); - _this.resizeWidget(); }); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - GitlabPipelineController.prototype.resizeWidget = function () { - var _this = this; - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - }; - return GitlabPipelineController; + return GitlabIssuesController; }()); - GitlabPipelineController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabPipeline.GitlabPipelineController = GitlabPipelineController; - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + GitlabIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabIssues.GitlabIssuesController = GitlabIssuesController; + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2124,30 +1555,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineDirective = (function () { - function GitlabPipelineDirective() { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesDirective = (function () { + function GitlabIssuesDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-pipeline/pipeline.html"; + this.templateUrl = "app/widgets/gitlab-issues/issues.html"; this.replace = false; - this.controller = GitlabPipeline.GitlabPipelineController; + this.controller = GitlabIssues.GitlabIssuesController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/gitlab-pipeline/pipeline.css", + href: "app/widgets/gitlab-issues/issues.css", persist: true }; } - GitlabPipelineDirective.create = function () { - var directive = function () { return new GitlabPipelineDirective(); }; + GitlabIssuesDirective.create = function () { + var directive = function () { return new GitlabIssuesDirective(); }; directive.$inject = []; return directive; }; - return GitlabPipelineDirective; + return GitlabIssuesDirective; }()); - DashCI.app.directive("gitlabPipeline", GitlabPipelineDirective.create()); - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + DashCI.app.directive("gitlabIssues", GitlabIssuesDirective.create()); + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2155,10 +1586,10 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesConfigController = (function () { - function GitlabIssuesConfigController($mdDialog, gitlabResources, colors, intervals, vm) { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphConfigController = (function () { + function GitlabPipelineGraphConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; this.gitlabResources = gitlabResources; this.colors = colors; @@ -2166,7 +1597,7 @@ var DashCI; this.vm = vm; this.init(); } - GitlabIssuesConfigController.prototype.init = function () { + GitlabPipelineGraphConfigController.prototype.init = function () { var _this = this; var res = this.gitlabResources(); if (!res) @@ -2179,26 +1610,18 @@ var DashCI; console.error(reason); _this.projects = []; }); - res.group_list().$promise - .then(function (result) { - _this.groups = result; - }) - .catch(function (reason) { - console.error(reason); - _this.groups = []; - }); }; //public cancel() { // this.$mdDialog.cancel(); //} - GitlabIssuesConfigController.prototype.ok = function () { + GitlabPipelineGraphConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GitlabIssuesConfigController; + return GitlabPipelineGraphConfigController; }()); - GitlabIssuesConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabIssues.GitlabIssuesConfigController = GitlabIssuesConfigController; - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); + GitlabPipelineGraphConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabPipelineGraph.GitlabPipelineGraphConfigController = GitlabPipelineGraphConfigController; + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2206,10 +1629,10 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesController = (function () { - function GitlabIssuesController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphController = (function () { + function GitlabPipelineGraphController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; this.$q = $q; @@ -2219,42 +1642,44 @@ var DashCI; this.gitlabResources = gitlabResources; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabIssues; + this.data.type = DashCI.Models.WidgetType.gitlabPipelineGraph; this.data.footer = false; this.data.header = true; this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); } - GitlabIssuesController.prototype.finalize = function () { + GitlabPipelineGraphController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GitlabIssuesController.prototype.init = function () { - this.data.title = this.data.title || "Issues"; - this.data.color = this.data.color || "grey"; + GitlabPipelineGraphController.prototype.init = function () { + this.data.title = this.data.title || "Pipeline Graph"; + this.data.color = this.data.color || "blue"; //default values - this.data.labels = this.data.labels || "bug"; - this.data.status = this.data.status || "opened"; + this.data.ref = this.data.ref || "master"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GitlabIssuesController.prototype.sizeFont = function (height) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(height / 1.3) + "px"; - var lineSize = Math.round((height) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); + GitlabPipelineGraphController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var histogram = this.$scope.$element.find(".histogram"); + histogram.height(height - 50); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); }; - GitlabIssuesController.prototype.config = function () { + GitlabPipelineGraphController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabIssues.GitlabIssuesConfigController, + controller: GitlabPipelineGraph.GitlabPipelineGraphConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-issues/config.html', + templateUrl: 'app/widgets/gitlab-pipeline-graph/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2269,53 +1694,56 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabIssuesController.prototype.updateInterval = function () { + GitlabPipelineGraphController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - GitlabIssuesController.prototype.update = function () { + GitlabPipelineGraphController.prototype.update = function () { var _this = this; - if (!this.data.project && !this.data.group) + if (!this.data.project) return; var res = this.gitlabResources(); if (!res) return; - res.issue_count({ - scope: this.data.query_type, - scopeId: this.data.query_type == 'projects' ? this.data.project : this.data.group, - labels: this.data.labels, - state: this.data.status - }).$promise.then(function (newCount) { - //var newCount = Math.round(Math.random() * 100); - if (newCount.count != _this.issueCount) { - _this.issueCount = newCount.count; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.issueCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.issueCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; - } - }) - .catch(function (reason) { - _this.issueCount = null; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.recent_pipelines({ + project: this.data.project, + ref: this.data.ref, + count: 60 //since we don't have a filter by ref, lets take more and then filter crossing fingers + }).$promise.then(function (pipelines) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + pipelines = pipelines.filter(function (item) { return DashCI.wildcardMatch(_this.data.ref, item.ref); }).slice(0, _this.data.count).reverse(); + var maxDuration = 1; + angular.forEach(pipelines, function (item) { + if (maxDuration < item.duration) + maxDuration = item.duration; + }); + var width = (100 / pipelines.length); + angular.forEach(pipelines, function (item, i) { + var height = Math.round((100 * item.duration) / maxDuration); + if (height < 1) + height = 1; + item.css = { + height: height.toString() + "%", + width: width.toFixed(2) + "%", + left: (width * i).toFixed(2) + "%" + }; + }); + _this.pipelines = pipelines; + _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + }).catch(function (reason) { + _this.pipelines = null; console.error(reason); }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - return GitlabIssuesController; + return GitlabPipelineGraphController; }()); - GitlabIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabIssues.GitlabIssuesController = GitlabIssuesController; - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); + GitlabPipelineGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabPipelineGraph.GitlabPipelineGraphController = GitlabPipelineGraphController; + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2323,30 +1751,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesDirective = (function () { - function GitlabIssuesDirective() { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphDirective = (function () { + function GitlabPipelineGraphDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-issues/issues.html"; + this.templateUrl = "app/widgets/gitlab-pipeline-graph/pipeline-graph.html"; this.replace = false; - this.controller = GitlabIssues.GitlabIssuesController; + this.controller = GitlabPipelineGraph.GitlabPipelineGraphController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/gitlab-issues/issues.css", + href: "app/widgets/gitlab-pipeline-graph/pipeline-graph.css", persist: true }; } - GitlabIssuesDirective.create = function () { - var directive = function () { return new GitlabIssuesDirective(); }; + GitlabPipelineGraphDirective.create = function () { + var directive = function () { return new GitlabPipelineGraphDirective(); }; directive.$inject = []; return directive; }; - return GitlabIssuesDirective; + return GitlabPipelineGraphDirective; }()); - DashCI.app.directive("gitlabIssues", GitlabIssuesDirective.create()); - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); + DashCI.app.directive("gitlabPipelineGraph", GitlabPipelineGraphDirective.create()); + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2354,51 +1782,42 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesConfigController = (function () { - function GithubIssuesConfigController($mdDialog, $scope, globalOptions, githubResources, colors, intervals, vm) { - var _this = this; + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineConfigController = (function () { + function GitlabPipelineConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; - this.$scope = $scope; - this.globalOptions = globalOptions; - this.githubResources = githubResources; + this.gitlabResources = gitlabResources; this.colors = colors; this.intervals = intervals; this.vm = vm; - this.$scope.$watch(function () { return _this.vm.username; }, function () { return _this.listRepositories(); }); this.init(); } - GithubIssuesConfigController.prototype.init = function () { - var _this = this; - this.users = []; - angular.forEach(this.globalOptions.github, function (item) { return _this.users.push(item.username); }); - }; - GithubIssuesConfigController.prototype.listRepositories = function () { + GitlabPipelineConfigController.prototype.init = function () { var _this = this; - this.repositories = []; - var res = this.githubResources(this.vm.username); + var res = this.gitlabResources(); if (!res) return; - res.repository_list().$promise + res.project_list().$promise .then(function (result) { - _this.repositories = mx(result).orderBy(function (x) { return x.full_name; }).toArray(); + _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); }) .catch(function (reason) { console.error(reason); + _this.projects = []; }); }; //public cancel() { // this.$mdDialog.cancel(); //} - GithubIssuesConfigController.prototype.ok = function () { + GitlabPipelineConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GithubIssuesConfigController; + return GitlabPipelineConfigController; }()); - GithubIssuesConfigController.$inject = ["$mdDialog", "$scope", "globalOptions", "githubResources", "colors", "intervals", "config"]; - GithubIssues.GithubIssuesConfigController = GithubIssuesConfigController; - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + GitlabPipelineConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabPipeline.GitlabPipelineConfigController = GitlabPipelineConfigController; + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2406,56 +1825,72 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesController = (function () { - function GithubIssuesController($scope, $q, $timeout, $interval, $mdDialog, githubResources) { + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineController = (function () { + function GitlabPipelineController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.githubResources = githubResources; - this.issueCount = null; + this.gitlabResources = gitlabResources; + this.icon = "help"; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.githubIssues; + this.data.type = DashCI.Models.WidgetType.gitlabPipeline; this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); } - GithubIssuesController.prototype.finalize = function () { + GitlabPipelineController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GithubIssuesController.prototype.init = function () { - this.data.title = this.data.title || "Issues"; - this.data.color = this.data.color || "grey"; + GitlabPipelineController.prototype.init = function () { + this.data.title = this.data.title || "Pipeline"; + this.data.color = this.data.color || "green"; //default values - this.data.labels = this.data.labels || "bug"; - this.data.status = this.data.status || "open"; + this.data.refs = this.data.refs || "master"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GithubIssuesController.prototype.sizeFont = function (height) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(height / 1.3) + "px"; - var lineSize = Math.round((height) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); + GitlabPipelineController.prototype.sizeBy = function (width, height) { + this.hideDetails = (width < height * 1.7); + var icon = this.$scope.$element.find(".play-status md-icon"); + var fontSize = (Math.round(height / 1) - (this.hideDetails ? 30 : 0)) + "px"; + //var lineSize = Math.round((altura) - 60) + "px"; + icon.css('font-size', fontSize); + icon.parent().width(Math.round(height / 1)); + //p.css('line-height', lineSize); + var header = this.$scope.$element.find(".header"); + fontSize = Math.round(height / 1) + "px"; + header.css('text-indent', fontSize); + //var title = this.$scope.$element.find("h2"); + //fontSize = Math.round(altura / 6) + "px"; + //title.css('font-size', fontSize); + var txt = this.$scope.$element.find("h4"); + fontSize = Math.round(height / 7) + "px"; + txt.css('font-size', fontSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(height - 32); + img.width(size); + img.height(size); + this.hideAvatar = width < 390; }; - GithubIssuesController.prototype.config = function () { + GitlabPipelineController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GithubIssues.GithubIssuesConfigController, + controller: GitlabPipeline.GitlabPipelineConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/github-issues/config.html', + templateUrl: 'app/widgets/gitlab-pipeline/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2470,53 +1905,75 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GithubIssuesController.prototype.updateInterval = function () { + GitlabPipelineController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - GithubIssuesController.prototype.update = function () { + GitlabPipelineController.prototype.update = function () { var _this = this; - if (!this.data.repository && !this.data.username) + if (!this.data.project) return; - var res = this.githubResources(this.data.username); + var res = this.gitlabResources(); if (!res) return; - res.issue_count({ - owner: this.data.repository.split('/')[0], - repository: this.data.repository.split('/')[1], - labels: this.data.labels, - state: this.data.status - }).$promise.then(function (newCount) { - //var newCount = Math.round(Math.random() * 100); - if (newCount.count != _this.issueCount) { - _this.issueCount = newCount.count; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.issueCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.issueCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.latest_pipeline({ + project: this.data.project, + ref: this.data.refs + }).$promise.then(function (pipelines) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + var new_pipeline = null; + var refList = _this.data.refs.split(","); + pipelines = pipelines.filter(function (i) { return refList.filter(function (r) { return DashCI.wildcardMatch(r, i.ref); }).length > 0; }); + if (pipelines.length >= 1) + new_pipeline = pipelines[0]; + _this.latest = new_pipeline; + if (_this.latest && _this.latest.status) { + switch (_this.latest.status) { + case "pending": + _this.icon = "pause_circle_filled"; + break; + case "running": + _this.icon = "play_circle_filled"; + break; + case "canceled": + _this.icon = "remove_circle"; + break; + case "success": + _this.icon = "check"; + break; + case "failed": + _this.icon = "cancel"; + break; + case "default": + _this.icon = "help"; + break; + } } - }) - .catch(function (reason) { - _this.issueCount = null; + else + _this.icon = "help"; + //var p = this.$scope.$element.find("p"); + //p.addClass('changed'); + //this.$timeout(() => p.removeClass('changed'), 1000); + _this.resizeWidget(); + }).catch(function (reason) { + _this.latest = null; console.error(reason); + _this.resizeWidget(); }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - return GithubIssuesController; - }()); - GithubIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "githubResources"]; - GithubIssues.GithubIssuesController = GithubIssuesController; - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + GitlabPipelineController.prototype.resizeWidget = function () { + var _this = this; + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + }; + return GitlabPipelineController; + }()); + GitlabPipelineController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabPipeline.GitlabPipelineController = GitlabPipelineController; + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2524,30 +1981,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesDirective = (function () { - function GithubIssuesDirective() { + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineDirective = (function () { + function GitlabPipelineDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/github-issues/issues.html"; + this.templateUrl = "app/widgets/gitlab-pipeline/pipeline.html"; this.replace = false; - this.controller = GithubIssues.GithubIssuesController; + this.controller = GitlabPipeline.GitlabPipelineController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/github-issues/issues.css", + href: "app/widgets/gitlab-pipeline/pipeline.css", persist: true }; } - GithubIssuesDirective.create = function () { - var directive = function () { return new GithubIssuesDirective(); }; + GitlabPipelineDirective.create = function () { + var directive = function () { return new GitlabPipelineDirective(); }; directive.$inject = []; return directive; }; - return GithubIssuesDirective; + return GitlabPipelineDirective; }()); - DashCI.app.directive("githubIssues", GithubIssuesDirective.create()); - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + DashCI.app.directive("gitlabPipeline", GitlabPipelineDirective.create()); + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2555,30 +2012,26 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Clock; - (function (Clock) { - var ClockDirective = (function () { - function ClockDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/clock/clock.html"; - this.replace = false; - this.controller = Clock.ClockController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/clock/clock.css", - persist: true - }; + var Label; + (function (Label) { + var LabelConfigController = (function () { + function LabelConfigController($mdDialog, colors, aligns, vm) { + this.$mdDialog = $mdDialog; + this.colors = colors; + this.aligns = aligns; + this.vm = vm; + this.init(); } - ClockDirective.create = function () { - var directive = function () { return new ClockDirective(); }; - directive.$inject = []; - return directive; + LabelConfigController.prototype.init = function () { }; - return ClockDirective; + LabelConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return LabelConfigController; }()); - DashCI.app.directive("clock", ClockDirective.create()); - })(Clock = Widgets.Clock || (Widgets.Clock = {})); + LabelConfigController.$inject = ["$mdDialog", "colors", "aligns", "config"]; + Label.LabelConfigController = LabelConfigController; + })(Label = Widgets.Label || (Widgets.Label = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2586,958 +2039,1505 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Clock; - (function (Clock) { - var ClockController = (function () { - function ClockController($scope, $interval) { + var Label; + (function (Label) { + var LabelController = (function () { + function LabelController($scope, $timeout, $mdDialog, $q) { var _this = this; this.$scope = $scope; - this.$interval = $interval; + this.$timeout = $timeout; + this.$mdDialog = $mdDialog; + this.$q = $q; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.clock; + this.data.type = DashCI.Models.WidgetType.labelTitle; this.data.footer = false; - this.data.header = true; - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.fontSize(height); }); + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.init(); } - ClockController.prototype.init = function () { - var _this = this; - this.data.title = this.$scope.data.title || "Clock"; - this.data.color = this.$scope.data.color || "green"; - this.handle = this.$interval(function () { return _this.setClock(); }, 1000); - }; - ClockController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); + LabelController.prototype.init = function () { + this.data.title = this.data.title || "Label"; + this.data.color = this.data.color || "semi-transp"; + this.data.align = this.data.align || "center"; }; - ClockController.prototype.fontSize = function (height) { - var fontSizeTime = Math.round(height / 3.8) + "px"; - var lineTime = Math.round((height / 2) - 20) + "px"; - var fontSizeDate = Math.round(height / 5.9) + "px"; - var lineDate = Math.round((height / 2) - 30) + "px"; - var date = this.$scope.$element.find(".date"); - var time = this.$scope.$element.find(".time"); - date.css('font-size', fontSizeDate); - date.css('line-height', lineDate); - time.css('font-size', fontSizeTime); - time.css('line-height', lineTime); + LabelController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: Label.LabelConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/label/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; + } + } + }); + //.then((ok) => this.createWidget(type)); }; - ClockController.prototype._formatDoubleDigit = function (digit) { - return ('0' + digit).slice(-2); + LabelController.prototype.sizeFont = function (height) { + var div = this.$scope.$element.find("div"); + var fontSize = Math.round(height / 1.6) + "px"; + var lineSize = Math.round((height) - 8) + "px"; + div.css('font-size', fontSize); + div.css('line-height', lineSize); }; - ClockController.prototype.setClock = function () { - var now = new Date(); - var locale = 'pt-br'; - var status = { - year: now.getFullYear(), - month: (/[a-z]+/gi.exec(now.toLocaleString(locale, { month: "short" })))[0].substring(0, 3), - day: now.getDate(), - hours: this._formatDoubleDigit(now.getHours()), - minutes: this._formatDoubleDigit(now.getMinutes()), - seconds: this._formatDoubleDigit(now.getSeconds()) + return LabelController; + }()); + LabelController.$inject = ["$scope", "$timeout", "$mdDialog", "$q"]; + Label.LabelController = LabelController; + })(Label = Widgets.Label || (Widgets.Label = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var Label; + (function (Label) { + var LabelDirective = (function () { + function LabelDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/label/label.html"; + this.replace = false; + this.controller = Label.LabelController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/label/label.css", + persist: true }; - this.date = status.day + ' ' + status.month + ' ' + status.year; - this.time = status.hours + ':' + status.minutes + ':' + status.seconds; + } + LabelDirective.create = function () { + var directive = function () { return new LabelDirective(); }; + directive.$inject = []; + return directive; }; - return ClockController; + return LabelDirective; }()); - ClockController.$inject = ["$scope", "$interval"]; - Clock.ClockController = ClockController; - })(Clock = Widgets.Clock || (Widgets.Clock = {})); + DashCI.app.directive("labelTitle", LabelDirective.create()); + })(Label = Widgets.Label || (Widgets.Label = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); +/// "use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var LoaderDirective = (function () { + function LoaderDirective($compile, widgets) { + var _this = this; + this.$compile = $compile; + this.widgets = widgets; + this.scope = { scope: '=', editable: '=', globalOptions: '=' }; + this.restrict = "E"; + this.replace = true; + this.link = function ($scope, $element, attrs, ctrl) { + var widgetParam = $scope.scope; + var wscope = $scope.$new(); + angular.extend(wscope, { + data: widgetParam + }); + var wdesc = _this.widgets.filter(function (item) { return item.type == wscope.data.type; })[0]; + var el = _this.$compile("<" + (wdesc.directive || DashCI.Models.WidgetType[wdesc.type]) + ' class="widget {{data.color}}" />')(wscope); + wscope.$element = el; + $element.replaceWith(el); + $scope.$watch(function () { return $scope.editable; }, function () { return wscope.editable = $scope.editable; }); + $scope.$watch(function () { return $scope.globalOptions; }, function () { return wscope.globalOptions = $scope.globalOptions; }); + }; + } + LoaderDirective.create = function () { + var directive = function ($compile, widgets) { return new LoaderDirective($compile, widgets); }; + directive.$inject = ["$compile", "widgets"]; + return directive; + }; + return LoaderDirective; + }()); + Widgets.LoaderDirective = LoaderDirective; + DashCI.app.directive("widgetLoader", LoaderDirective.create()); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var Resources; - (function (Resources) { - var Tfs; - (function (Tfs) { - DashCI.app.factory('tfsResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function () { - if (!globalOptions || !globalOptions.tfs || !globalOptions.tfs.host) - return null; - var withCredentials = false; - var headers = { - "Authorization": null - }; - if (globalOptions.tfs.privateToken) { - var encodedString = "Basic " + btoa(":" + globalOptions.tfs.privateToken); - headers["Authorization"] = encodedString; - } - else { - delete headers.Authorization; - withCredentials = true; - } - var tfs_release_preview = globalOptions.tfs.host.replace(".visualstudio.com", ".vsrm.visualstudio.com"); - // Return the resource, include your custom actions - return $resource(globalOptions.tfs.host, {}, { - project_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/_apis/projects?api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - team_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/_apis/projects/:project/teams?api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - query_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/wit/queries/:folder?$depth=2&$expand=all&api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - run_query: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/:team/_apis/wit/wiql/:queryId?api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - latest_build: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=1&api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - recent_builds: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=:count&api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - build_definition_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/definitions?api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - release_definition_list: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/definitions?api-version=2.2-preview.1", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - release_definition: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/definitions/:release?api-version=2.2-preview.1", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - latest_release_environments: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&releaseCount=1&includeArtifact=false", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - recent_releases: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&$expand=environments&$top=25&queryOrder=descending", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - }); - }; }]); - })(Tfs = Resources.Tfs || (Resources.Tfs = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); -})(DashCI || (DashCI = {})); -"use strict"; -"use strict"; -var DashCI; -(function (DashCI) { - var Resources; - (function (Resources) { - var Gitlab; - (function (Gitlab) { - DashCI.app.factory('gitlabResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function () { - if (!globalOptions || !globalOptions.gitlab || !globalOptions.gitlab.host) - return null; - var headers = { - "PRIVATE-TOKEN": null, - }; - if (globalOptions.gitlab.privateToken) - headers["PRIVATE-TOKEN"] = globalOptions.gitlab.privateToken; - else - delete headers["PRIVATE-TOKEN"]; - var transform = function (data, headers) { - var data = angular.fromJson(data); - if (data && typeof (data) === "object") - data.headers = headers(); - return data; - }; - var countParser = function (data, getHeaders, status) { - if (status == 200) { - data = angular.fromJson(data); - var headers = getHeaders(); - var parsedCount = parseInt(headers["X-Total"]); - if (isNaN(parsedCount)) { - parsedCount = 0; - //cannot access X-Total today, let's parse - var links = headers.link.split('>'); - angular.forEach(links, function (item) { - var matches = item.match(/page=(\d*)/); - if (matches && matches.length > 1) { - var page = Number(matches[1]); - if (page > parsedCount) - parsedCount = page; - } - }); - } - var ret = { - count: parsedCount - }; - return ret; - } - else - return data; + var Widgets; + (function (Widgets) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphDirective = (function () { + function TfsBuildGraphDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-build-graph/build-graph.html"; + this.replace = false; + this.controller = TfsBuildGraph.TfsBuildGraphController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-build-graph/build-graph.css", + persist: true }; - // Return the resource, include your custom actions - return $resource(globalOptions.gitlab.host, {}, { - project_list: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects?order_by=last_activity_at&sort=desc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - group_list: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/groups?all_available=true&order_by=name&sort=asc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - issue_count: { - method: 'GET', - isArray: false, - url: globalOptions.gitlab.host + "/api/v3/:scope/:scopeId/issues?labels=:labels&state=:state&per_page=1", - headers: headers, - cache: false, - transformResponse: countParser - }, - latest_pipeline: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?scope=branches&ref=:ref&per_page=100", - cache: false, - headers: headers - }, - recent_pipelines: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?ref=:ref&per_page=:count", - cache: false, - headers: headers - }, - commit_count: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/repository/commits?ref_name=:ref&since=:since&per_page=1", - cache: false, - transformResponse: countParser - } - }); - }; }]); - })(Gitlab = Resources.Gitlab || (Resources.Gitlab = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); + } + TfsBuildGraphDirective.create = function () { + var directive = function () { return new TfsBuildGraphDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsBuildGraphDirective; + }()); + DashCI.app.directive("tfsBuildGraph", TfsBuildGraphDirective.create()); + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; -"use strict"; var DashCI; (function (DashCI) { - var Resources; - (function (Resources) { - var Github; - (function (Github) { - DashCI.app.factory('githubResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function (username) { - if (!globalOptions || !globalOptions.github || globalOptions.github.length == 0) - return null; - var accounts = globalOptions.github.filter(function (item) { return item.username == username; }); - if (!accounts || accounts.length != 1) - return null; - var host = "https://api.github.com"; - var headers = { - "Authorization": null, - }; - if (accounts[0].privateToken) - headers.Authorization = "Basic " + btoa(accounts[0].username + ":" + accounts[0].privateToken); - else - delete headers.Authorization; - var transform = function (data, headers) { - var data = angular.fromJson(data); - if (data && typeof (data) === "object") - data.headers = headers(); - return data; - }; - var countParser = function (data, getHeaders, status) { - if (status == 200) { - data = angular.fromJson(data); - var headers = getHeaders(); - var parsedCount = parseInt(headers["X-Total"]); - if (isNaN(parsedCount)) { - parsedCount = 0; - //cannot access X-Total today, let's parse - var links = headers.link.split('>'); - angular.forEach(links, function (item) { - var matches = item.match(/&page=(\d*)/); - if (matches && matches.length > 1) { - var page = Number(matches[1]); - if (page > parsedCount) - parsedCount = page; - } - }); + var Widgets; + (function (Widgets) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphConfigController = (function () { + function TfsBuildGraphConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsBuildGraphConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); + }; + TfsBuildGraphConfigController.prototype.getBuilds = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.build_definition_list({ project: this.vm.project }).$promise + .then(function (result) { + _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.builds = []; + }); + }; + //public cancel() { + // this.$mdDialog.cancel(); + //} + TfsBuildGraphConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsBuildGraphConfigController; + }()); + TfsBuildGraphConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsBuildGraph.TfsBuildGraphConfigController = TfsBuildGraphConfigController; + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphController = (function () { + function TfsBuildGraphController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsBuildGraph; + this.data.footer = false; + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + } + TfsBuildGraphController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsBuildGraphController.prototype.init = function () { + this.data.title = this.data.title || "Build Graph"; + this.data.color = this.data.color || "blue"; + //default values + this.data.poolInterval = this.data.poolInterval || 10000; + this.updateInterval(); + this.update(); + }; + TfsBuildGraphController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var histogram = this.$scope.$element.find(".histogram"); + histogram.height(height - 50); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); + }; + TfsBuildGraphController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsBuildGraph.TfsBuildGraphConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/Tfs-Build-graph/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; } - var ret = { - count: parsedCount - }; - return ret; } - else - return data; - }; - // Return the resource, include your custom actions - return $resource(host, {}, { - repository_list: { - method: 'GET', - isArray: true, - url: host + "/user/repos?sort=updated&direction=desc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - issue_count: { - method: 'GET', - isArray: false, - url: host + "/repos/:owner/:repository/issues?labels=:labels&state=:state&per_page=1", - headers: headers, - cache: false, - transformResponse: countParser - }, }); - }; }]); - })(Github = Resources.Github || (Resources.Github = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); + //.then((ok) => this.createWidget(type)); + }; + TfsBuildGraphController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + this.update(); + }; + TfsBuildGraphController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.build) + return; + var res = this.tfsResources(); + if (!res) + return; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.recent_builds({ + project: this.data.project, + build: this.data.build, + count: 40 + }).$promise.then(function (result) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + var builds = result.value.reverse(); + var maxDuration = 1; + angular.forEach(builds, function (item) { + if (item.finishTime) { + var finishTime = moment(item.finishTime); + var startTime = moment(item.startTime); + item.duration = finishTime.diff(startTime, 'seconds'); + if (maxDuration < item.duration) + maxDuration = item.duration; + } + }); + var width = (100 / builds.length); + angular.forEach(builds, function (item, i) { + var height = Math.round((100 * item.duration) / maxDuration); + if (height < 1) + height = 1; + item.css = { + height: height.toString() + "%", + width: width.toFixed(2) + "%", + left: (width * i).toFixed(2) + "%" + }; + }); + _this.builds = builds; + _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + }).catch(function (reason) { + _this.builds = []; + console.error(reason); + }); + }; + return TfsBuildGraphController; + }()); + TfsBuildGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsBuildGraph.TfsBuildGraphController = TfsBuildGraphController; + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Models; - (function (Models) { - DashCI.app.constant("colors", [ - { - code: "semi-transp", - desc: "Semi Transparent" - }, - { - code: "transparent", - desc: "Transparent" - }, - { - code: "red", - desc: "Red" - }, - { - code: "green", - desc: "Green" - }, - { - code: "deep-green", - desc: "Deep Green" - }, - { - code: "turkoise", - desc: "Turkoise" - }, - { - code: "purple", - desc: "Purple" - }, - { - code: "pink", - desc: "Pink" - }, - { - code: "blue", - desc: "Blue" - }, - { - code: "amber", - desc: "Amber" - }, - { - code: "orange", - desc: "Orange" - }, - { - code: "brown", - desc: "Brown" - }, - { - code: "grey", - desc: "Grey" - }, - ]); - DashCI.app.constant("intervals", [ - { - value: 10000, - desc: "10 secs" - }, - { - value: 20000, - desc: "20 secs" - }, - { - value: 30000, - desc: "30 secs" - }, - { - value: 60000, - desc: "1 min" - }, - { - value: 120000, - desc: "2 min" - }, - ]); - DashCI.app.constant("aligns", [ - { - code: "center", - desc: "Center" - }, - { - code: "left", - desc: "Left" - }, - { - code: "right", - desc: "Right" - }, - ]); - })(Models = DashCI.Models || (DashCI.Models = {})); + var Widgets; + (function (Widgets) { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildConfigController = (function () { + function TfsBuildConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsBuildConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); + }; + TfsBuildConfigController.prototype.getBuilds = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.build_definition_list({ project: this.vm.project }).$promise + .then(function (result) { + _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.builds = []; + }); + }; + //public cancel() { + // this.$mdDialog.cancel(); + //} + TfsBuildConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsBuildConfigController; + }()); + TfsBuildConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsBuild.TfsBuildConfigController = TfsBuildConfigController; + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildController = (function () { + function TfsBuildController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.icon = "help"; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsBuild; + this.data.footer = false; + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + } + TfsBuildController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsBuildController.prototype.init = function () { + this.data.title = this.data.title || "Build"; + this.data.color = this.data.color || "green"; + //default values + this.data.poolInterval = this.data.poolInterval || 10000; + this.updateInterval(); + this.update(); + }; + TfsBuildController.prototype.sizeBy = function (width, height) { + this.hideDetails = (width < height * 1.7); + var icon = this.$scope.$element.find(".play-status md-icon"); + var fontSize = (Math.round(height / 1) - (this.hideDetails ? 50 : 0)) + "px"; + //var lineSize = Math.round((altura) - 60) + "px"; + icon.css('font-size', fontSize); + icon.parent().width(Math.round(height / 1)); + //p.css('line-height', lineSize); + var header = this.$scope.$element.find(".header"); + fontSize = Math.round(height / 1) + "px"; + header.css('text-indent', fontSize); + //var title = this.$scope.$element.find("h2"); + //fontSize = Math.round(height / 6) + "px"; + //title.css('font-size', fontSize); + var txt = this.$scope.$element.find("h4"); + fontSize = Math.round(height / 7) + "px"; + txt.css('font-size', fontSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(height - 32); + img.width(size); + img.height(size); + this.hideAvatar = width < 390; + }; + TfsBuildController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsBuild.TfsBuildConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/tfs-build/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; + } + } + }); + //.then((ok) => this.createWidget(type)); + }; + TfsBuildController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsBuildController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.build) + return; + var res = this.tfsResources(); + if (!res) + return; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.latest_build({ + project: this.data.project, + build: this.data.build + }).$promise.then(function (build) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + var new_build = null; + if (build.value.length >= 1) + new_build = build.value[0]; + _this.latest = new_build; + _this.latest.sourceBranch = _this.latest.sourceBranch.replace("refs/heads/", ""); //is it right? + if (_this.latest && _this.latest.status) { + switch (_this.latest.status) { + case "notStarted": + case "postponed": + case "none": + _this.icon = "pause_circle_filled"; + break; + case "inProgress": + _this.icon = "play_circle_filled"; + break; + case "cancelling": + case "stopped": + _this.icon = "remove_circle"; + break; + case "completed": + switch (_this.latest.result) { + case "partiallySucceeded": + case "succeeded": + _this.icon = "check"; + break; + case "failed": + _this.icon = "cancel"; + break; + case "canceled": + _this.icon = "remove_circle"; + break; + case "default": + _this.icon = "help"; + break; + } + break; + case "default": + _this.icon = "help"; + break; + } + } + else + _this.icon = "help"; + //var p = this.$scope.$element.find("p"); + //p.addClass('changed'); + //this.$timeout(() => p.removeClass('changed'), 1000); + _this.resizeWidget(); + }).catch(function (reason) { + _this.latest = null; + console.error(reason); + _this.resizeWidget(); + }); + }; + TfsBuildController.prototype.resizeWidget = function () { + var _this = this; + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + }; + return TfsBuildController; + }()); + TfsBuildController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsBuild.TfsBuildController = TfsBuildController; + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildDirective = (function () { + function TfsBuildDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-build/build.html"; + this.replace = false; + this.controller = TfsBuild.TfsBuildController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-build/build.css", + persist: true + }; + } + TfsBuildDirective.create = function () { + var directive = function () { return new TfsBuildDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsBuildDirective; + }()); + DashCI.app.directive("tfsBuild", TfsBuildDirective.create()); + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartConfigController = (function () { + function TfsQueryChartConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.$q = $q; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsQueryChartConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { + _this.getTeams(); + _this.getQueries(); + }); + this.$scope.$watch(function () { return _this.vm.queryCount; }, function () { return _this.setQueryList(); }); + }; + TfsQueryChartConfigController.prototype.getQueries = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; + var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; + this.$q.all([q1, q2]) + .then(function (result) { + var q = []; + angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); + angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); + _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); + }).catch(function (reason) { + console.error(reason); + _this.queries = []; + }); + }; + TfsQueryChartConfigController.prototype.getTeams = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.team_list({ project: this.vm.project }) + .$promise + .then(function (result) { + _this.teams = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.teams = []; + }); + ; + }; + TfsQueryChartConfigController.prototype.setQueryList = function () { + if (this.vm.queryIds.length < this.vm.queryCount) { + for (var i = 0; i < this.vm.queryCount; i++) { + this.vm.queryIds.push(""); + this.vm.queryColors.push(""); + } + } + else if (this.vm.queryIds.length > this.vm.queryCount) { + while (this.vm.queryIds.length > this.vm.queryCount) { + this.vm.queryIds.pop(); + this.vm.queryColors.pop(); + } + } + }; + TfsQueryChartConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsQueryChartConfigController; + }()); + TfsQueryChartConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; + TfsQueryChart.TfsQueryChartConfigController = TfsQueryChartConfigController; + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartController = (function () { + function TfsQueryChartController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.total = null; + this.width = 50; + this.height = 50; + this.fontSize = 12; + this.lineSize = 12; + this.doughnutHoleSize = 0.5; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsQueryChart; + this.data.footer = false; + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.resizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.resizeBy(width, _this.$scope.$element.height()); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); + } + TfsQueryChartController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsQueryChartController.prototype.init = function () { + this.data.title = this.data.title || "Chart"; + this.data.color = this.data.color || "grey"; + //default values + this.data.queryCount = this.data.queryCount || 2; + this.data.queryIds = this.data.queryIds || ["", ""]; + this.data.queryColors = this.data.queryColors || ["", ""]; + this.data.poolInterval = this.data.poolInterval || 20000; + this.updateInterval(); + this.update(); + }; + TfsQueryChartController.prototype.resizeBy = function (width, height) { + var _this = this; + this.width = width; + this.height = height - 40; + this.fontSize = Math.round(height / 1.3); + this.lineSize = Math.round((height) - 60); + var canvas = this.$scope.$element.find("canvas").get(0); + if (canvas) { + canvas.width = this.width; + canvas.height = this.height; + } + this.$timeout(function () { return _this.drawGraph(); }, 50); + }; + TfsQueryChartController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsQueryChart.TfsQueryChartConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/tfs-query-chart/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; + } + } + }); + //.then((ok) => this.createWidget(type)); + }; + TfsQueryChartController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsQueryChartController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.queryIds || this.data.queryIds.length == 0) + return; + var res = this.tfsResources(); + if (!res) + return; + var queries = []; + for (var q in this.data.queryIds) { + var query = this.data.queryIds[q]; + if (query) + queries.push(res.run_query({ + project: this.data.project, + team: this.data.team, + queryId: query + }).$promise); + } + if (queries.length == 0) + return; + console.log("tfs query: " + this.data.title); + this.$q.all(queries) + .then(function (res) { + var resValues = []; + _this.total = 0; + for (var i in res) { + resValues.push(res[i].workItems.length); + _this.total += res[i].workItems.length; + } + _this.queryValues = resValues; + _this.drawGraph(); + }) + .catch(function (reason) { + _this.queryValues = null; + console.error(reason); + }); + this.$timeout(function () { return _this.resizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + }; + TfsQueryChartController.prototype.drawGraph = function () { + var data = []; + var labels = []; + var colors = []; + console.log("chart draw start: " + this.data.title); + var bgColor = this.data.color == 'transparent' || this.data.color == 'semi-transparent' ? "black" : + this.getStyleRuleValue("background-color", "." + this.data.color); + for (var i in this.queryValues) { + data.push(this.queryValues[i]); + labels.push(this.queryValues[i].toString()); + var color = this.getStyleRuleValue("background-color", "." + this.data.queryColors[i]); + colors.push(color); + } + //todo: draw segments at canvas. + var canvas = this.$scope.$element.find("canvas").get(0); + if (!canvas) + return; + var ctx = canvas.getContext("2d"); + ctx.clearRect(0, 0, canvas.width, canvas.height); + var total_value = this.total; + var color_index = 0; + var start_angle = 0; + for (var i in data) { + var val = data[i]; + var slice_angle = 2 * Math.PI * val / total_value; + this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), start_angle, start_angle + slice_angle, colors[i]); + start_angle += slice_angle; + color_index++; + } + //drawing a white circle over the chart + //to create the doughnut chart + if (this.doughnutHoleSize) { + this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, this.doughnutHoleSize * Math.min(canvas.width / 2, canvas.height / 2), 0, 2 * Math.PI, bgColor); + } + start_angle = 0; + for (i in data) { + var val = data[i]; + slice_angle = 2 * Math.PI * val / total_value; + var pieRadius = Math.min(canvas.width / 2, canvas.height / 2); + var labelX = canvas.width / 2 + (pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); + var labelY = canvas.height / 2 + (pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); + if (this.doughnutHoleSize) { + var offset = (pieRadius * this.doughnutHoleSize) / 2; + labelX = canvas.width / 2 + (offset + pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); + labelY = canvas.height / 2 + (offset + pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); + } + var labelText = Math.round(100 * val / total_value); + if (labelText > 4) { + ctx.fillStyle = "white"; + ctx.font = "bold 20px Arial"; + ctx.fillText(labelText + "%", labelX, labelY); + start_angle += slice_angle; + } + } + console.log("chart draw complete: " + this.data.title); + }; + /* + private drawLine(ctx:CanvasRenderingContext2D, startX: number, startY: number, endX: number, endY: number) { + ctx.beginPath(); + ctx.moveTo(startX, startY); + ctx.lineTo(endX, endY); + ctx.stroke(); + } + + private drawArc(ctx: CanvasRenderingContext2D, centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number) { + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, startAngle, endAngle); + ctx.stroke(); + } + */ + TfsQueryChartController.prototype.drawPieSlice = function (ctx, centerX, centerY, radius, startAngle, endAngle, color) { + if (color) + ctx.fillStyle = color; + ctx.beginPath(); + ctx.moveTo(centerX, centerY); + ctx.arc(centerX, centerY, radius, startAngle, endAngle); + ctx.closePath(); + //if (!color) { + // ctx.clip(); + // ctx.clearRect(centerX - radius - 1, centerY - radius - 1, + // radius * 2 + 2, radius * 2 + 2); + //} + ctx.fill(); + }; + TfsQueryChartController.prototype.getStyleRuleValue = function (style, selector, sheet) { + var sheets = typeof sheet !== 'undefined' ? [sheet] : document.styleSheets; + for (var i = 0, l = sheets.length; i < l; i++) { + var currentSheet = sheets[i]; + var rules = currentSheet.cssRules || currentSheet.rules; + if (!rules) { + continue; + } + for (var j = 0, k = rules.length; j < k; j++) { + var rule = rules[j]; + if (rule.selectorText && rule.selectorText.split(',').indexOf(selector) !== -1) { + return rule.style[style]; + } + } + } + return null; + }; + return TfsQueryChartController; + }()); + TfsQueryChartController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsQueryChart.TfsQueryChartController = TfsQueryChartController; + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; -/// var DashCI; (function (DashCI) { - var Models; - (function (Models) { - DashCI.app.value("globalOptions", {}); - })(Models = DashCI.Models || (DashCI.Models = {})); + var Widgets; + (function (Widgets) { + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartDirective = (function () { + function TfsQueryChartDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-query-chart/tfs-query-chart.html"; + this.replace = false; + this.controller = TfsQueryChart.TfsQueryChartController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-query-chart/tfs-query-chart.css", + persist: true + }; + } + TfsQueryChartDirective.create = function () { + var directive = function () { return new TfsQueryChartDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsQueryChartDirective; + }()); + DashCI.app.directive("tfsQueryChart", TfsQueryChartDirective.create()); + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Core; - (function (Core) { - var AddWidgetController = (function () { - function AddWidgetController($mdDialog, widgets, categories) { - this.$mdDialog = $mdDialog; - this.widgets = widgets; - this.categories = categories; - } - AddWidgetController.prototype.cancel = function () { - this.$mdDialog.cancel(); - }; - AddWidgetController.prototype.select = function (type) { - this.$mdDialog.hide(type); - }; - return AddWidgetController; - }()); - AddWidgetController.$inject = ["$mdDialog", "widgets", "widgetcategories"]; - Core.AddWidgetController = AddWidgetController; - })(Core = DashCI.Core || (DashCI.Core = {})); + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountConfigController = (function () { + function TfsQueryCountConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.$q = $q; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsQueryCountConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getQueries(); }); + }; + TfsQueryCountConfigController.prototype.getQueries = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; + var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; + this.$q.all([q1, q2]) + .then(function (result) { + var q = []; + angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); + angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); + _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); + }).catch(function (reason) { + console.error(reason); + _this.queries = []; + }); + }; + TfsQueryCountConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsQueryCountConfigController; + }()); + TfsQueryCountConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; + TfsQueryCount.TfsQueryCountConfigController = TfsQueryCountConfigController; + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Core; - (function (Core) { - var GlobalConfigController = (function () { - function GlobalConfigController($timeout, $mdDialog, $scope, $rootscope, vm) { - var _this = this; - this.$timeout = $timeout; - this.$mdDialog = $mdDialog; - this.$rootscope = $rootscope; - this.vm = vm; - this.pageCount = this.vm.pages.length; - $scope.$watch(function () { return _this.pageCount; }, function () { return _this.updatePages(); }); - } - GlobalConfigController.prototype.ok = function () { - this.$mdDialog.hide(); - }; - GlobalConfigController.prototype.updatePages = function () { - if (this.pageCount < 1) - this.pageCount = 1; - if (this.pageCount > 5) - this.pageCount = 5; - if (this.pageCount < this.vm.pages.length) { - for (var i = this.vm.pages.length; i > this.pageCount; i--) { - this.vm.pages.pop(); - } - } - else if (this.pageCount > this.vm.pages.length) { - for (var i = this.vm.pages.length; i < this.pageCount; i++) { - var id = (this.vm.pages.length + 1).toString(); - this.vm.pages.push({ - id: id, - name: "Dash-CI " + id.toString(), - widgets: [] - }); - } + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountController = (function () { + function TfsQueryCountController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsQueryCount; + this.data.footer = false; + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); } - }; - GlobalConfigController.prototype.reset = function () { - }; - GlobalConfigController.prototype.import = function () { - var _this = this; - var inputFile = $("#import").get(0); - var reader = new FileReader(); - reader.onload = function (event) { - try { - var obj = angular.fromJson(event.target.result); - if (obj && obj.pages && obj.pages.length && obj.pages.length > 0) { - if (confirm("This will reset your current configuration and replace with the file imported.\n\nConfirm importing the file?")) { - _this.vm.pages = null; - angular.extend(_this.vm, obj); + TfsQueryCountController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsQueryCountController.prototype.init = function () { + this.data.title = this.data.title || "Query"; + this.data.color = this.data.color || "grey"; + //default values + this.data.queryId = this.data.queryId || ""; + this.data.poolInterval = this.data.poolInterval || 20000; + this.updateInterval(); + this.update(); + }; + TfsQueryCountController.prototype.sizeFont = function (altura) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(altura / 1.3) + "px"; + var lineSize = Math.round((altura) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(altura - 32); + img.width(size); + img.height(size); + }; + TfsQueryCountController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsQueryCount.TfsQueryCountConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/tfs-query-count/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; } - alert("File imported successfully"); - _this.$rootscope.$apply(); - _this.$rootscope.$broadcast("dashci-refresh"); } - else - throw "File format not supported."; - } - catch (e) { - alert(e); - } + }); + //.then((ok) => this.createWidget(type)); + }; + TfsQueryCountController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsQueryCountController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.queryId) + return; + var res = this.tfsResources(); + if (!res) + return; + console.log("tfs query: " + this.data.title); + res.run_query({ + project: this.data.project, + queryId: this.data.queryId + }).$promise.then(function (result) { + var newCount = result.workItems.length; + if (newCount != _this.queryCount) { + _this.queryCount = newCount; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); + } + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.queryCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; + } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.queryCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; + } + console.log("end tfs query: " + _this.data.title); + }) + .catch(function (reason) { + _this.queryCount = null; + console.error(reason); + }); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - reader.readAsText(inputFile.files[0]); - inputFile.value = null; - }; - GlobalConfigController.prototype.export = function () { - var data = jQuery.extend(true, {}, this.vm); - if (data.gitlab) - data.gitlab.privateToken = null; - if (data.tfs) - data.tfs.privateToken = null; - if (data.github && data.github.length) - angular.forEach(data.github, function (item) { return item.privateToken = null; }); - var datatxt = angular.toJson(data); - var myBlob = new Blob([datatxt], { type: "application/json" }); - var url = window.URL.createObjectURL(myBlob); - var a = document.createElement("a"); - a.style.display = "none"; - document.body.appendChild(a); - a.href = url; - a.download = "dash-ci.json"; - a.click(); - this.$timeout(function () { return window.URL.revokeObjectURL(url); }, 1000); - alert("Your configuration was exported. Take note of your private keys, they are not saved to the exported file."); - }; - return GlobalConfigController; - }()); - GlobalConfigController.$inject = ["$timeout", "$mdDialog", "$scope", "$rootScope", "config"]; - Core.GlobalConfigController = GlobalConfigController; - })(Core = DashCI.Core || (DashCI.Core = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var GoogleCastReceiver = (function () { - function GoogleCastReceiver() { - var _this = this; - this.namespace = 'urn:x-cast:almasistemas.dashci'; - this.script = '//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js'; - var el = document.createElement('script'); - document.body.appendChild(el); - el.onload = function () { - setTimeout(function () { return _this.initializeCastApi(); }, 1000); - }; - el.type = "text/javascript"; - el.src = this.script; - } - GoogleCastReceiver.prototype.initializeCastApi = function () { - var _this = this; - GoogleCastReceiver.Cast = window.cast; - GoogleCastReceiver.Cast.receiver.logger.setLevelValue(0); - this.manager = GoogleCastReceiver.Cast.receiver.CastReceiverManager.getInstance(); - console.log('Starting Receiver Manager'); - this.manager.onReady = function (event) { - console.log('Received Ready event: ' + JSON.stringify(event.data)); - _this.manager.setApplicationState('chromecast-dashboard is ready...'); - }; - this.manager.onSenderConnected = function (event) { - console.log('Received Sender Connected event: ' + event.senderId); - }; - this.manager.onSenderDisconnected = function (event) { - console.log('Received Sender Disconnected event: ' + event.senderId); - if (_this.manager.getSenders().length == 0 && - event.reason == GoogleCastReceiver.Cast.receiver.system.DisconnectReason.REQUESTED_BY_SENDER) { - window.close(); - } - }; - this.messageBus = - this.manager.getCastMessageBus(this.namespace, GoogleCastReceiver.Cast.receiver.CastMessageBus.MessageType.JSON); - this.messageBus.onMessage = function (event) { return _this.receiveMessage(event); }; - // Initialize the CastReceiverManager with an application status message. - this.manager.start({ statusText: 'Application is starting' }); - console.log('Receiver Manager started'); - }; - GoogleCastReceiver.prototype.receiveMessage = function (event) { - console.log('Message [' + event.senderId + ']: ' + event.data); - if (event.data && this.receiveOptions) - this.receiveOptions(event.data); - }; - return GoogleCastReceiver; - }()); - GoogleCastReceiver.Cast = null; - DashCI.GoogleCastReceiver = GoogleCastReceiver; + return TfsQueryCountController; + }()); + TfsQueryCountController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsQueryCount.TfsQueryCountController = TfsQueryCountController; + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var GoogleCastSender = (function () { - function GoogleCastSender() { - /** - * Call initialization for Cast - */ - var _this = this; - this.script = '//www.gstatic.com/cv/js/sender/v1/cast_sender.js'; - this.applicationID = 'E57E663D'; - this.namespace = 'urn:x-cast:almasistemas.dashci'; - this.session = null; - this.invalidOs = true; - var el = document.createElement('script'); - document.body.appendChild(el); - el.onload = function () { - setTimeout(function () { return _this.initializeCastApi(); }, 1000); - }; - el.type = "text/javascript"; - el.src = this.script; - } - /** - * initialization - */ - GoogleCastSender.prototype.initializeCastApi = function () { - var _this = this; - GoogleCastSender.Cast = window.chrome.cast; - var sessionRequest = new GoogleCastSender.Cast.SessionRequest(this.applicationID); - var apiConfig = new GoogleCastSender.Cast.ApiConfig(sessionRequest, function (e) { return _this.sessionListener(e); }, function (e) { return _this.receiverListener(e); }); - GoogleCastSender.Cast.initialize(apiConfig, function () { return _this.onInitSuccess(); }, function (m) { return _this.onError(m); }); - }; - /** - * initialization success callback - */ - GoogleCastSender.prototype.onInitSuccess = function () { - console.info('Cast onInitSuccess'); - this.invalidOs = false; - }; - /** - * initialization error callback - */ - GoogleCastSender.prototype.onError = function (message) { - console.error('Cast onError: ' + JSON.stringify(message)); - this.connected = false; - }; - /** - * generic success callback - */ - GoogleCastSender.prototype.onSuccess = function (message) { - console.info('Cast onSuccess: ' + message); - this.connected = true; - }; - /** - * callback on success for stopping app - */ - GoogleCastSender.prototype.onStopAppSuccess = function () { - console.info('Cast onStopAppSuccess'); - this.connected = false; - }; - /** - * session listener during initialization - */ - GoogleCastSender.prototype.sessionListener = function (e) { - var _this = this; - console.info('Cast New session ID:' + e.sessionId); - this.session = e; - this.session.addUpdateListener(function (isAlive) { return _this.sessionUpdateListener(isAlive); }); - this.session.addMessageListener(this.namespace, function (namespace, message) { return _this.receiverMessage(namespace, message); }); - }; - /** - * listener for session updates - */ - GoogleCastSender.prototype.sessionUpdateListener = function (isAlive) { - var message = isAlive ? 'Session Updated' : 'Session Removed'; - message += ': ' + this.session.sessionId; - console.debug(message); - if (!isAlive) { - this.session = null; - this.connected = false; - } - }; - /** - * utility private to log messages from the receiver - * @param {string} namespace The namespace of the message - * @param {string} message A message string - */ - GoogleCastSender.prototype.receiverMessage = function (namespace, message) { - console.debug('receiverMessage: ' + namespace + ', ' + message); - }; - /** - * receiver listener during initialization - */ - GoogleCastSender.prototype.receiverListener = function (e) { - if (e === 'available') { - console.info('receiver found'); - } - else { - console.info('receiver list empty'); - } - }; - /** - * stop app/session - */ - GoogleCastSender.prototype.stopApp = function () { - var _this = this; - if (this.session) - this.session.stop(function () { return _this.onStopAppSuccess(); }, function (message) { return _this.onError(message); }); - }; - /** - * send a message to the receiver using the custom namespace - * receiver CastMessageBus message handler will be invoked - * @param {string} message A message string - */ - GoogleCastSender.prototype.sendMessage = function (message) { - var _this = this; - if (this.session != null) { - this.session.sendMessage(this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); - } - else { - GoogleCastSender.Cast.requestSession(function (e) { - _this.session = e; - _this.sessionListener(e); - _this.session.sendMessage(_this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); - }, function (m) { return _this.onError(m); }); - } - }; - return GoogleCastSender; - }()); - GoogleCastSender.Cast = null; - DashCI.GoogleCastSender = GoogleCastSender; + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountDirective = (function () { + function TfsQueryCountDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-query-count/tfs-query-count.html"; + this.replace = false; + this.controller = TfsQueryCount.TfsQueryCountController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-query-count/tfs-query-count.css", + persist: true + }; + } + TfsQueryCountDirective.create = function () { + var directive = function () { return new TfsQueryCountDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsQueryCountDirective; + }()); + DashCI.app.directive("tfsQueryCount", TfsQueryCountDirective.create()); + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Core; - (function (Core) { - var MainController = (function () { - function MainController($scope, $timeout, $q, $mdDialog, options) { - var _this = this; - this.$scope = $scope; - this.$timeout = $timeout; - this.$q = $q; - this.$mdDialog = $mdDialog; - this.options = options; - this.gridWidth = 800; - this.gridHeight = 600; - this.editable = false; - this.additionPossible = true; - this.gridOptions = { - showGrid: false, - highlightNextPosition: false + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseConfigController = (function () { + function TfsReleaseConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsReleaseConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getReleaseDefs(); }); + }; + TfsReleaseConfigController.prototype.getReleaseDefs = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.release_definition_list({ project: this.vm.project }).$promise + .then(function (result) { + _this.releases = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.releases = []; + }); + }; + //public cancel() { + // this.$mdDialog.cancel(); + //} + TfsReleaseConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsReleaseConfigController; + }()); + TfsReleaseConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsRelease.TfsReleaseConfigController = TfsReleaseConfigController; + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseController = (function () { + function TfsReleaseController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.envcontainer = { + width: "0%" + }; + this.env = { + height: "0px", + iconSize: "0px" + }; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsRelease; + this.data.footer = false; + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); + } + TfsReleaseController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsReleaseController.prototype.init = function () { + this.data.title = this.data.title || "Release"; + this.data.color = this.data.color || "brown"; + //default values + this.data.poolInterval = this.data.poolInterval || 10000; + this.updateInterval(); + this.update(); + }; + TfsReleaseController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); + var padding = Number(this.$scope.$element.find(".envcontainer").css("padding-top")) || 5; + this.env.height = ((height - header_size - 25) / this.rowCount() - (padding * 2)).toFixed(2) + "px"; + this.envcontainer.width = ((100 / this.maxColumnCount()) - 0.5).toFixed(2) + "%"; + this.env.iconSize = this.env.height; + }; + TfsReleaseController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsRelease.TfsReleaseConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/tfs-release/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; + } + } + }); + //.then((ok) => this.createWidget(type)); + }; + TfsReleaseController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsReleaseController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.release) + return; + var res = this.tfsResources(); + if (!res) + return; + if (!this.releaseDefinition || this.releaseDefinition.id != this.data.release) { + this.releaseDefinition = null; + res.release_definition({ project: this.data.project, release: this.data.release }).$promise + .then(function (result) { + _this.releaseDefinition = result; + _this.update(); + }) + .catch(function (error) { + _this.releaseDefinition = null; + _this.environment_rows = null; + console.error(error); + }); + } + if (this.releaseDefinition) { + console.log("start request: " + this.data.id + "; " + this.data.title); + res.latest_release_environments({ project: this.data.project, release: this.data.release }) + .$promise.then(function (result) { + _this.latest = result.releases.length > 0 ? result.releases[result.releases.length - 1] : null; + angular.forEach(result.environments, function (e) { + var findRelease = result.releases.filter(function (r) { return e.lastReleases.length > 0 && r.id == e.lastReleases[0].id; }); + var lastestDef = _this.latest.environments.filter(function (re) { return re.definitionEnvironmentId == e.id; })[0]; + if (lastestDef && lastestDef.status == "inProgress") { + angular.extend(e, lastestDef); + } + else if (findRelease.length == 1) { + var releaseEnv = findRelease[0].environments.filter(function (re) { return re.definitionEnvironmentId == e.id; }); + if (releaseEnv.length > 0) + angular.extend(e, releaseEnv[0]); + } + else if (lastestDef) { + e.name = lastestDef.name; + e.conditions = lastestDef.conditions; + } + if (lastestDef) { + var currentEnv = _this.releaseDefinition.environments.filter(function (re) { return re.id == lastestDef.definitionEnvironmentId; }); + e.conditions = currentEnv[0].conditions; + } + if (!e.release && e.lastReleases && e.lastReleases.length > 0) + e.release = result.releases.filter(function (r) { return r.id == e.lastReleases[0].id; })[0]; + _this.setIcon(e); + }); + _this.environments = result.environments; + if (_this.latest) { + var baseEnvs = _this.environments.filter(_this.filterAutomaticAfterReleaseOrManual); + var rows = []; + angular.forEach(baseEnvs, function (item) { + var row = []; + row.push(item); + angular.forEach(_this.filterSubSequentEnvironments(item), function (e) { return row.push(e); }); + rows.push(row); + }); + _this.environment_rows = rows; + } + else { + _this.environments = null; + _this.environment_rows = null; + } + _this.sizeFont(_this.$scope.$element.height()); + }) + .catch(function (error) { + _this.latest = null; + _this.environments = null; + _this.releaseDefinition = null; + _this.environment_rows = null; + console.error(error); + _this.sizeFont(_this.$scope.$element.height()); + }); + } + }; + TfsReleaseController.prototype.rowCount = function () { + return this.environment_rows ? this.environment_rows.length : 0; }; - this.updateGridSize = function () { - _this.$timeout(function () { - var grid = document.getElementById('grid'); - _this.gridWidth = grid.clientWidth; - _this.gridHeight = grid.clientHeight; - }, 500); + TfsReleaseController.prototype.maxColumnCount = function () { + if (!this.environment_rows) + return 0; + var maxColumns = 0; + angular.forEach(this.environment_rows, function (row) { + if (row.length > maxColumns) + maxColumns = row.length; + }); + return maxColumns; }; - this.defOptions = { - columns: 30, - rows: 20, - tfs: null, - gitlab: null, - github: [], - circleci: [], - pages: [{ - id: "1", - name: "Dash-CI", - widgets: [] - }] + TfsReleaseController.prototype.filterAutomaticAfterReleaseOrManual = function (element) { + return (element.conditions && element.conditions[0] && element.conditions[0].name == "ReleaseStarted") || + (element.conditions && element.conditions.length == 0) //manual + ; }; - this.isGoogleCast = this.CheckGoogleCast(); - this.castStatus = 'cast'; - this.canCast = false; - this.castSender = null; - this.castReceiver = null; - this.loadData(); - window.onresize = this.updateGridSize; - this.$scope.$on('wg-grid-full', function () { - _this.additionPossible = false; - }); - this.$scope.$on('wg-grid-space-available', function () { - _this.additionPossible = true; - }); - this.$scope.$on('wg-update-position', function (event, widgetInfo) { - console.log('A widget has changed its position!', widgetInfo); - }); - this.$scope.$on("dashci-refresh", function () { - _this.currentPage = null; - _this.selectedPageId = _this.options.pages[0].id; - _this.changePage(); - }); - this.$scope.$watch(function () { return _this.selectedPageId; }, function () { return _this.changePage(); }); - this.updateGridSize(); - this.initCastApi(); - } - MainController.prototype.changePage = function () { - var _this = this; - if (!this.currentPage || this.selectedPageId != this.currentPage.id) { - this.currentPage = null; - this.$timeout(function () { - _this.currentPage = _this.options.pages.filter(function (item) { return item.id == _this.selectedPageId; })[0]; - }, 500); - } - }; - MainController.prototype.addWidgetDialog = function (ev) { - var _this = this; - if (this.additionPossible) { - this.$mdDialog.show({ - controller: Core.AddWidgetController, - controllerAs: "ctrl", - templateUrl: 'app/core/add-widget.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - }) - .then(function (type) { return _this.createWidget(type); }); - } - }; - MainController.prototype.globalConfigDialog = function (ev) { - var _this = this; - this.$mdDialog.show({ - controller: Core.GlobalConfigController, - controllerAs: "ctrl", - templateUrl: 'app/core/global-config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.options); }, 1); - return deferred.promise; - } - } - }) - .then(function () { return _this.saveData(); }); - }; - MainController.prototype.removeWidget = function (widget) { - var idx = this.currentPage.widgets.indexOf(widget); - if (idx > -1) { - this.currentPage.widgets.splice(idx, 1); - } - }; - MainController.prototype.toggleEditable = function () { - this.editable = !this.editable; - this.gridOptions.showGrid = this.editable; - this.saveData(); - }; - MainController.prototype.createWidget = function (type) { - this.currentPage.widgets.push({ - type: type, - position: { left: -1, top: -1, width: 6, height: 4 } - }); - this.saveData(); - }; - MainController.prototype.saveData = function () { - window.localStorage['dash-ci-options'] = angular.toJson(this.options); - }; - MainController.prototype.loadData = function () { - var defOptions = angular.copy(this.defOptions); - var savedOpts = (angular.fromJson(window.localStorage['dash-ci-options']) || defOptions); - angular.extend(this.options, defOptions, savedOpts); - angular.forEach(savedOpts.pages, function (item) { - item.name = item.name || "Dash-CI"; - }); - this.currentPage = this.options.pages[0]; //preparing to support multiple pages - }; - MainController.prototype.initCastApi = function () { - var _this = this; - if (!this.isGoogleCast) { - this.castSender = new DashCI.GoogleCastSender(); - this.$scope.$watch(function () { return _this.castSender.connected; }, function (connected) { - _this.castStatus = connected ? 'cast_connected' : 'cast'; + TfsReleaseController.prototype.filterSubSequentEnvironments = function (rootElement) { + var _this = this; + var list = this.environments.filter(function (element) { + return element.conditions && element.conditions[0] && + element.conditions[0].conditionType == "environmentState" && + element.conditions[0].name == rootElement.name; }); - this.$scope.$watch(function () { return _this.castSender.invalidOs; }, function (invalidOs) { - _this.canCast = !invalidOs; + angular.forEach(list, function (item) { + var moreList = _this.filterSubSequentEnvironments(item); + if (moreList.length > 0) + angular.forEach(moreList, function (mi) { return list.push(mi); }); }); - } - else { - this.castReceiver = new DashCI.GoogleCastReceiver(); - this.castReceiver.receiveOptions = function (options) { - var defOptions = angular.copy(_this.defOptions); - angular.extend(_this.options, defOptions, options); + return list; + }; + TfsReleaseController.prototype.setIcon = function (item) { + if (item.release) { + switch (item.status) { + case "inProgress": + item.icon = "play_circle_filled"; + break; + case "canceled": + item.icon = "remove_circle"; + break; + case "notStarted": + item.icon = "pause_circle_filled"; + break; + case "rejected": + item.icon = "cancel"; + break; + case "succeeded": + item.icon = "check"; + break; + default: + item.icon = "help"; + break; + } + if (item && item.preDeployApprovals) { + var preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "pending"; }); + if (preDeploy.length > 0) + item.icon = "assignment_ind"; + preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "rejected"; }); + if (preDeploy.length > 0) + item.icon = "assignment_late"; + } + if (item && item.postDeployApprovals) { + var postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "pending"; }); + if (postDeploy.length > 0) + item.icon = "assignment_ind"; + postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "rejected"; }); + if (postDeploy.length > 0) + item.icon = "assignment_late"; + } + } + else { + item.icon = ""; + } + }; + return TfsReleaseController; + }()); + TfsReleaseController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsRelease.TfsReleaseController = TfsReleaseController; + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseDirective = (function () { + function TfsReleaseDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-release/release.html"; + this.replace = false; + this.controller = TfsRelease.TfsReleaseController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-release/release.css", + persist: true }; } - }; - MainController.prototype.toggleCast = function () { - if (this.castStatus == 'cast') { - //connect - this.castSender.sendMessage(this.options); - } - else { - //disconnect - this.castSender.stopApp(); - } - }; - MainController.prototype.CheckGoogleCast = function () { - return (navigator.userAgent.match(/CrKey/i) && - navigator.userAgent.match(/TV/i)); - }; - return MainController; - }()); - MainController.$inject = ["$scope", "$timeout", "$q", "$mdDialog", "globalOptions"]; - DashCI.app.controller("MainController", MainController); - })(Core = DashCI.Core || (DashCI.Core = {})); + TfsReleaseDirective.create = function () { + var directive = function () { return new TfsReleaseDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsReleaseDirective; + }()); + DashCI.app.directive("tfsRelease", TfsReleaseDirective.create()); + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/src/app.js.map b/src/app.js.map index 279cab2..91f7043 100644 --- a/src/app.js.map +++ b/src/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["app/app.ts","app/models/widgets.ts","app/widgets/loader.ts","app/widgets/tfs-release/config-controller.ts","app/widgets/tfs-release/controller.ts","app/widgets/tfs-release/directive.ts","app/widgets/tfs-query-count/config-controller.ts","app/widgets/tfs-query-count/controller.ts","app/widgets/tfs-query-count/tfs-query-count.ts","app/widgets/tfs-query-chart/config-controller.ts","app/widgets/tfs-query-chart/controller.ts","app/widgets/tfs-query-chart/tfs-query-chart.ts","app/widgets/tfs-build-graph/build-graph.ts","app/widgets/tfs-build-graph/config-controller.ts","app/widgets/tfs-build-graph/controller.ts","app/widgets/tfs-build/config-controller.ts","app/widgets/tfs-build/controller.ts","app/widgets/tfs-build/directive.ts","app/widgets/label/config-controller.ts","app/widgets/label/controller.ts","app/widgets/label/label.ts","app/widgets/gitlab-pipeline-graph/config-controller.ts","app/widgets/gitlab-pipeline-graph/controller.ts","app/widgets/gitlab-pipeline-graph/pipeline-graph.ts","app/widgets/gitlab-pipeline/config-controller.ts","app/widgets/gitlab-pipeline/controller.ts","app/widgets/gitlab-pipeline/pipeline.ts","app/widgets/gitlab-issues/config-controller.ts","app/widgets/gitlab-issues/controller.ts","app/widgets/gitlab-issues/issues.ts","app/widgets/github-issues/config-controller.ts","app/widgets/github-issues/controller.ts","app/widgets/github-issues/issues.ts","app/widgets/clock/clock.ts","app/widgets/clock/controller.ts","app/resources/tfs/models.ts","app/resources/tfs/resources.ts","app/resources/gitlab/models.ts","app/resources/gitlab/resources.ts","app/resources/github/models.ts","app/resources/github/resources.ts","app/models/constants.ts","app/models/models.ts","app/core/add-widget-controller.ts","app/core/global-config-controller.ts","app/core/googlecast-receiver.ts","app/core/googlecast-sender.ts","app/core/main-controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app/app.ts","app/core/add-widget-controller.ts","app/core/global-config-controller.ts","app/core/googlecast-receiver.ts","app/core/googlecast-sender.ts","app/core/main-controller.ts","app/models/constants.ts","app/models/models.ts","app/models/widgets.ts","app/resources/github/models.ts","app/resources/github/resources.ts","app/resources/gitlab/models.ts","app/resources/gitlab/resources.ts","app/resources/tfs/models.ts","app/resources/tfs/resources.ts","app/widgets/clock/clock.ts","app/widgets/clock/controller.ts","app/widgets/github-issues/config-controller.ts","app/widgets/github-issues/controller.ts","app/widgets/github-issues/issues.ts","app/widgets/gitlab-issues/config-controller.ts","app/widgets/gitlab-issues/controller.ts","app/widgets/gitlab-issues/issues.ts","app/widgets/gitlab-pipeline-graph/config-controller.ts","app/widgets/gitlab-pipeline-graph/controller.ts","app/widgets/gitlab-pipeline-graph/pipeline-graph.ts","app/widgets/gitlab-pipeline/config-controller.ts","app/widgets/gitlab-pipeline/controller.ts","app/widgets/gitlab-pipeline/pipeline.ts","app/widgets/label/config-controller.ts","app/widgets/label/controller.ts","app/widgets/label/label.ts","app/widgets/loader.ts","app/widgets/tfs-build-graph/build-graph.ts","app/widgets/tfs-build-graph/config-controller.ts","app/widgets/tfs-build-graph/controller.ts","app/widgets/tfs-build/config-controller.ts","app/widgets/tfs-build/controller.ts","app/widgets/tfs-build/directive.ts","app/widgets/tfs-query-chart/config-controller.ts","app/widgets/tfs-query-chart/controller.ts","app/widgets/tfs-query-chart/tfs-query-chart.ts","app/widgets/tfs-query-count/config-controller.ts","app/widgets/tfs-query-count/controller.ts","app/widgets/tfs-query-count/tfs-query-count.ts","app/widgets/tfs-release/config-controller.ts","app/widgets/tfs-release/controller.ts","app/widgets/tfs-release/directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/app/widgets/tfs-release/config-controller.ts b/src/app/widgets/tfs-release/config-controller.ts index 281b89d..4fe7fad 100644 --- a/src/app/widgets/tfs-release/config-controller.ts +++ b/src/app/widgets/tfs-release/config-controller.ts @@ -20,7 +20,7 @@ namespace DashCI.Widgets.TfsRelease { return; res.project_list().$promise .then((result: Resources.Tfs.IProjectResult) => { - this.projects = result.value; + this.projects = mx(result.value).orderBy(x=> x.name).toArray(); }) .catch((reason) => { console.error(reason); From 99ce6e6ebb0e5ae4aa741085d69073bd4ae0307d Mon Sep 17 00:00:00 2001 From: Marcos Junior Date: Fri, 5 May 2017 13:03:03 -0300 Subject: [PATCH 2/2] Dist --- docs/dist/app.js | 2 +- docs/dist/app.js.map | 1 + src/app.js | 5138 +++++++++++++++++++++--------------------- src/app.js.map | 2 +- 4 files changed, 2572 insertions(+), 2571 deletions(-) create mode 100644 docs/dist/app.js.map diff --git a/docs/dist/app.js b/docs/dist/app.js index 0d6ce7a..4c4eb6f 100644 --- a/docs/dist/app.js +++ b/docs/dist/app.js @@ -254,7 +254,7 @@ var DashCI; return; res.project_list().$promise .then(function (result) { - _this.projects = result.value; + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); }) .catch(function (reason) { console.error(reason); diff --git a/docs/dist/app.js.map b/docs/dist/app.js.map new file mode 100644 index 0000000..6910995 --- /dev/null +++ b/docs/dist/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sourceRoot":"","sources":["app/app.ts","app/models/widgets.ts","app/widgets/loader.ts","app/widgets/tfs-release/config-controller.ts","app/widgets/tfs-release/controller.ts","app/widgets/tfs-release/directive.ts","app/widgets/tfs-query-count/config-controller.ts","app/widgets/tfs-query-count/controller.ts","app/widgets/tfs-query-count/tfs-query-count.ts","app/widgets/tfs-query-chart/config-controller.ts","app/widgets/tfs-query-chart/controller.ts","app/widgets/tfs-query-chart/tfs-query-chart.ts","app/widgets/tfs-build-graph/build-graph.ts","app/widgets/tfs-build-graph/config-controller.ts","app/widgets/tfs-build-graph/controller.ts","app/widgets/tfs-build/config-controller.ts","app/widgets/tfs-build/controller.ts","app/widgets/tfs-build/directive.ts","app/widgets/label/config-controller.ts","app/widgets/label/controller.ts","app/widgets/label/label.ts","app/widgets/gitlab-pipeline-graph/config-controller.ts","app/widgets/gitlab-pipeline-graph/controller.ts","app/widgets/gitlab-pipeline-graph/pipeline-graph.ts","app/widgets/gitlab-pipeline/config-controller.ts","app/widgets/gitlab-pipeline/controller.ts","app/widgets/gitlab-pipeline/pipeline.ts","app/widgets/gitlab-issues/config-controller.ts","app/widgets/gitlab-issues/controller.ts","app/widgets/gitlab-issues/issues.ts","app/widgets/github-issues/config-controller.ts","app/widgets/github-issues/controller.ts","app/widgets/github-issues/issues.ts","app/widgets/clock/clock.ts","app/widgets/clock/controller.ts","app/resources/tfs/models.ts","app/resources/tfs/resources.ts","app/resources/gitlab/models.ts","app/resources/gitlab/resources.ts","app/resources/github/models.ts","app/resources/github/resources.ts","app/models/constants.ts","app/models/models.ts","app/core/add-widget-controller.ts","app/core/global-config-controller.ts","app/core/googlecast-receiver.ts","app/core/googlecast-sender.ts","app/core/main-controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/app.js b/src/app.js index 27b4398..4c4eb6f 100644 --- a/src/app.js +++ b/src/app.js @@ -69,1048 +69,707 @@ var DashCI; "use strict"; var DashCI; (function (DashCI) { - var Core; - (function (Core) { - var AddWidgetController = (function () { - function AddWidgetController($mdDialog, widgets, categories) { - this.$mdDialog = $mdDialog; + var Models; + (function (Models) { + var WidgetType; + (function (WidgetType) { + WidgetType[WidgetType["clock"] = 1] = "clock"; + WidgetType[WidgetType["gitlabPipeline"] = 2] = "gitlabPipeline"; + WidgetType[WidgetType["gitlabIssues"] = 3] = "gitlabIssues"; + WidgetType[WidgetType["tfsQueryCount"] = 4] = "tfsQueryCount"; + WidgetType[WidgetType["labelTitle"] = 5] = "labelTitle"; + WidgetType[WidgetType["tfsBuild"] = 6] = "tfsBuild"; + WidgetType[WidgetType["gitlabPipelineGraph"] = 7] = "gitlabPipelineGraph"; + WidgetType[WidgetType["tfsBuildGraph"] = 8] = "tfsBuildGraph"; + WidgetType[WidgetType["githubIssues"] = 9] = "githubIssues"; + WidgetType[WidgetType["tfsRelease"] = 10] = "tfsRelease"; + WidgetType[WidgetType["tfsQueryChart"] = 11] = "tfsQueryChart"; + })(WidgetType = Models.WidgetType || (Models.WidgetType = {})); + var WidgetCategory; + (function (WidgetCategory) { + WidgetCategory[WidgetCategory["generic"] = 1] = "generic"; + WidgetCategory[WidgetCategory["gitlab"] = 2] = "gitlab"; + WidgetCategory[WidgetCategory["tfs"] = 3] = "tfs"; + WidgetCategory[WidgetCategory["github"] = 4] = "github"; + WidgetCategory[WidgetCategory["circleci"] = 5] = "circleci"; + })(WidgetCategory = Models.WidgetCategory || (Models.WidgetCategory = {})); + DashCI.app.constant("widgetcategories", [ + { + value: WidgetCategory.generic, + desc: "Generic Widgets" + }, + { + value: WidgetCategory.gitlab, + desc: "Gitlab Widgets" + }, + { + value: WidgetCategory.tfs, + desc: "TFS/VSTS Widgets" + }, + { + value: WidgetCategory.github, + desc: "Github Widgets" + }, + ]); + DashCI.app.constant("widgets", [ + { + type: WidgetType.clock, + title: "Clock", + desc: "Current date and time.", + category: WidgetCategory.generic + }, + { + type: WidgetType.labelTitle, + directive: "label-title", + title: "Label", + desc: "Static label to create semantic areas", + category: WidgetCategory.generic + }, + { + type: WidgetType.githubIssues, + directive: "github-issues", + title: "GitHub - Issue Query", + desc: "The count of an issue query against a repository.", + category: WidgetCategory.github + }, + { + type: WidgetType.gitlabPipeline, + directive: "gitlab-pipeline", + title: "GitLab - Pipeline", + desc: "The (almost) real time pipeline status for a branch.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.gitlabPipelineGraph, + directive: "gitlab-pipeline-graph", + title: "GitLab - Pipeline Graph", + desc: "The pipeline graph for last N status for a branch.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.gitlabIssues, + directive: "gitlab-issues", + title: "GitLab - Issue Query", + desc: "The count of an issue query against a project.", + category: WidgetCategory.gitlab + }, + { + type: WidgetType.tfsBuild, + directive: "tfs-build", + title: "TFS - Build", + desc: "The (almost) real time build definition status for a project.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsBuildGraph, + directive: "tfs-build-graph", + title: "TFS - Build Graph", + desc: "The build graph for last N builds of a branch.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsRelease, + directive: "tfs-release", + title: "TFS - Release Status", + desc: "The release status for a release definition.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsQueryCount, + directive: "tfs-query-count", + title: "TFS - Query Count", + desc: "The count of a saved query against a project.", + category: WidgetCategory.tfs + }, + { + type: WidgetType.tfsQueryChart, + directive: "tfs-query-chart", + title: "TFS - Query Chart", + desc: "Shows the count of saved querys count at a chart.", + category: WidgetCategory.tfs + }, + ]); + })(Models = DashCI.Models || (DashCI.Models = {})); +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var LoaderDirective = (function () { + function LoaderDirective($compile, widgets) { + var _this = this; + this.$compile = $compile; this.widgets = widgets; - this.categories = categories; + this.scope = { scope: '=', editable: '=', globalOptions: '=' }; + this.restrict = "E"; + this.replace = true; + this.link = function ($scope, $element, attrs, ctrl) { + var widgetParam = $scope.scope; + var wscope = $scope.$new(); + angular.extend(wscope, { + data: widgetParam + }); + var wdesc = _this.widgets.filter(function (item) { return item.type == wscope.data.type; })[0]; + var el = _this.$compile("<" + (wdesc.directive || DashCI.Models.WidgetType[wdesc.type]) + ' class="widget {{data.color}}" />')(wscope); + wscope.$element = el; + $element.replaceWith(el); + $scope.$watch(function () { return $scope.editable; }, function () { return wscope.editable = $scope.editable; }); + $scope.$watch(function () { return $scope.globalOptions; }, function () { return wscope.globalOptions = $scope.globalOptions; }); + }; } - AddWidgetController.prototype.cancel = function () { - this.$mdDialog.cancel(); - }; - AddWidgetController.prototype.select = function (type) { - this.$mdDialog.hide(type); + LoaderDirective.create = function () { + var directive = function ($compile, widgets) { return new LoaderDirective($compile, widgets); }; + directive.$inject = ["$compile", "widgets"]; + return directive; }; - return AddWidgetController; + return LoaderDirective; }()); - AddWidgetController.$inject = ["$mdDialog", "widgets", "widgetcategories"]; - Core.AddWidgetController = AddWidgetController; - })(Core = DashCI.Core || (DashCI.Core = {})); + Widgets.LoaderDirective = LoaderDirective; + DashCI.app.directive("widgetLoader", LoaderDirective.create()); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Core; - (function (Core) { - var GlobalConfigController = (function () { - function GlobalConfigController($timeout, $mdDialog, $scope, $rootscope, vm) { - var _this = this; - this.$timeout = $timeout; - this.$mdDialog = $mdDialog; - this.$rootscope = $rootscope; - this.vm = vm; - this.pageCount = this.vm.pages.length; - $scope.$watch(function () { return _this.pageCount; }, function () { return _this.updatePages(); }); - } - GlobalConfigController.prototype.ok = function () { - this.$mdDialog.hide(); - }; - GlobalConfigController.prototype.updatePages = function () { - if (this.pageCount < 1) - this.pageCount = 1; - if (this.pageCount > 5) - this.pageCount = 5; - if (this.pageCount < this.vm.pages.length) { - for (var i = this.vm.pages.length; i > this.pageCount; i--) { - this.vm.pages.pop(); - } - } - else if (this.pageCount > this.vm.pages.length) { - for (var i = this.vm.pages.length; i < this.pageCount; i++) { - var id = (this.vm.pages.length + 1).toString(); - this.vm.pages.push({ - id: id, - name: "Dash-CI " + id.toString(), - widgets: [] - }); - } + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseConfigController = (function () { + function TfsReleaseConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); } - }; - GlobalConfigController.prototype.reset = function () { - }; - GlobalConfigController.prototype.import = function () { - var _this = this; - var inputFile = $("#import").get(0); - var reader = new FileReader(); - reader.onload = function (event) { - try { - var obj = angular.fromJson(event.target.result); - if (obj && obj.pages && obj.pages.length && obj.pages.length > 0) { - if (confirm("This will reset your current configuration and replace with the file imported.\n\nConfirm importing the file?")) { - _this.vm.pages = null; - angular.extend(_this.vm, obj); - } - alert("File imported successfully"); - _this.$rootscope.$apply(); - _this.$rootscope.$broadcast("dashci-refresh"); - } - else - throw "File format not supported."; - } - catch (e) { - alert(e); - } - }; - reader.readAsText(inputFile.files[0]); - inputFile.value = null; - }; - GlobalConfigController.prototype.export = function () { - var data = jQuery.extend(true, {}, this.vm); - if (data.gitlab) - data.gitlab.privateToken = null; - if (data.tfs) - data.tfs.privateToken = null; - if (data.github && data.github.length) - angular.forEach(data.github, function (item) { return item.privateToken = null; }); - var datatxt = angular.toJson(data); - var myBlob = new Blob([datatxt], { type: "application/json" }); - var url = window.URL.createObjectURL(myBlob); - var a = document.createElement("a"); - a.style.display = "none"; - document.body.appendChild(a); - a.href = url; - a.download = "dash-ci.json"; - a.click(); - this.$timeout(function () { return window.URL.revokeObjectURL(url); }, 1000); - alert("Your configuration was exported. Take note of your private keys, they are not saved to the exported file."); - }; - return GlobalConfigController; - }()); - GlobalConfigController.$inject = ["$timeout", "$mdDialog", "$scope", "$rootScope", "config"]; - Core.GlobalConfigController = GlobalConfigController; - })(Core = DashCI.Core || (DashCI.Core = {})); + TfsReleaseConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getReleaseDefs(); }); + }; + TfsReleaseConfigController.prototype.getReleaseDefs = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.release_definition_list({ project: this.vm.project }).$promise + .then(function (result) { + _this.releases = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.releases = []; + }); + }; + //public cancel() { + // this.$mdDialog.cancel(); + //} + TfsReleaseConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsReleaseConfigController; + }()); + TfsReleaseConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsRelease.TfsReleaseConfigController = TfsReleaseConfigController; + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; var DashCI; (function (DashCI) { - var GoogleCastReceiver = (function () { - function GoogleCastReceiver() { - var _this = this; - this.namespace = 'urn:x-cast:almasistemas.dashci'; - this.script = '//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js'; - var el = document.createElement('script'); - document.body.appendChild(el); - el.onload = function () { - setTimeout(function () { return _this.initializeCastApi(); }, 1000); - }; - el.type = "text/javascript"; - el.src = this.script; - } - GoogleCastReceiver.prototype.initializeCastApi = function () { - var _this = this; - GoogleCastReceiver.Cast = window.cast; - GoogleCastReceiver.Cast.receiver.logger.setLevelValue(0); - this.manager = GoogleCastReceiver.Cast.receiver.CastReceiverManager.getInstance(); - console.log('Starting Receiver Manager'); - this.manager.onReady = function (event) { - console.log('Received Ready event: ' + JSON.stringify(event.data)); - _this.manager.setApplicationState('chromecast-dashboard is ready...'); - }; - this.manager.onSenderConnected = function (event) { - console.log('Received Sender Connected event: ' + event.senderId); - }; - this.manager.onSenderDisconnected = function (event) { - console.log('Received Sender Disconnected event: ' + event.senderId); - if (_this.manager.getSenders().length == 0 && - event.reason == GoogleCastReceiver.Cast.receiver.system.DisconnectReason.REQUESTED_BY_SENDER) { - window.close(); + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseController = (function () { + function TfsReleaseController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.envcontainer = { + width: "0%" + }; + this.env = { + height: "0px", + iconSize: "0px" + }; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsRelease; + this.data.footer = false; + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); } - }; - this.messageBus = - this.manager.getCastMessageBus(this.namespace, GoogleCastReceiver.Cast.receiver.CastMessageBus.MessageType.JSON); - this.messageBus.onMessage = function (event) { return _this.receiveMessage(event); }; - // Initialize the CastReceiverManager with an application status message. - this.manager.start({ statusText: 'Application is starting' }); - console.log('Receiver Manager started'); - }; - GoogleCastReceiver.prototype.receiveMessage = function (event) { - console.log('Message [' + event.senderId + ']: ' + event.data); - if (event.data && this.receiveOptions) - this.receiveOptions(event.data); - }; - return GoogleCastReceiver; - }()); - GoogleCastReceiver.Cast = null; - DashCI.GoogleCastReceiver = GoogleCastReceiver; -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var GoogleCastSender = (function () { - function GoogleCastSender() { - /** - * Call initialization for Cast - */ - var _this = this; - this.script = '//www.gstatic.com/cv/js/sender/v1/cast_sender.js'; - this.applicationID = 'E57E663D'; - this.namespace = 'urn:x-cast:almasistemas.dashci'; - this.session = null; - this.invalidOs = true; - var el = document.createElement('script'); - document.body.appendChild(el); - el.onload = function () { - setTimeout(function () { return _this.initializeCastApi(); }, 1000); - }; - el.type = "text/javascript"; - el.src = this.script; - } - /** - * initialization - */ - GoogleCastSender.prototype.initializeCastApi = function () { - var _this = this; - GoogleCastSender.Cast = window.chrome.cast; - var sessionRequest = new GoogleCastSender.Cast.SessionRequest(this.applicationID); - var apiConfig = new GoogleCastSender.Cast.ApiConfig(sessionRequest, function (e) { return _this.sessionListener(e); }, function (e) { return _this.receiverListener(e); }); - GoogleCastSender.Cast.initialize(apiConfig, function () { return _this.onInitSuccess(); }, function (m) { return _this.onError(m); }); - }; - /** - * initialization success callback - */ - GoogleCastSender.prototype.onInitSuccess = function () { - console.info('Cast onInitSuccess'); - this.invalidOs = false; - }; - /** - * initialization error callback - */ - GoogleCastSender.prototype.onError = function (message) { - console.error('Cast onError: ' + JSON.stringify(message)); - this.connected = false; - }; - /** - * generic success callback - */ - GoogleCastSender.prototype.onSuccess = function (message) { - console.info('Cast onSuccess: ' + message); - this.connected = true; - }; - /** - * callback on success for stopping app - */ - GoogleCastSender.prototype.onStopAppSuccess = function () { - console.info('Cast onStopAppSuccess'); - this.connected = false; - }; - /** - * session listener during initialization - */ - GoogleCastSender.prototype.sessionListener = function (e) { - var _this = this; - console.info('Cast New session ID:' + e.sessionId); - this.session = e; - this.session.addUpdateListener(function (isAlive) { return _this.sessionUpdateListener(isAlive); }); - this.session.addMessageListener(this.namespace, function (namespace, message) { return _this.receiverMessage(namespace, message); }); - }; - /** - * listener for session updates - */ - GoogleCastSender.prototype.sessionUpdateListener = function (isAlive) { - var message = isAlive ? 'Session Updated' : 'Session Removed'; - message += ': ' + this.session.sessionId; - console.debug(message); - if (!isAlive) { - this.session = null; - this.connected = false; - } - }; - /** - * utility private to log messages from the receiver - * @param {string} namespace The namespace of the message - * @param {string} message A message string - */ - GoogleCastSender.prototype.receiverMessage = function (namespace, message) { - console.debug('receiverMessage: ' + namespace + ', ' + message); - }; - /** - * receiver listener during initialization - */ - GoogleCastSender.prototype.receiverListener = function (e) { - if (e === 'available') { - console.info('receiver found'); - } - else { - console.info('receiver list empty'); - } - }; - /** - * stop app/session - */ - GoogleCastSender.prototype.stopApp = function () { - var _this = this; - if (this.session) - this.session.stop(function () { return _this.onStopAppSuccess(); }, function (message) { return _this.onError(message); }); - }; - /** - * send a message to the receiver using the custom namespace - * receiver CastMessageBus message handler will be invoked - * @param {string} message A message string - */ - GoogleCastSender.prototype.sendMessage = function (message) { - var _this = this; - if (this.session != null) { - this.session.sendMessage(this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); - } - else { - GoogleCastSender.Cast.requestSession(function (e) { - _this.session = e; - _this.sessionListener(e); - _this.session.sendMessage(_this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); - }, function (m) { return _this.onError(m); }); - } - }; - return GoogleCastSender; - }()); - GoogleCastSender.Cast = null; - DashCI.GoogleCastSender = GoogleCastSender; -})(DashCI || (DashCI = {})); -/// -"use strict"; -var DashCI; -(function (DashCI) { - var Core; - (function (Core) { - var MainController = (function () { - function MainController($scope, $timeout, $q, $mdDialog, options) { - var _this = this; - this.$scope = $scope; - this.$timeout = $timeout; - this.$q = $q; - this.$mdDialog = $mdDialog; - this.options = options; - this.gridWidth = 800; - this.gridHeight = 600; - this.editable = false; - this.additionPossible = true; - this.gridOptions = { - showGrid: false, - highlightNextPosition: false + TfsReleaseController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); }; - this.updateGridSize = function () { - _this.$timeout(function () { - var grid = document.getElementById('grid'); - _this.gridWidth = grid.clientWidth; - _this.gridHeight = grid.clientHeight; - }, 500); + TfsReleaseController.prototype.init = function () { + this.data.title = this.data.title || "Release"; + this.data.color = this.data.color || "brown"; + //default values + this.data.poolInterval = this.data.poolInterval || 10000; + this.updateInterval(); + this.update(); }; - this.defOptions = { - columns: 30, - rows: 20, - tfs: null, - gitlab: null, - github: [], - circleci: [], - pages: [{ - id: "1", - name: "Dash-CI", - widgets: [] - }] + TfsReleaseController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); + var padding = Number(this.$scope.$element.find(".envcontainer").css("padding-top")) || 5; + this.env.height = ((height - header_size - 25) / this.rowCount() - (padding * 2)).toFixed(2) + "px"; + this.envcontainer.width = ((100 / this.maxColumnCount()) - 0.5).toFixed(2) + "%"; + this.env.iconSize = this.env.height; }; - this.isGoogleCast = this.CheckGoogleCast(); - this.castStatus = 'cast'; - this.canCast = false; - this.castSender = null; - this.castReceiver = null; - this.loadData(); - window.onresize = this.updateGridSize; - this.$scope.$on('wg-grid-full', function () { - _this.additionPossible = false; - }); - this.$scope.$on('wg-grid-space-available', function () { - _this.additionPossible = true; - }); - this.$scope.$on('wg-update-position', function (event, widgetInfo) { - console.log('A widget has changed its position!', widgetInfo); - }); - this.$scope.$on("dashci-refresh", function () { - _this.currentPage = null; - _this.selectedPageId = _this.options.pages[0].id; - _this.changePage(); - }); - this.$scope.$watch(function () { return _this.selectedPageId; }, function () { return _this.changePage(); }); - this.updateGridSize(); - this.initCastApi(); - } - MainController.prototype.changePage = function () { - var _this = this; - if (!this.currentPage || this.selectedPageId != this.currentPage.id) { - this.currentPage = null; - this.$timeout(function () { - _this.currentPage = _this.options.pages.filter(function (item) { return item.id == _this.selectedPageId; })[0]; - }, 500); - } - }; - MainController.prototype.addWidgetDialog = function (ev) { - var _this = this; - if (this.additionPossible) { + TfsReleaseController.prototype.config = function () { + var _this = this; this.$mdDialog.show({ - controller: Core.AddWidgetController, + controller: TfsRelease.TfsReleaseConfigController, controllerAs: "ctrl", - templateUrl: 'app/core/add-widget.html', + templateUrl: 'app/widgets/tfs-release/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, fullscreen: false, - }) - .then(function (type) { return _this.createWidget(type); }); - } - }; - MainController.prototype.globalConfigDialog = function (ev) { - var _this = this; - this.$mdDialog.show({ - controller: Core.GlobalConfigController, - controllerAs: "ctrl", - templateUrl: 'app/core/global-config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.options); }, 1); - return deferred.promise; + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; + } } - } - }) - .then(function () { return _this.saveData(); }); - }; - MainController.prototype.removeWidget = function (widget) { - var idx = this.currentPage.widgets.indexOf(widget); - if (idx > -1) { - this.currentPage.widgets.splice(idx, 1); - } - }; - MainController.prototype.toggleEditable = function () { - this.editable = !this.editable; - this.gridOptions.showGrid = this.editable; - this.saveData(); - }; - MainController.prototype.createWidget = function (type) { - this.currentPage.widgets.push({ - type: type, - position: { left: -1, top: -1, width: 6, height: 4 } - }); - this.saveData(); - }; - MainController.prototype.saveData = function () { - window.localStorage['dash-ci-options'] = angular.toJson(this.options); - }; - MainController.prototype.loadData = function () { - var defOptions = angular.copy(this.defOptions); - var savedOpts = (angular.fromJson(window.localStorage['dash-ci-options']) || defOptions); - angular.extend(this.options, defOptions, savedOpts); - angular.forEach(savedOpts.pages, function (item) { - item.name = item.name || "Dash-CI"; - }); - this.currentPage = this.options.pages[0]; //preparing to support multiple pages - }; - MainController.prototype.initCastApi = function () { - var _this = this; - if (!this.isGoogleCast) { - this.castSender = new DashCI.GoogleCastSender(); - this.$scope.$watch(function () { return _this.castSender.connected; }, function (connected) { - _this.castStatus = connected ? 'cast_connected' : 'cast'; }); - this.$scope.$watch(function () { return _this.castSender.invalidOs; }, function (invalidOs) { - _this.canCast = !invalidOs; - }); - } - else { - this.castReceiver = new DashCI.GoogleCastReceiver(); - this.castReceiver.receiveOptions = function (options) { - var defOptions = angular.copy(_this.defOptions); - angular.extend(_this.options, defOptions, options); - }; - } - }; - MainController.prototype.toggleCast = function () { - if (this.castStatus == 'cast') { - //connect - this.castSender.sendMessage(this.options); - } - else { - //disconnect - this.castSender.stopApp(); - } - }; - MainController.prototype.CheckGoogleCast = function () { - return (navigator.userAgent.match(/CrKey/i) && - navigator.userAgent.match(/TV/i)); - }; - return MainController; - }()); - MainController.$inject = ["$scope", "$timeout", "$q", "$mdDialog", "globalOptions"]; - DashCI.app.controller("MainController", MainController); - })(Core = DashCI.Core || (DashCI.Core = {})); -})(DashCI || (DashCI = {})); -/// -"use strict"; -var DashCI; -(function (DashCI) { - var Models; - (function (Models) { - DashCI.app.constant("colors", [ - { - code: "semi-transp", - desc: "Semi Transparent" - }, - { - code: "transparent", - desc: "Transparent" - }, - { - code: "red", - desc: "Red" - }, - { - code: "green", - desc: "Green" - }, - { - code: "deep-green", - desc: "Deep Green" - }, - { - code: "turkoise", - desc: "Turkoise" - }, - { - code: "purple", - desc: "Purple" - }, - { - code: "pink", - desc: "Pink" - }, - { - code: "blue", - desc: "Blue" - }, - { - code: "amber", - desc: "Amber" - }, - { - code: "orange", - desc: "Orange" - }, - { - code: "brown", - desc: "Brown" - }, - { - code: "grey", - desc: "Grey" - }, - ]); - DashCI.app.constant("intervals", [ - { - value: 10000, - desc: "10 secs" - }, - { - value: 20000, - desc: "20 secs" - }, - { - value: 30000, - desc: "30 secs" - }, - { - value: 60000, - desc: "1 min" - }, - { - value: 120000, - desc: "2 min" - }, - ]); - DashCI.app.constant("aligns", [ - { - code: "center", - desc: "Center" - }, - { - code: "left", - desc: "Left" - }, - { - code: "right", - desc: "Right" - }, - ]); - })(Models = DashCI.Models || (DashCI.Models = {})); + //.then((ok) => this.createWidget(type)); + }; + TfsReleaseController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsReleaseController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.release) + return; + var res = this.tfsResources(); + if (!res) + return; + if (!this.releaseDefinition || this.releaseDefinition.id != this.data.release) { + this.releaseDefinition = null; + res.release_definition({ project: this.data.project, release: this.data.release }).$promise + .then(function (result) { + _this.releaseDefinition = result; + _this.update(); + }) + .catch(function (error) { + _this.releaseDefinition = null; + _this.environment_rows = null; + console.error(error); + }); + } + if (this.releaseDefinition) { + console.log("start request: " + this.data.id + "; " + this.data.title); + res.latest_release_environments({ project: this.data.project, release: this.data.release }) + .$promise.then(function (result) { + _this.latest = result.releases.length > 0 ? result.releases[result.releases.length - 1] : null; + angular.forEach(result.environments, function (e) { + var findRelease = result.releases.filter(function (r) { return e.lastReleases.length > 0 && r.id == e.lastReleases[0].id; }); + var lastestDef = _this.latest.environments.filter(function (re) { return re.definitionEnvironmentId == e.id; })[0]; + if (lastestDef && lastestDef.status == "inProgress") { + angular.extend(e, lastestDef); + } + else if (findRelease.length == 1) { + var releaseEnv = findRelease[0].environments.filter(function (re) { return re.definitionEnvironmentId == e.id; }); + if (releaseEnv.length > 0) + angular.extend(e, releaseEnv[0]); + } + else if (lastestDef) { + e.name = lastestDef.name; + e.conditions = lastestDef.conditions; + } + if (lastestDef) { + var currentEnv = _this.releaseDefinition.environments.filter(function (re) { return re.id == lastestDef.definitionEnvironmentId; }); + e.conditions = currentEnv[0].conditions; + } + if (!e.release && e.lastReleases && e.lastReleases.length > 0) + e.release = result.releases.filter(function (r) { return r.id == e.lastReleases[0].id; })[0]; + _this.setIcon(e); + }); + _this.environments = result.environments; + if (_this.latest) { + var baseEnvs = _this.environments.filter(_this.filterAutomaticAfterReleaseOrManual); + var rows = []; + angular.forEach(baseEnvs, function (item) { + var row = []; + row.push(item); + angular.forEach(_this.filterSubSequentEnvironments(item), function (e) { return row.push(e); }); + rows.push(row); + }); + _this.environment_rows = rows; + } + else { + _this.environments = null; + _this.environment_rows = null; + } + _this.sizeFont(_this.$scope.$element.height()); + }) + .catch(function (error) { + _this.latest = null; + _this.environments = null; + _this.releaseDefinition = null; + _this.environment_rows = null; + console.error(error); + _this.sizeFont(_this.$scope.$element.height()); + }); + } + }; + TfsReleaseController.prototype.rowCount = function () { + return this.environment_rows ? this.environment_rows.length : 0; + }; + TfsReleaseController.prototype.maxColumnCount = function () { + if (!this.environment_rows) + return 0; + var maxColumns = 0; + angular.forEach(this.environment_rows, function (row) { + if (row.length > maxColumns) + maxColumns = row.length; + }); + return maxColumns; + }; + TfsReleaseController.prototype.filterAutomaticAfterReleaseOrManual = function (element) { + return (element.conditions && element.conditions[0] && element.conditions[0].name == "ReleaseStarted") || + (element.conditions && element.conditions.length == 0) //manual + ; + }; + TfsReleaseController.prototype.filterSubSequentEnvironments = function (rootElement) { + var _this = this; + var list = this.environments.filter(function (element) { + return element.conditions && element.conditions[0] && + element.conditions[0].conditionType == "environmentState" && + element.conditions[0].name == rootElement.name; + }); + angular.forEach(list, function (item) { + var moreList = _this.filterSubSequentEnvironments(item); + if (moreList.length > 0) + angular.forEach(moreList, function (mi) { return list.push(mi); }); + }); + return list; + }; + TfsReleaseController.prototype.setIcon = function (item) { + if (item.release) { + switch (item.status) { + case "inProgress": + item.icon = "play_circle_filled"; + break; + case "canceled": + item.icon = "remove_circle"; + break; + case "notStarted": + item.icon = "pause_circle_filled"; + break; + case "rejected": + item.icon = "cancel"; + break; + case "succeeded": + item.icon = "check"; + break; + default: + item.icon = "help"; + break; + } + if (item && item.preDeployApprovals) { + var preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "pending"; }); + if (preDeploy.length > 0) + item.icon = "assignment_ind"; + preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "rejected"; }); + if (preDeploy.length > 0) + item.icon = "assignment_late"; + } + if (item && item.postDeployApprovals) { + var postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "pending"; }); + if (postDeploy.length > 0) + item.icon = "assignment_ind"; + postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "rejected"; }); + if (postDeploy.length > 0) + item.icon = "assignment_late"; + } + } + else { + item.icon = ""; + } + }; + return TfsReleaseController; + }()); + TfsReleaseController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsRelease.TfsReleaseController = TfsReleaseController; + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; -/// var DashCI; (function (DashCI) { - var Models; - (function (Models) { - DashCI.app.value("globalOptions", {}); - })(Models = DashCI.Models || (DashCI.Models = {})); + var Widgets; + (function (Widgets) { + var TfsRelease; + (function (TfsRelease) { + var TfsReleaseDirective = (function () { + function TfsReleaseDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-release/release.html"; + this.replace = false; + this.controller = TfsRelease.TfsReleaseController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-release/release.css", + persist: true + }; + } + TfsReleaseDirective.create = function () { + var directive = function () { return new TfsReleaseDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsReleaseDirective; + }()); + DashCI.app.directive("tfsRelease", TfsReleaseDirective.create()); + })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); -/// "use strict"; var DashCI; (function (DashCI) { - var Models; - (function (Models) { - var WidgetType; - (function (WidgetType) { - WidgetType[WidgetType["clock"] = 1] = "clock"; - WidgetType[WidgetType["gitlabPipeline"] = 2] = "gitlabPipeline"; - WidgetType[WidgetType["gitlabIssues"] = 3] = "gitlabIssues"; - WidgetType[WidgetType["tfsQueryCount"] = 4] = "tfsQueryCount"; - WidgetType[WidgetType["labelTitle"] = 5] = "labelTitle"; - WidgetType[WidgetType["tfsBuild"] = 6] = "tfsBuild"; - WidgetType[WidgetType["gitlabPipelineGraph"] = 7] = "gitlabPipelineGraph"; - WidgetType[WidgetType["tfsBuildGraph"] = 8] = "tfsBuildGraph"; - WidgetType[WidgetType["githubIssues"] = 9] = "githubIssues"; - WidgetType[WidgetType["tfsRelease"] = 10] = "tfsRelease"; - WidgetType[WidgetType["tfsQueryChart"] = 11] = "tfsQueryChart"; - })(WidgetType = Models.WidgetType || (Models.WidgetType = {})); - var WidgetCategory; - (function (WidgetCategory) { - WidgetCategory[WidgetCategory["generic"] = 1] = "generic"; - WidgetCategory[WidgetCategory["gitlab"] = 2] = "gitlab"; - WidgetCategory[WidgetCategory["tfs"] = 3] = "tfs"; - WidgetCategory[WidgetCategory["github"] = 4] = "github"; - WidgetCategory[WidgetCategory["circleci"] = 5] = "circleci"; - })(WidgetCategory = Models.WidgetCategory || (Models.WidgetCategory = {})); - DashCI.app.constant("widgetcategories", [ - { - value: WidgetCategory.generic, - desc: "Generic Widgets" - }, - { - value: WidgetCategory.gitlab, - desc: "Gitlab Widgets" - }, - { - value: WidgetCategory.tfs, - desc: "TFS/VSTS Widgets" - }, - { - value: WidgetCategory.github, - desc: "Github Widgets" - }, - ]); - DashCI.app.constant("widgets", [ - { - type: WidgetType.clock, - title: "Clock", - desc: "Current date and time.", - category: WidgetCategory.generic - }, - { - type: WidgetType.labelTitle, - directive: "label-title", - title: "Label", - desc: "Static label to create semantic areas", - category: WidgetCategory.generic - }, - { - type: WidgetType.githubIssues, - directive: "github-issues", - title: "GitHub - Issue Query", - desc: "The count of an issue query against a repository.", - category: WidgetCategory.github - }, - { - type: WidgetType.gitlabPipeline, - directive: "gitlab-pipeline", - title: "GitLab - Pipeline", - desc: "The (almost) real time pipeline status for a branch.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.gitlabPipelineGraph, - directive: "gitlab-pipeline-graph", - title: "GitLab - Pipeline Graph", - desc: "The pipeline graph for last N status for a branch.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.gitlabIssues, - directive: "gitlab-issues", - title: "GitLab - Issue Query", - desc: "The count of an issue query against a project.", - category: WidgetCategory.gitlab - }, - { - type: WidgetType.tfsBuild, - directive: "tfs-build", - title: "TFS - Build", - desc: "The (almost) real time build definition status for a project.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsBuildGraph, - directive: "tfs-build-graph", - title: "TFS - Build Graph", - desc: "The build graph for last N builds of a branch.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsRelease, - directive: "tfs-release", - title: "TFS - Release Status", - desc: "The release status for a release definition.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsQueryCount, - directive: "tfs-query-count", - title: "TFS - Query Count", - desc: "The count of a saved query against a project.", - category: WidgetCategory.tfs - }, - { - type: WidgetType.tfsQueryChart, - directive: "tfs-query-chart", - title: "TFS - Query Chart", - desc: "Shows the count of saved querys count at a chart.", - category: WidgetCategory.tfs - }, - ]); - })(Models = DashCI.Models || (DashCI.Models = {})); -})(DashCI || (DashCI = {})); -"use strict"; -"use strict"; -var DashCI; -(function (DashCI) { - var Resources; - (function (Resources) { - var Github; - (function (Github) { - DashCI.app.factory('githubResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function (username) { - if (!globalOptions || !globalOptions.github || globalOptions.github.length == 0) - return null; - var accounts = globalOptions.github.filter(function (item) { return item.username == username; }); - if (!accounts || accounts.length != 1) - return null; - var host = "https://api.github.com"; - var headers = { - "Authorization": null, - }; - if (accounts[0].privateToken) - headers.Authorization = "Basic " + btoa(accounts[0].username + ":" + accounts[0].privateToken); - else - delete headers.Authorization; - var transform = function (data, headers) { - var data = angular.fromJson(data); - if (data && typeof (data) === "object") - data.headers = headers(); - return data; - }; - var countParser = function (data, getHeaders, status) { - if (status == 200) { - data = angular.fromJson(data); - var headers = getHeaders(); - var parsedCount = parseInt(headers["X-Total"]); - if (isNaN(parsedCount)) { - parsedCount = 0; - //cannot access X-Total today, let's parse - var links = headers.link.split('>'); - angular.forEach(links, function (item) { - var matches = item.match(/&page=(\d*)/); - if (matches && matches.length > 1) { - var page = Number(matches[1]); - if (page > parsedCount) - parsedCount = page; - } - }); - } - var ret = { - count: parsedCount - }; - return ret; - } - else - return data; - }; - // Return the resource, include your custom actions - return $resource(host, {}, { - repository_list: { - method: 'GET', - isArray: true, - url: host + "/user/repos?sort=updated&direction=desc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - issue_count: { - method: 'GET', - isArray: false, - url: host + "/repos/:owner/:repository/issues?labels=:labels&state=:state&per_page=1", - headers: headers, - cache: false, - transformResponse: countParser - }, + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountConfigController = (function () { + function TfsQueryCountConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { + this.$scope = $scope; + this.$mdDialog = $mdDialog; + this.$q = $q; + this.tfsResources = tfsResources; + this.colors = colors; + this.intervals = intervals; + this.vm = vm; + this.init(); + } + TfsQueryCountConfigController.prototype.init = function () { + var _this = this; + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; }); - }; }]); - })(Github = Resources.Github || (Resources.Github = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getQueries(); }); + }; + TfsQueryCountConfigController.prototype.getQueries = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; + var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; + this.$q.all([q1, q2]) + .then(function (result) { + var q = []; + angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); + angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); + _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); + }).catch(function (reason) { + console.error(reason); + _this.queries = []; + }); + }; + TfsQueryCountConfigController.prototype.ok = function () { + this.$mdDialog.hide(true); + }; + return TfsQueryCountConfigController; + }()); + TfsQueryCountConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; + TfsQueryCount.TfsQueryCountConfigController = TfsQueryCountConfigController; + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; -"use strict"; var DashCI; (function (DashCI) { - var Resources; - (function (Resources) { - var Gitlab; - (function (Gitlab) { - DashCI.app.factory('gitlabResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function () { - if (!globalOptions || !globalOptions.gitlab || !globalOptions.gitlab.host) - return null; - var headers = { - "PRIVATE-TOKEN": null, - }; - if (globalOptions.gitlab.privateToken) - headers["PRIVATE-TOKEN"] = globalOptions.gitlab.privateToken; - else - delete headers["PRIVATE-TOKEN"]; - var transform = function (data, headers) { - var data = angular.fromJson(data); - if (data && typeof (data) === "object") - data.headers = headers(); - return data; - }; - var countParser = function (data, getHeaders, status) { - if (status == 200) { - data = angular.fromJson(data); - var headers = getHeaders(); - var parsedCount = parseInt(headers["X-Total"]); - if (isNaN(parsedCount)) { - parsedCount = 0; - //cannot access X-Total today, let's parse - var links = headers.link.split('>'); - angular.forEach(links, function (item) { - var matches = item.match(/page=(\d*)/); - if (matches && matches.length > 1) { - var page = Number(matches[1]); - if (page > parsedCount) - parsedCount = page; - } - }); + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountController = (function () { + function TfsQueryCountController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var _this = this; + this.$scope = $scope; + this.$q = $q; + this.$timeout = $timeout; + this.$interval = $interval; + this.$mdDialog = $mdDialog; + this.tfsResources = tfsResources; + this.data = this.$scope.data; + this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + this.data.type = DashCI.Models.WidgetType.tfsQueryCount; + this.data.footer = false; + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.init(); + } + TfsQueryCountController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); + }; + TfsQueryCountController.prototype.init = function () { + this.data.title = this.data.title || "Query"; + this.data.color = this.data.color || "grey"; + //default values + this.data.queryId = this.data.queryId || ""; + this.data.poolInterval = this.data.poolInterval || 20000; + this.updateInterval(); + this.update(); + }; + TfsQueryCountController.prototype.sizeFont = function (altura) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(altura / 1.3) + "px"; + var lineSize = Math.round((altura) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(altura - 32); + img.width(size); + img.height(size); + }; + TfsQueryCountController.prototype.config = function () { + var _this = this; + this.$mdDialog.show({ + controller: TfsQueryCount.TfsQueryCountConfigController, + controllerAs: "ctrl", + templateUrl: 'app/widgets/tfs-query-count/config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); + return deferred.promise; } - var ret = { - count: parsedCount - }; - return ret; } - else - return data; - }; - // Return the resource, include your custom actions - return $resource(globalOptions.gitlab.host, {}, { - project_list: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects?order_by=last_activity_at&sort=desc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - group_list: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/groups?all_available=true&order_by=name&sort=asc&per_page=100", - headers: headers, - transformResponse: transform, - cache: true - }, - issue_count: { - method: 'GET', - isArray: false, - url: globalOptions.gitlab.host + "/api/v3/:scope/:scopeId/issues?labels=:labels&state=:state&per_page=1", - headers: headers, - cache: false, - transformResponse: countParser - }, - latest_pipeline: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?scope=branches&ref=:ref&per_page=100", - cache: false, - headers: headers - }, - recent_pipelines: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?ref=:ref&per_page=:count", - cache: false, - headers: headers - }, - commit_count: { - method: 'GET', - isArray: true, - url: globalOptions.gitlab.host + "/api/v3/projects/:project/repository/commits?ref_name=:ref&since=:since&per_page=1", - cache: false, - transformResponse: countParser + }); + //.then((ok) => this.createWidget(type)); + }; + TfsQueryCountController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + }; + TfsQueryCountController.prototype.update = function () { + var _this = this; + if (!this.data.project || !this.data.queryId) + return; + var res = this.tfsResources(); + if (!res) + return; + console.log("tfs query: " + this.data.title); + res.run_query({ + project: this.data.project, + queryId: this.data.queryId + }).$promise.then(function (result) { + var newCount = result.workItems.length; + if (newCount != _this.queryCount) { + _this.queryCount = newCount; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); + } + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.queryCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; + } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.queryCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; } + console.log("end tfs query: " + _this.data.title); + }) + .catch(function (reason) { + _this.queryCount = null; + console.error(reason); }); - }; }]); - })(Gitlab = Resources.Gitlab || (Resources.Gitlab = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + }; + return TfsQueryCountController; + }()); + TfsQueryCountController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsQueryCount.TfsQueryCountController = TfsQueryCountController; + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; -"use strict"; var DashCI; (function (DashCI) { - var Resources; - (function (Resources) { - var Tfs; - (function (Tfs) { - DashCI.app.factory('tfsResources', ['$resource', 'globalOptions', - function ($resource, globalOptions) { return function () { - if (!globalOptions || !globalOptions.tfs || !globalOptions.tfs.host) - return null; - var withCredentials = false; - var headers = { - "Authorization": null - }; - if (globalOptions.tfs.privateToken) { - var encodedString = "Basic " + btoa(":" + globalOptions.tfs.privateToken); - headers["Authorization"] = encodedString; - } - else { - delete headers.Authorization; - withCredentials = true; - } - var tfs_release_preview = globalOptions.tfs.host.replace(".visualstudio.com", ".vsrm.visualstudio.com"); - // Return the resource, include your custom actions - return $resource(globalOptions.tfs.host, {}, { - project_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/_apis/projects?api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - team_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/_apis/projects/:project/teams?api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - query_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/wit/queries/:folder?$depth=2&$expand=all&api-version=2.2", - headers: headers, - cache: true, - withCredentials: withCredentials - }, - run_query: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/:team/_apis/wit/wiql/:queryId?api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - latest_build: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=1&api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - recent_builds: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=:count&api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - build_definition_list: { - method: 'GET', - isArray: false, - url: globalOptions.tfs.host + "/:project/_apis/build/definitions?api-version=2.2", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - release_definition_list: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/definitions?api-version=2.2-preview.1", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - release_definition: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/definitions/:release?api-version=2.2-preview.1", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - latest_release_environments: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&releaseCount=1&includeArtifact=false", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - recent_releases: { - method: 'GET', - isArray: false, - url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&$expand=environments&$top=25&queryOrder=descending", - headers: headers, - cache: false, - withCredentials: withCredentials - }, - }); - }; }]); - })(Tfs = Resources.Tfs || (Resources.Tfs = {})); - })(Resources = DashCI.Resources || (DashCI.Resources = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var Clock; - (function (Clock) { - var ClockDirective = (function () { - function ClockDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/clock/clock.html"; - this.replace = false; - this.controller = Clock.ClockController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/clock/clock.css", - persist: true + var Widgets; + (function (Widgets) { + var TfsQueryCount; + (function (TfsQueryCount) { + var TfsQueryCountDirective = (function () { + function TfsQueryCountDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-query-count/tfs-query-count.html"; + this.replace = false; + this.controller = TfsQueryCount.TfsQueryCountController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-query-count/tfs-query-count.css", + persist: true }; } - ClockDirective.create = function () { - var directive = function () { return new ClockDirective(); }; + TfsQueryCountDirective.create = function () { + var directive = function () { return new TfsQueryCountDirective(); }; directive.$inject = []; return directive; }; - return ClockDirective; + return TfsQueryCountDirective; }()); - DashCI.app.directive("clock", ClockDirective.create()); - })(Clock = Widgets.Clock || (Widgets.Clock = {})); + DashCI.app.directive("tfsQueryCount", TfsQueryCountDirective.create()); + })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1118,119 +777,94 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Clock; - (function (Clock) { - var ClockController = (function () { - function ClockController($scope, $interval) { - var _this = this; + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartConfigController = (function () { + function TfsQueryChartConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { this.$scope = $scope; - this.$interval = $interval; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.clock; - this.data.footer = false; - this.data.header = true; - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.fontSize(height); }); - this.init(); - } - ClockController.prototype.init = function () { - var _this = this; - this.data.title = this.$scope.data.title || "Clock"; - this.data.color = this.$scope.data.color || "green"; - this.handle = this.$interval(function () { return _this.setClock(); }, 1000); - }; - ClockController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - ClockController.prototype.fontSize = function (height) { - var fontSizeTime = Math.round(height / 3.8) + "px"; - var lineTime = Math.round((height / 2) - 20) + "px"; - var fontSizeDate = Math.round(height / 5.9) + "px"; - var lineDate = Math.round((height / 2) - 30) + "px"; - var date = this.$scope.$element.find(".date"); - var time = this.$scope.$element.find(".time"); - date.css('font-size', fontSizeDate); - date.css('line-height', lineDate); - time.css('font-size', fontSizeTime); - time.css('line-height', lineTime); - }; - ClockController.prototype._formatDoubleDigit = function (digit) { - return ('0' + digit).slice(-2); - }; - ClockController.prototype.setClock = function () { - var now = new Date(); - var locale = 'pt-br'; - var status = { - year: now.getFullYear(), - month: (/[a-z]+/gi.exec(now.toLocaleString(locale, { month: "short" })))[0].substring(0, 3), - day: now.getDate(), - hours: this._formatDoubleDigit(now.getHours()), - minutes: this._formatDoubleDigit(now.getMinutes()), - seconds: this._formatDoubleDigit(now.getSeconds()) - }; - this.date = status.day + ' ' + status.month + ' ' + status.year; - this.time = status.hours + ':' + status.minutes + ':' + status.seconds; - }; - return ClockController; - }()); - ClockController.$inject = ["$scope", "$interval"]; - Clock.ClockController = ClockController; - })(Clock = Widgets.Clock || (Widgets.Clock = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesConfigController = (function () { - function GithubIssuesConfigController($mdDialog, $scope, globalOptions, githubResources, colors, intervals, vm) { - var _this = this; this.$mdDialog = $mdDialog; - this.$scope = $scope; - this.globalOptions = globalOptions; - this.githubResources = githubResources; + this.$q = $q; + this.tfsResources = tfsResources; this.colors = colors; this.intervals = intervals; this.vm = vm; - this.$scope.$watch(function () { return _this.vm.username; }, function () { return _this.listRepositories(); }); this.init(); } - GithubIssuesConfigController.prototype.init = function () { + TfsQueryChartConfigController.prototype.init = function () { var _this = this; - this.users = []; - angular.forEach(this.globalOptions.github, function (item) { return _this.users.push(item.username); }); + var res = this.tfsResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { + _this.getTeams(); + _this.getQueries(); + }); + this.$scope.$watch(function () { return _this.vm.queryCount; }, function () { return _this.setQueryList(); }); }; - GithubIssuesConfigController.prototype.listRepositories = function () { + TfsQueryChartConfigController.prototype.getQueries = function () { var _this = this; - this.repositories = []; - var res = this.githubResources(this.vm.username); - if (!res) + var res = this.tfsResources(); + if (!res || !this.vm.project) return; - res.repository_list().$promise + var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; + var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; + this.$q.all([q1, q2]) .then(function (result) { - _this.repositories = mx(result).orderBy(function (x) { return x.full_name; }).toArray(); + var q = []; + angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); + angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); + _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); + }).catch(function (reason) { + console.error(reason); + _this.queries = []; + }); + }; + TfsQueryChartConfigController.prototype.getTeams = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.team_list({ project: this.vm.project }) + .$promise + .then(function (result) { + _this.teams = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); }) .catch(function (reason) { console.error(reason); + _this.teams = []; }); + ; }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - GithubIssuesConfigController.prototype.ok = function () { + TfsQueryChartConfigController.prototype.setQueryList = function () { + if (this.vm.queryIds.length < this.vm.queryCount) { + for (var i = 0; i < this.vm.queryCount; i++) { + this.vm.queryIds.push(""); + this.vm.queryColors.push(""); + } + } + else if (this.vm.queryIds.length > this.vm.queryCount) { + while (this.vm.queryIds.length > this.vm.queryCount) { + this.vm.queryIds.pop(); + this.vm.queryColors.pop(); + } + } + }; + TfsQueryChartConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GithubIssuesConfigController; + return TfsQueryChartConfigController; }()); - GithubIssuesConfigController.$inject = ["$mdDialog", "$scope", "globalOptions", "githubResources", "colors", "intervals", "config"]; - GithubIssues.GithubIssuesConfigController = GithubIssuesConfigController; - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + TfsQueryChartConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; + TfsQueryChart.TfsQueryChartConfigController = TfsQueryChartConfigController; + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1238,56 +872,69 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesController = (function () { - function GithubIssuesController($scope, $q, $timeout, $interval, $mdDialog, githubResources) { + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartController = (function () { + function TfsQueryChartController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.githubResources = githubResources; - this.issueCount = null; + this.tfsResources = tfsResources; + this.total = null; + this.width = 50; + this.height = 50; + this.fontSize = 12; + this.lineSize = 12; + this.doughnutHoleSize = 0.5; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.githubIssues; + this.data.type = DashCI.Models.WidgetType.tfsQueryChart; this.data.footer = false; this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.resizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.resizeBy(width, _this.$scope.$element.height()); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); } - GithubIssuesController.prototype.finalize = function () { + TfsQueryChartController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GithubIssuesController.prototype.init = function () { - this.data.title = this.data.title || "Issues"; + TfsQueryChartController.prototype.init = function () { + this.data.title = this.data.title || "Chart"; this.data.color = this.data.color || "grey"; //default values - this.data.labels = this.data.labels || "bug"; - this.data.status = this.data.status || "open"; - this.data.poolInterval = this.data.poolInterval || 10000; + this.data.queryCount = this.data.queryCount || 2; + this.data.queryIds = this.data.queryIds || ["", ""]; + this.data.queryColors = this.data.queryColors || ["", ""]; + this.data.poolInterval = this.data.poolInterval || 20000; this.updateInterval(); this.update(); }; - GithubIssuesController.prototype.sizeFont = function (height) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(height / 1.3) + "px"; - var lineSize = Math.round((height) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); + TfsQueryChartController.prototype.resizeBy = function (width, height) { + var _this = this; + this.width = width; + this.height = height - 40; + this.fontSize = Math.round(height / 1.3); + this.lineSize = Math.round((height) - 60); + var canvas = this.$scope.$element.find("canvas").get(0); + if (canvas) { + canvas.width = this.width; + canvas.height = this.height; + } + this.$timeout(function () { return _this.drawGraph(); }, 50); }; - GithubIssuesController.prototype.config = function () { + TfsQueryChartController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GithubIssues.GithubIssuesConfigController, + controller: TfsQueryChart.TfsQueryChartConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/github-issues/config.html', + templateUrl: 'app/widgets/tfs-query-chart/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -1302,53 +949,155 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GithubIssuesController.prototype.updateInterval = function () { + TfsQueryChartController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - this.update(); }; - GithubIssuesController.prototype.update = function () { + TfsQueryChartController.prototype.update = function () { var _this = this; - if (!this.data.repository && !this.data.username) + if (!this.data.project || !this.data.queryIds || this.data.queryIds.length == 0) return; - var res = this.githubResources(this.data.username); + var res = this.tfsResources(); if (!res) return; - res.issue_count({ - owner: this.data.repository.split('/')[0], - repository: this.data.repository.split('/')[1], - labels: this.data.labels, - state: this.data.status - }).$promise.then(function (newCount) { - //var newCount = Math.round(Math.random() * 100); - if (newCount.count != _this.issueCount) { - _this.issueCount = newCount.count; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.issueCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.issueCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; + var queries = []; + for (var q in this.data.queryIds) { + var query = this.data.queryIds[q]; + if (query) + queries.push(res.run_query({ + project: this.data.project, + team: this.data.team, + queryId: query + }).$promise); + } + if (queries.length == 0) + return; + console.log("tfs query: " + this.data.title); + this.$q.all(queries) + .then(function (res) { + var resValues = []; + _this.total = 0; + for (var i in res) { + resValues.push(res[i].workItems.length); + _this.total += res[i].workItems.length; } + _this.queryValues = resValues; + _this.drawGraph(); }) .catch(function (reason) { - _this.issueCount = null; + _this.queryValues = null; console.error(reason); }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + this.$timeout(function () { return _this.resizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); }; - return GithubIssuesController; + TfsQueryChartController.prototype.drawGraph = function () { + var data = []; + var labels = []; + var colors = []; + console.log("chart draw start: " + this.data.title); + var bgColor = this.data.color == 'transparent' || this.data.color == 'semi-transparent' ? "black" : + this.getStyleRuleValue("background-color", "." + this.data.color); + for (var i in this.queryValues) { + data.push(this.queryValues[i]); + labels.push(this.queryValues[i].toString()); + var color = this.getStyleRuleValue("background-color", "." + this.data.queryColors[i]); + colors.push(color); + } + //todo: draw segments at canvas. + var canvas = this.$scope.$element.find("canvas").get(0); + if (!canvas) + return; + var ctx = canvas.getContext("2d"); + ctx.clearRect(0, 0, canvas.width, canvas.height); + var total_value = this.total; + var color_index = 0; + var start_angle = 0; + for (var i in data) { + var val = data[i]; + var slice_angle = 2 * Math.PI * val / total_value; + this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), start_angle, start_angle + slice_angle, colors[i]); + start_angle += slice_angle; + color_index++; + } + //drawing a white circle over the chart + //to create the doughnut chart + if (this.doughnutHoleSize) { + this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, this.doughnutHoleSize * Math.min(canvas.width / 2, canvas.height / 2), 0, 2 * Math.PI, bgColor); + } + start_angle = 0; + for (i in data) { + var val = data[i]; + slice_angle = 2 * Math.PI * val / total_value; + var pieRadius = Math.min(canvas.width / 2, canvas.height / 2); + var labelX = canvas.width / 2 + (pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); + var labelY = canvas.height / 2 + (pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); + if (this.doughnutHoleSize) { + var offset = (pieRadius * this.doughnutHoleSize) / 2; + labelX = canvas.width / 2 + (offset + pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); + labelY = canvas.height / 2 + (offset + pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); + } + var labelText = Math.round(100 * val / total_value); + if (labelText > 4) { + ctx.fillStyle = "white"; + ctx.font = "bold 20px Arial"; + ctx.fillText(labelText + "%", labelX, labelY); + start_angle += slice_angle; + } + } + console.log("chart draw complete: " + this.data.title); + }; + /* + private drawLine(ctx:CanvasRenderingContext2D, startX: number, startY: number, endX: number, endY: number) { + ctx.beginPath(); + ctx.moveTo(startX, startY); + ctx.lineTo(endX, endY); + ctx.stroke(); + } + + private drawArc(ctx: CanvasRenderingContext2D, centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number) { + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, startAngle, endAngle); + ctx.stroke(); + } + */ + TfsQueryChartController.prototype.drawPieSlice = function (ctx, centerX, centerY, radius, startAngle, endAngle, color) { + if (color) + ctx.fillStyle = color; + ctx.beginPath(); + ctx.moveTo(centerX, centerY); + ctx.arc(centerX, centerY, radius, startAngle, endAngle); + ctx.closePath(); + //if (!color) { + // ctx.clip(); + // ctx.clearRect(centerX - radius - 1, centerY - radius - 1, + // radius * 2 + 2, radius * 2 + 2); + //} + ctx.fill(); + }; + TfsQueryChartController.prototype.getStyleRuleValue = function (style, selector, sheet) { + var sheets = typeof sheet !== 'undefined' ? [sheet] : document.styleSheets; + for (var i = 0, l = sheets.length; i < l; i++) { + var currentSheet = sheets[i]; + var rules = currentSheet.cssRules || currentSheet.rules; + if (!rules) { + continue; + } + for (var j = 0, k = rules.length; j < k; j++) { + var rule = rules[j]; + if (rule.selectorText && rule.selectorText.split(',').indexOf(selector) !== -1) { + return rule.style[style]; + } + } + } + return null; + }; + return TfsQueryChartController; }()); - GithubIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "githubResources"]; - GithubIssues.GithubIssuesController = GithubIssuesController; - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + TfsQueryChartController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsQueryChart.TfsQueryChartController = TfsQueryChartController; + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1356,30 +1105,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GithubIssues; - (function (GithubIssues) { - var GithubIssuesDirective = (function () { - function GithubIssuesDirective() { + var TfsQueryChart; + (function (TfsQueryChart) { + var TfsQueryChartDirective = (function () { + function TfsQueryChartDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/github-issues/issues.html"; + this.templateUrl = "app/widgets/tfs-query-chart/tfs-query-chart.html"; this.replace = false; - this.controller = GithubIssues.GithubIssuesController; + this.controller = TfsQueryChart.TfsQueryChartController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/github-issues/issues.css", + href: "app/widgets/tfs-query-chart/tfs-query-chart.css", persist: true }; } - GithubIssuesDirective.create = function () { - var directive = function () { return new GithubIssuesDirective(); }; + TfsQueryChartDirective.create = function () { + var directive = function () { return new TfsQueryChartDirective(); }; directive.$inject = []; return directive; }; - return GithubIssuesDirective; + return TfsQueryChartDirective; }()); - DashCI.app.directive("githubIssues", GithubIssuesDirective.create()); - })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); + DashCI.app.directive("tfsQueryChart", TfsQueryChartDirective.create()); + })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1387,50 +1136,89 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesConfigController = (function () { - function GitlabIssuesConfigController($mdDialog, gitlabResources, colors, intervals, vm) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphDirective = (function () { + function TfsBuildGraphDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/tfs-build-graph/build-graph.html"; + this.replace = false; + this.controller = TfsBuildGraph.TfsBuildGraphController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/tfs-build-graph/build-graph.css", + persist: true + }; + } + TfsBuildGraphDirective.create = function () { + var directive = function () { return new TfsBuildGraphDirective(); }; + directive.$inject = []; + return directive; + }; + return TfsBuildGraphDirective; + }()); + DashCI.app.directive("tfsBuildGraph", TfsBuildGraphDirective.create()); + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphConfigController = (function () { + function TfsBuildGraphConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; + this.tfsResources = tfsResources; this.colors = colors; this.intervals = intervals; this.vm = vm; this.init(); } - GitlabIssuesConfigController.prototype.init = function () { + TfsBuildGraphConfigController.prototype.init = function () { var _this = this; - var res = this.gitlabResources(); + var res = this.tfsResources(); if (!res) return; res.project_list().$promise .then(function (result) { - _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); }) .catch(function (reason) { console.error(reason); _this.projects = []; }); - res.group_list().$promise + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); + }; + TfsBuildGraphConfigController.prototype.getBuilds = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.build_definition_list({ project: this.vm.project }).$promise .then(function (result) { - _this.groups = result; + _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); }) .catch(function (reason) { console.error(reason); - _this.groups = []; + _this.builds = []; }); }; //public cancel() { // this.$mdDialog.cancel(); //} - GitlabIssuesConfigController.prototype.ok = function () { + TfsBuildGraphConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GitlabIssuesConfigController; + return TfsBuildGraphConfigController; }()); - GitlabIssuesConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabIssues.GitlabIssuesConfigController = GitlabIssuesConfigController; - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); + TfsBuildGraphConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsBuildGraph.TfsBuildGraphConfigController = TfsBuildGraphConfigController; + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1438,55 +1226,56 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesController = (function () { - function GitlabIssuesController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var TfsBuildGraph; + (function (TfsBuildGraph) { + var TfsBuildGraphController = (function () { + function TfsBuildGraphController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; + this.tfsResources = tfsResources; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabIssues; + this.data.type = DashCI.Models.WidgetType.tfsBuildGraph; this.data.footer = false; this.data.header = true; this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); } - GitlabIssuesController.prototype.finalize = function () { + TfsBuildGraphController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GitlabIssuesController.prototype.init = function () { - this.data.title = this.data.title || "Issues"; - this.data.color = this.data.color || "grey"; + TfsBuildGraphController.prototype.init = function () { + this.data.title = this.data.title || "Build Graph"; + this.data.color = this.data.color || "blue"; //default values - this.data.labels = this.data.labels || "bug"; - this.data.status = this.data.status || "opened"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GitlabIssuesController.prototype.sizeFont = function (height) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(height / 1.3) + "px"; - var lineSize = Math.round((height) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); + TfsBuildGraphController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var histogram = this.$scope.$element.find(".histogram"); + histogram.height(height - 50); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); }; - GitlabIssuesController.prototype.config = function () { + TfsBuildGraphController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabIssues.GitlabIssuesConfigController, + controller: TfsBuildGraph.TfsBuildGraphConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-issues/config.html', + templateUrl: 'app/widgets/Tfs-Build-graph/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -1501,84 +1290,61 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabIssuesController.prototype.updateInterval = function () { + TfsBuildGraphController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - GitlabIssuesController.prototype.update = function () { + TfsBuildGraphController.prototype.update = function () { var _this = this; - if (!this.data.project && !this.data.group) + if (!this.data.project || !this.data.build) return; - var res = this.gitlabResources(); + var res = this.tfsResources(); if (!res) return; - res.issue_count({ - scope: this.data.query_type, - scopeId: this.data.query_type == 'projects' ? this.data.project : this.data.group, - labels: this.data.labels, - state: this.data.status - }).$promise.then(function (newCount) { - //var newCount = Math.round(Math.random() * 100); - if (newCount.count != _this.issueCount) { - _this.issueCount = newCount.count; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.issueCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.issueCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; - } - }) - .catch(function (reason) { - _this.issueCount = null; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.recent_builds({ + project: this.data.project, + build: this.data.build, + count: 40 + }).$promise.then(function (result) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + var builds = result.value.reverse(); + var maxDuration = 1; + angular.forEach(builds, function (item) { + if (item.finishTime) { + var finishTime = moment(item.finishTime); + var startTime = moment(item.startTime); + item.duration = finishTime.diff(startTime, 'seconds'); + if (maxDuration < item.duration) + maxDuration = item.duration; + } + }); + var width = (100 / builds.length); + angular.forEach(builds, function (item, i) { + var height = Math.round((100 * item.duration) / maxDuration); + if (height < 1) + height = 1; + item.css = { + height: height.toString() + "%", + width: width.toFixed(2) + "%", + left: (width * i).toFixed(2) + "%" + }; + }); + _this.builds = builds; + _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + }).catch(function (reason) { + _this.builds = []; console.error(reason); }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); - }; - return GitlabIssuesController; - }()); - GitlabIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabIssues.GitlabIssuesController = GitlabIssuesController; - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var GitlabIssues; - (function (GitlabIssues) { - var GitlabIssuesDirective = (function () { - function GitlabIssuesDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-issues/issues.html"; - this.replace = false; - this.controller = GitlabIssues.GitlabIssuesController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/gitlab-issues/issues.css", - persist: true - }; - } - GitlabIssuesDirective.create = function () { - var directive = function () { return new GitlabIssuesDirective(); }; - directive.$inject = []; - return directive; }; - return GitlabIssuesDirective; + return TfsBuildGraphController; }()); - DashCI.app.directive("gitlabIssues", GitlabIssuesDirective.create()); - })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); + TfsBuildGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsBuildGraph.TfsBuildGraphController = TfsBuildGraphController; + })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1586,42 +1352,58 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphConfigController = (function () { - function GitlabPipelineGraphConfigController($mdDialog, gitlabResources, colors, intervals, vm) { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildConfigController = (function () { + function TfsBuildConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { + this.$scope = $scope; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; + this.tfsResources = tfsResources; this.colors = colors; this.intervals = intervals; this.vm = vm; this.init(); } - GitlabPipelineGraphConfigController.prototype.init = function () { + TfsBuildConfigController.prototype.init = function () { var _this = this; - var res = this.gitlabResources(); + var res = this.tfsResources(); if (!res) return; res.project_list().$promise .then(function (result) { - _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); + _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); }) .catch(function (reason) { console.error(reason); _this.projects = []; }); + this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); + }; + TfsBuildConfigController.prototype.getBuilds = function () { + var _this = this; + var res = this.tfsResources(); + if (!res || !this.vm.project) + return; + res.build_definition_list({ project: this.vm.project }).$promise + .then(function (result) { + _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.builds = []; + }); }; //public cancel() { // this.$mdDialog.cancel(); //} - GitlabPipelineGraphConfigController.prototype.ok = function () { + TfsBuildConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GitlabPipelineGraphConfigController; + return TfsBuildConfigController; }()); - GitlabPipelineGraphConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabPipelineGraph.GitlabPipelineGraphConfigController = GitlabPipelineGraphConfigController; - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + TfsBuildConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; + TfsBuild.TfsBuildConfigController = TfsBuildConfigController; + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1629,57 +1411,72 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphController = (function () { - function GitlabPipelineGraphController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildController = (function () { + function TfsBuildController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; + this.tfsResources = tfsResources; + this.icon = "help"; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabPipelineGraph; + this.data.type = DashCI.Models.WidgetType.tfsBuild; this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); } - GitlabPipelineGraphController.prototype.finalize = function () { + TfsBuildController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - GitlabPipelineGraphController.prototype.init = function () { - this.data.title = this.data.title || "Pipeline Graph"; - this.data.color = this.data.color || "blue"; + TfsBuildController.prototype.init = function () { + this.data.title = this.data.title || "Build"; + this.data.color = this.data.color || "green"; //default values - this.data.ref = this.data.ref || "master"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - GitlabPipelineGraphController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var histogram = this.$scope.$element.find(".histogram"); - histogram.height(height - 50); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); + TfsBuildController.prototype.sizeBy = function (width, height) { + this.hideDetails = (width < height * 1.7); + var icon = this.$scope.$element.find(".play-status md-icon"); + var fontSize = (Math.round(height / 1) - (this.hideDetails ? 50 : 0)) + "px"; + //var lineSize = Math.round((altura) - 60) + "px"; + icon.css('font-size', fontSize); + icon.parent().width(Math.round(height / 1)); + //p.css('line-height', lineSize); + var header = this.$scope.$element.find(".header"); + fontSize = Math.round(height / 1) + "px"; + header.css('text-indent', fontSize); + //var title = this.$scope.$element.find("h2"); + //fontSize = Math.round(height / 6) + "px"; + //title.css('font-size', fontSize); + var txt = this.$scope.$element.find("h4"); + fontSize = Math.round(height / 7) + "px"; + txt.css('font-size', fontSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(height - 32); + img.width(size); + img.height(size); + this.hideAvatar = width < 390; }; - GitlabPipelineGraphController.prototype.config = function () { + TfsBuildController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabPipelineGraph.GitlabPipelineGraphConfigController, + controller: TfsBuild.TfsBuildConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-pipeline-graph/config.html', + templateUrl: 'app/widgets/tfs-build/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -1694,56 +1491,87 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabPipelineGraphController.prototype.updateInterval = function () { + TfsBuildController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - this.update(); }; - GitlabPipelineGraphController.prototype.update = function () { + TfsBuildController.prototype.update = function () { var _this = this; - if (!this.data.project) + if (!this.data.project || !this.data.build) return; - var res = this.gitlabResources(); + var res = this.tfsResources(); if (!res) return; console.log("start request: " + this.data.id + "; " + this.data.title); - res.recent_pipelines({ + res.latest_build({ project: this.data.project, - ref: this.data.ref, - count: 60 //since we don't have a filter by ref, lets take more and then filter crossing fingers - }).$promise.then(function (pipelines) { + build: this.data.build + }).$promise.then(function (build) { console.log("end request: " + _this.data.id + "; " + _this.data.title); - pipelines = pipelines.filter(function (item) { return DashCI.wildcardMatch(_this.data.ref, item.ref); }).slice(0, _this.data.count).reverse(); - var maxDuration = 1; - angular.forEach(pipelines, function (item) { - if (maxDuration < item.duration) - maxDuration = item.duration; - }); - var width = (100 / pipelines.length); - angular.forEach(pipelines, function (item, i) { - var height = Math.round((100 * item.duration) / maxDuration); - if (height < 1) - height = 1; - item.css = { - height: height.toString() + "%", - width: width.toFixed(2) + "%", - left: (width * i).toFixed(2) + "%" - }; - }); - _this.pipelines = pipelines; - _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + var new_build = null; + if (build.value.length >= 1) + new_build = build.value[0]; + _this.latest = new_build; + _this.latest.sourceBranch = _this.latest.sourceBranch.replace("refs/heads/", ""); //is it right? + if (_this.latest && _this.latest.status) { + switch (_this.latest.status) { + case "notStarted": + case "postponed": + case "none": + _this.icon = "pause_circle_filled"; + break; + case "inProgress": + _this.icon = "play_circle_filled"; + break; + case "cancelling": + case "stopped": + _this.icon = "remove_circle"; + break; + case "completed": + switch (_this.latest.result) { + case "partiallySucceeded": + case "succeeded": + _this.icon = "check"; + break; + case "failed": + _this.icon = "cancel"; + break; + case "canceled": + _this.icon = "remove_circle"; + break; + case "default": + _this.icon = "help"; + break; + } + break; + case "default": + _this.icon = "help"; + break; + } + } + else + _this.icon = "help"; + //var p = this.$scope.$element.find("p"); + //p.addClass('changed'); + //this.$timeout(() => p.removeClass('changed'), 1000); + _this.resizeWidget(); }).catch(function (reason) { - _this.pipelines = null; + _this.latest = null; console.error(reason); + _this.resizeWidget(); }); }; - return GitlabPipelineGraphController; + TfsBuildController.prototype.resizeWidget = function () { + var _this = this; + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + }; + return TfsBuildController; }()); - GitlabPipelineGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabPipelineGraph.GitlabPipelineGraphController = GitlabPipelineGraphController; - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + TfsBuildController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; + TfsBuild.TfsBuildController = TfsBuildController; + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1751,30 +1579,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipelineGraph; - (function (GitlabPipelineGraph) { - var GitlabPipelineGraphDirective = (function () { - function GitlabPipelineGraphDirective() { + var TfsBuild; + (function (TfsBuild) { + var TfsBuildDirective = (function () { + function TfsBuildDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-pipeline-graph/pipeline-graph.html"; + this.templateUrl = "app/widgets/tfs-build/build.html"; this.replace = false; - this.controller = GitlabPipelineGraph.GitlabPipelineGraphController; + this.controller = TfsBuild.TfsBuildController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/gitlab-pipeline-graph/pipeline-graph.css", + href: "app/widgets/tfs-build/build.css", persist: true }; } - GitlabPipelineGraphDirective.create = function () { - var directive = function () { return new GitlabPipelineGraphDirective(); }; + TfsBuildDirective.create = function () { + var directive = function () { return new TfsBuildDirective(); }; directive.$inject = []; return directive; }; - return GitlabPipelineGraphDirective; + return TfsBuildDirective; }()); - DashCI.app.directive("gitlabPipelineGraph", GitlabPipelineGraphDirective.create()); - })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); + DashCI.app.directive("tfsBuild", TfsBuildDirective.create()); + })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1782,42 +1610,26 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineConfigController = (function () { - function GitlabPipelineConfigController($mdDialog, gitlabResources, colors, intervals, vm) { + var Label; + (function (Label) { + var LabelConfigController = (function () { + function LabelConfigController($mdDialog, colors, aligns, vm) { this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; this.colors = colors; - this.intervals = intervals; + this.aligns = aligns; this.vm = vm; this.init(); } - GitlabPipelineConfigController.prototype.init = function () { - var _this = this; - var res = this.gitlabResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); + LabelConfigController.prototype.init = function () { }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - GitlabPipelineConfigController.prototype.ok = function () { + LabelConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return GitlabPipelineConfigController; + return LabelConfigController; }()); - GitlabPipelineConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; - GitlabPipeline.GitlabPipelineConfigController = GitlabPipelineConfigController; - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + LabelConfigController.$inject = ["$mdDialog", "colors", "aligns", "config"]; + Label.LabelConfigController = LabelConfigController; + })(Label = Widgets.Label || (Widgets.Label = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1825,72 +1637,34 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineController = (function () { - function GitlabPipelineController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { + var Label; + (function (Label) { + var LabelController = (function () { + function LabelController($scope, $timeout, $mdDialog, $q) { var _this = this; this.$scope = $scope; - this.$q = $q; this.$timeout = $timeout; - this.$interval = $interval; this.$mdDialog = $mdDialog; - this.gitlabResources = gitlabResources; - this.icon = "help"; + this.$q = $q; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.gitlabPipeline; + this.data.type = DashCI.Models.WidgetType.labelTitle; this.data.footer = false; this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.init(); } - GitlabPipelineController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); + LabelController.prototype.init = function () { + this.data.title = this.data.title || "Label"; + this.data.color = this.data.color || "semi-transp"; + this.data.align = this.data.align || "center"; }; - GitlabPipelineController.prototype.init = function () { - this.data.title = this.data.title || "Pipeline"; - this.data.color = this.data.color || "green"; - //default values - this.data.refs = this.data.refs || "master"; - this.data.poolInterval = this.data.poolInterval || 10000; - this.updateInterval(); - this.update(); - }; - GitlabPipelineController.prototype.sizeBy = function (width, height) { - this.hideDetails = (width < height * 1.7); - var icon = this.$scope.$element.find(".play-status md-icon"); - var fontSize = (Math.round(height / 1) - (this.hideDetails ? 30 : 0)) + "px"; - //var lineSize = Math.round((altura) - 60) + "px"; - icon.css('font-size', fontSize); - icon.parent().width(Math.round(height / 1)); - //p.css('line-height', lineSize); - var header = this.$scope.$element.find(".header"); - fontSize = Math.round(height / 1) + "px"; - header.css('text-indent', fontSize); - //var title = this.$scope.$element.find("h2"); - //fontSize = Math.round(altura / 6) + "px"; - //title.css('font-size', fontSize); - var txt = this.$scope.$element.find("h4"); - fontSize = Math.round(height / 7) + "px"; - txt.css('font-size', fontSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(height - 32); - img.width(size); - img.height(size); - this.hideAvatar = width < 390; - }; - GitlabPipelineController.prototype.config = function () { + LabelController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: GitlabPipeline.GitlabPipelineConfigController, + controller: Label.LabelConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/gitlab-pipeline/config.html', + templateUrl: 'app/widgets/label/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -1905,75 +1679,18 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - GitlabPipelineController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - this.update(); - }; - GitlabPipelineController.prototype.update = function () { - var _this = this; - if (!this.data.project) - return; - var res = this.gitlabResources(); - if (!res) - return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_pipeline({ - project: this.data.project, - ref: this.data.refs - }).$promise.then(function (pipelines) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - var new_pipeline = null; - var refList = _this.data.refs.split(","); - pipelines = pipelines.filter(function (i) { return refList.filter(function (r) { return DashCI.wildcardMatch(r, i.ref); }).length > 0; }); - if (pipelines.length >= 1) - new_pipeline = pipelines[0]; - _this.latest = new_pipeline; - if (_this.latest && _this.latest.status) { - switch (_this.latest.status) { - case "pending": - _this.icon = "pause_circle_filled"; - break; - case "running": - _this.icon = "play_circle_filled"; - break; - case "canceled": - _this.icon = "remove_circle"; - break; - case "success": - _this.icon = "check"; - break; - case "failed": - _this.icon = "cancel"; - break; - case "default": - _this.icon = "help"; - break; - } - } - else - _this.icon = "help"; - //var p = this.$scope.$element.find("p"); - //p.addClass('changed'); - //this.$timeout(() => p.removeClass('changed'), 1000); - _this.resizeWidget(); - }).catch(function (reason) { - _this.latest = null; - console.error(reason); - _this.resizeWidget(); - }); - }; - GitlabPipelineController.prototype.resizeWidget = function () { - var _this = this; - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + LabelController.prototype.sizeFont = function (height) { + var div = this.$scope.$element.find("div"); + var fontSize = Math.round(height / 1.6) + "px"; + var lineSize = Math.round((height) - 8) + "px"; + div.css('font-size', fontSize); + div.css('line-height', lineSize); }; - return GitlabPipelineController; + return LabelController; }()); - GitlabPipelineController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; - GitlabPipeline.GitlabPipelineController = GitlabPipelineController; - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + LabelController.$inject = ["$scope", "$timeout", "$mdDialog", "$q"]; + Label.LabelController = LabelController; + })(Label = Widgets.Label || (Widgets.Label = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -1981,30 +1698,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var GitlabPipeline; - (function (GitlabPipeline) { - var GitlabPipelineDirective = (function () { - function GitlabPipelineDirective() { + var Label; + (function (Label) { + var LabelDirective = (function () { + function LabelDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/gitlab-pipeline/pipeline.html"; + this.templateUrl = "app/widgets/label/label.html"; this.replace = false; - this.controller = GitlabPipeline.GitlabPipelineController; + this.controller = Label.LabelController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/gitlab-pipeline/pipeline.css", + href: "app/widgets/label/label.css", persist: true }; } - GitlabPipelineDirective.create = function () { - var directive = function () { return new GitlabPipelineDirective(); }; + LabelDirective.create = function () { + var directive = function () { return new LabelDirective(); }; directive.$inject = []; return directive; }; - return GitlabPipelineDirective; + return LabelDirective; }()); - DashCI.app.directive("gitlabPipeline", GitlabPipelineDirective.create()); - })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + DashCI.app.directive("labelTitle", LabelDirective.create()); + })(Label = Widgets.Label || (Widgets.Label = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2012,26 +1729,42 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Label; - (function (Label) { - var LabelConfigController = (function () { - function LabelConfigController($mdDialog, colors, aligns, vm) { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphConfigController = (function () { + function GitlabPipelineGraphConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; + this.gitlabResources = gitlabResources; this.colors = colors; - this.aligns = aligns; + this.intervals = intervals; this.vm = vm; this.init(); } - LabelConfigController.prototype.init = function () { + GitlabPipelineGraphConfigController.prototype.init = function () { + var _this = this; + var res = this.gitlabResources(); + if (!res) + return; + res.project_list().$promise + .then(function (result) { + _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); + }) + .catch(function (reason) { + console.error(reason); + _this.projects = []; + }); }; - LabelConfigController.prototype.ok = function () { + //public cancel() { + // this.$mdDialog.cancel(); + //} + GitlabPipelineGraphConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return LabelConfigController; + return GitlabPipelineGraphConfigController; }()); - LabelConfigController.$inject = ["$mdDialog", "colors", "aligns", "config"]; - Label.LabelConfigController = LabelConfigController; - })(Label = Widgets.Label || (Widgets.Label = {})); + GitlabPipelineGraphConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabPipelineGraph.GitlabPipelineGraphConfigController = GitlabPipelineGraphConfigController; + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2039,34 +1772,57 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var Label; - (function (Label) { - var LabelController = (function () { - function LabelController($scope, $timeout, $mdDialog, $q) { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphController = (function () { + function GitlabPipelineGraphController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; + this.$q = $q; this.$timeout = $timeout; + this.$interval = $interval; this.$mdDialog = $mdDialog; - this.$q = $q; + this.gitlabResources = gitlabResources; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.labelTitle; + this.data.type = DashCI.Models.WidgetType.gitlabPipelineGraph; this.data.footer = false; - this.data.header = false; + this.data.header = true; this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); + this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); } - LabelController.prototype.init = function () { - this.data.title = this.data.title || "Label"; - this.data.color = this.data.color || "semi-transp"; - this.data.align = this.data.align || "center"; + GitlabPipelineGraphController.prototype.finalize = function () { + if (this.handle) + this.$interval.cancel(this.handle); + console.log("dispose: " + this.data.id + "-" + this.data.title); }; - LabelController.prototype.config = function () { + GitlabPipelineGraphController.prototype.init = function () { + this.data.title = this.data.title || "Pipeline Graph"; + this.data.color = this.data.color || "blue"; + //default values + this.data.ref = this.data.ref || "master"; + this.data.poolInterval = this.data.poolInterval || 10000; + this.updateInterval(); + this.update(); + }; + GitlabPipelineGraphController.prototype.sizeFont = function (height) { + var header_size = this.$scope.$element.find(".header").height(); + var histogram = this.$scope.$element.find(".histogram"); + histogram.height(height - 50); + var help_icon = this.$scope.$element.find(".unknown"); + var size = Math.round(height / 1) - header_size - 5; + help_icon.css("font-size", size); + help_icon.height(size); + }; + GitlabPipelineGraphController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: Label.LabelConfigController, + controller: GitlabPipelineGraph.GitlabPipelineGraphConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/label/config.html', + templateUrl: 'app/widgets/gitlab-pipeline-graph/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2081,88 +1837,56 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - LabelController.prototype.sizeFont = function (height) { - var div = this.$scope.$element.find("div"); - var fontSize = Math.round(height / 1.6) + "px"; - var lineSize = Math.round((height) - 8) + "px"; - div.css('font-size', fontSize); - div.css('line-height', lineSize); + GitlabPipelineGraphController.prototype.updateInterval = function () { + var _this = this; + if (this.handle) + this.$interval.cancel(this.handle); + this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + this.update(); }; - return LabelController; - }()); - LabelController.$inject = ["$scope", "$timeout", "$mdDialog", "$q"]; - Label.LabelController = LabelController; - })(Label = Widgets.Label || (Widgets.Label = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var Label; - (function (Label) { - var LabelDirective = (function () { - function LabelDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/label/label.html"; - this.replace = false; - this.controller = Label.LabelController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/label/label.css", - persist: true - }; - } - LabelDirective.create = function () { - var directive = function () { return new LabelDirective(); }; - directive.$inject = []; - return directive; - }; - return LabelDirective; - }()); - DashCI.app.directive("labelTitle", LabelDirective.create()); - })(Label = Widgets.Label || (Widgets.Label = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -/// -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var LoaderDirective = (function () { - function LoaderDirective($compile, widgets) { - var _this = this; - this.$compile = $compile; - this.widgets = widgets; - this.scope = { scope: '=', editable: '=', globalOptions: '=' }; - this.restrict = "E"; - this.replace = true; - this.link = function ($scope, $element, attrs, ctrl) { - var widgetParam = $scope.scope; - var wscope = $scope.$new(); - angular.extend(wscope, { - data: widgetParam + GitlabPipelineGraphController.prototype.update = function () { + var _this = this; + if (!this.data.project) + return; + var res = this.gitlabResources(); + if (!res) + return; + console.log("start request: " + this.data.id + "; " + this.data.title); + res.recent_pipelines({ + project: this.data.project, + ref: this.data.ref, + count: 60 //since we don't have a filter by ref, lets take more and then filter crossing fingers + }).$promise.then(function (pipelines) { + console.log("end request: " + _this.data.id + "; " + _this.data.title); + pipelines = pipelines.filter(function (item) { return DashCI.wildcardMatch(_this.data.ref, item.ref); }).slice(0, _this.data.count).reverse(); + var maxDuration = 1; + angular.forEach(pipelines, function (item) { + if (maxDuration < item.duration) + maxDuration = item.duration; + }); + var width = (100 / pipelines.length); + angular.forEach(pipelines, function (item, i) { + var height = Math.round((100 * item.duration) / maxDuration); + if (height < 1) + height = 1; + item.css = { + height: height.toString() + "%", + width: width.toFixed(2) + "%", + left: (width * i).toFixed(2) + "%" + }; + }); + _this.pipelines = pipelines; + _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + }).catch(function (reason) { + _this.pipelines = null; + console.error(reason); }); - var wdesc = _this.widgets.filter(function (item) { return item.type == wscope.data.type; })[0]; - var el = _this.$compile("<" + (wdesc.directive || DashCI.Models.WidgetType[wdesc.type]) + ' class="widget {{data.color}}" />')(wscope); - wscope.$element = el; - $element.replaceWith(el); - $scope.$watch(function () { return $scope.editable; }, function () { return wscope.editable = $scope.editable; }); - $scope.$watch(function () { return $scope.globalOptions; }, function () { return wscope.globalOptions = $scope.globalOptions; }); }; - } - LoaderDirective.create = function () { - var directive = function ($compile, widgets) { return new LoaderDirective($compile, widgets); }; - directive.$inject = ["$compile", "widgets"]; - return directive; - }; - return LoaderDirective; - }()); - Widgets.LoaderDirective = LoaderDirective; - DashCI.app.directive("widgetLoader", LoaderDirective.create()); + return GitlabPipelineGraphController; + }()); + GitlabPipelineGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabPipelineGraph.GitlabPipelineGraphController = GitlabPipelineGraphController; + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2170,30 +1894,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphDirective = (function () { - function TfsBuildGraphDirective() { + var GitlabPipelineGraph; + (function (GitlabPipelineGraph) { + var GitlabPipelineGraphDirective = (function () { + function GitlabPipelineGraphDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-build-graph/build-graph.html"; + this.templateUrl = "app/widgets/gitlab-pipeline-graph/pipeline-graph.html"; this.replace = false; - this.controller = TfsBuildGraph.TfsBuildGraphController; + this.controller = GitlabPipelineGraph.GitlabPipelineGraphController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/tfs-build-graph/build-graph.css", + href: "app/widgets/gitlab-pipeline-graph/pipeline-graph.css", persist: true }; } - TfsBuildGraphDirective.create = function () { - var directive = function () { return new TfsBuildGraphDirective(); }; + GitlabPipelineGraphDirective.create = function () { + var directive = function () { return new GitlabPipelineGraphDirective(); }; directive.$inject = []; return directive; }; - return TfsBuildGraphDirective; + return GitlabPipelineGraphDirective; }()); - DashCI.app.directive("tfsBuildGraph", TfsBuildGraphDirective.create()); - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + DashCI.app.directive("gitlabPipelineGraph", GitlabPipelineGraphDirective.create()); + })(GitlabPipelineGraph = Widgets.GitlabPipelineGraph || (Widgets.GitlabPipelineGraph = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2201,58 +1925,42 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphConfigController = (function () { - function TfsBuildGraphConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineConfigController = (function () { + function GitlabPipelineConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; + this.gitlabResources = gitlabResources; this.colors = colors; this.intervals = intervals; this.vm = vm; this.init(); } - TfsBuildGraphConfigController.prototype.init = function () { + GitlabPipelineConfigController.prototype.init = function () { var _this = this; - var res = this.tfsResources(); + var res = this.gitlabResources(); if (!res) return; res.project_list().$promise .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); }) .catch(function (reason) { console.error(reason); _this.projects = []; }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); - }; - TfsBuildGraphConfigController.prototype.getBuilds = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.build_definition_list({ project: this.vm.project }).$promise - .then(function (result) { - _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.builds = []; - }); }; //public cancel() { // this.$mdDialog.cancel(); //} - TfsBuildGraphConfigController.prototype.ok = function () { + GitlabPipelineConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return TfsBuildGraphConfigController; + return GitlabPipelineConfigController; }()); - TfsBuildGraphConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsBuildGraph.TfsBuildGraphConfigController = TfsBuildGraphConfigController; - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + GitlabPipelineConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabPipeline.GitlabPipelineConfigController = GitlabPipelineConfigController; + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2260,56 +1968,72 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuildGraph; - (function (TfsBuildGraph) { - var TfsBuildGraphController = (function () { - function TfsBuildGraphController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineController = (function () { + function GitlabPipelineController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; + this.gitlabResources = gitlabResources; + this.icon = "help"; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsBuildGraph; + this.data.type = DashCI.Models.WidgetType.gitlabPipeline; this.data.footer = false; - this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); + this.data.header = false; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); + this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); } - TfsBuildGraphController.prototype.finalize = function () { + GitlabPipelineController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - TfsBuildGraphController.prototype.init = function () { - this.data.title = this.data.title || "Build Graph"; - this.data.color = this.data.color || "blue"; + GitlabPipelineController.prototype.init = function () { + this.data.title = this.data.title || "Pipeline"; + this.data.color = this.data.color || "green"; //default values + this.data.refs = this.data.refs || "master"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - TfsBuildGraphController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var histogram = this.$scope.$element.find(".histogram"); - histogram.height(height - 50); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); + GitlabPipelineController.prototype.sizeBy = function (width, height) { + this.hideDetails = (width < height * 1.7); + var icon = this.$scope.$element.find(".play-status md-icon"); + var fontSize = (Math.round(height / 1) - (this.hideDetails ? 30 : 0)) + "px"; + //var lineSize = Math.round((altura) - 60) + "px"; + icon.css('font-size', fontSize); + icon.parent().width(Math.round(height / 1)); + //p.css('line-height', lineSize); + var header = this.$scope.$element.find(".header"); + fontSize = Math.round(height / 1) + "px"; + header.css('text-indent', fontSize); + //var title = this.$scope.$element.find("h2"); + //fontSize = Math.round(altura / 6) + "px"; + //title.css('font-size', fontSize); + var txt = this.$scope.$element.find("h4"); + fontSize = Math.round(height / 7) + "px"; + txt.css('font-size', fontSize); + var img = this.$scope.$element.find(".avatar"); + var size = Math.round(height - 32); + img.width(size); + img.height(size); + this.hideAvatar = width < 390; }; - TfsBuildGraphController.prototype.config = function () { + GitlabPipelineController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: TfsBuildGraph.TfsBuildGraphConfigController, + controller: GitlabPipeline.GitlabPipelineConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/Tfs-Build-graph/config.html', + templateUrl: 'app/widgets/gitlab-pipeline/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2324,61 +2048,75 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - TfsBuildGraphController.prototype.updateInterval = function () { + GitlabPipelineController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); this.update(); }; - TfsBuildGraphController.prototype.update = function () { + GitlabPipelineController.prototype.update = function () { var _this = this; - if (!this.data.project || !this.data.build) + if (!this.data.project) return; - var res = this.tfsResources(); + var res = this.gitlabResources(); if (!res) return; console.log("start request: " + this.data.id + "; " + this.data.title); - res.recent_builds({ + res.latest_pipeline({ project: this.data.project, - build: this.data.build, - count: 40 - }).$promise.then(function (result) { + ref: this.data.refs + }).$promise.then(function (pipelines) { console.log("end request: " + _this.data.id + "; " + _this.data.title); - var builds = result.value.reverse(); - var maxDuration = 1; - angular.forEach(builds, function (item) { - if (item.finishTime) { - var finishTime = moment(item.finishTime); - var startTime = moment(item.startTime); - item.duration = finishTime.diff(startTime, 'seconds'); - if (maxDuration < item.duration) - maxDuration = item.duration; - } - }); - var width = (100 / builds.length); - angular.forEach(builds, function (item, i) { - var height = Math.round((100 * item.duration) / maxDuration); - if (height < 1) - height = 1; - item.css = { - height: height.toString() + "%", - width: width.toFixed(2) + "%", - left: (width * i).toFixed(2) + "%" - }; - }); - _this.builds = builds; - _this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + var new_pipeline = null; + var refList = _this.data.refs.split(","); + pipelines = pipelines.filter(function (i) { return refList.filter(function (r) { return DashCI.wildcardMatch(r, i.ref); }).length > 0; }); + if (pipelines.length >= 1) + new_pipeline = pipelines[0]; + _this.latest = new_pipeline; + if (_this.latest && _this.latest.status) { + switch (_this.latest.status) { + case "pending": + _this.icon = "pause_circle_filled"; + break; + case "running": + _this.icon = "play_circle_filled"; + break; + case "canceled": + _this.icon = "remove_circle"; + break; + case "success": + _this.icon = "check"; + break; + case "failed": + _this.icon = "cancel"; + break; + case "default": + _this.icon = "help"; + break; + } + } + else + _this.icon = "help"; + //var p = this.$scope.$element.find("p"); + //p.addClass('changed'); + //this.$timeout(() => p.removeClass('changed'), 1000); + _this.resizeWidget(); }).catch(function (reason) { - _this.builds = []; + _this.latest = null; console.error(reason); + _this.resizeWidget(); }); }; - return TfsBuildGraphController; + GitlabPipelineController.prototype.resizeWidget = function () { + var _this = this; + this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); + }; + return GitlabPipelineController; }()); - TfsBuildGraphController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsBuildGraph.TfsBuildGraphController = TfsBuildGraphController; - })(TfsBuildGraph = Widgets.TfsBuildGraph || (Widgets.TfsBuildGraph = {})); + GitlabPipelineController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabPipeline.GitlabPipelineController = GitlabPipelineController; + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2386,58 +2124,81 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildConfigController = (function () { - function TfsBuildConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; + var GitlabPipeline; + (function (GitlabPipeline) { + var GitlabPipelineDirective = (function () { + function GitlabPipelineDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/gitlab-pipeline/pipeline.html"; + this.replace = false; + this.controller = GitlabPipeline.GitlabPipelineController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/gitlab-pipeline/pipeline.css", + persist: true + }; + } + GitlabPipelineDirective.create = function () { + var directive = function () { return new GitlabPipelineDirective(); }; + directive.$inject = []; + return directive; + }; + return GitlabPipelineDirective; + }()); + DashCI.app.directive("gitlabPipeline", GitlabPipelineDirective.create()); + })(GitlabPipeline = Widgets.GitlabPipeline || (Widgets.GitlabPipeline = {})); + })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var Widgets; + (function (Widgets) { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesConfigController = (function () { + function GitlabIssuesConfigController($mdDialog, gitlabResources, colors, intervals, vm) { this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; + this.gitlabResources = gitlabResources; this.colors = colors; this.intervals = intervals; this.vm = vm; this.init(); } - TfsBuildConfigController.prototype.init = function () { + GitlabIssuesConfigController.prototype.init = function () { var _this = this; - var res = this.tfsResources(); + var res = this.gitlabResources(); if (!res) return; res.project_list().$promise .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + _this.projects = mx(result).orderBy(function (x) { return x.name_with_namespace; }).toArray(); }) .catch(function (reason) { console.error(reason); _this.projects = []; }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getBuilds(); }); - }; - TfsBuildConfigController.prototype.getBuilds = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.build_definition_list({ project: this.vm.project }).$promise + res.group_list().$promise .then(function (result) { - _this.builds = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + _this.groups = result; }) .catch(function (reason) { console.error(reason); - _this.builds = []; + _this.groups = []; }); }; //public cancel() { // this.$mdDialog.cancel(); //} - TfsBuildConfigController.prototype.ok = function () { + GitlabIssuesConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return TfsBuildConfigController; + return GitlabIssuesConfigController; }()); - TfsBuildConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsBuild.TfsBuildConfigController = TfsBuildConfigController; - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + GitlabIssuesConfigController.$inject = ["$mdDialog", "gitlabResources", "colors", "intervals", "config"]; + GitlabIssues.GitlabIssuesConfigController = GitlabIssuesConfigController; + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2445,72 +2206,55 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildController = (function () { - function TfsBuildController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesController = (function () { + function GitlabIssuesController($scope, $q, $timeout, $interval, $mdDialog, gitlabResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.icon = "help"; + this.gitlabResources = gitlabResources; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsBuild; + this.data.type = DashCI.Models.WidgetType.gitlabIssues; this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.sizeBy(width, _this.$scope.$element.height()); }); + this.data.header = true; + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); } - TfsBuildController.prototype.finalize = function () { + GitlabIssuesController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - TfsBuildController.prototype.init = function () { - this.data.title = this.data.title || "Build"; - this.data.color = this.data.color || "green"; + GitlabIssuesController.prototype.init = function () { + this.data.title = this.data.title || "Issues"; + this.data.color = this.data.color || "grey"; //default values + this.data.labels = this.data.labels || "bug"; + this.data.status = this.data.status || "opened"; this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - TfsBuildController.prototype.sizeBy = function (width, height) { - this.hideDetails = (width < height * 1.7); - var icon = this.$scope.$element.find(".play-status md-icon"); - var fontSize = (Math.round(height / 1) - (this.hideDetails ? 50 : 0)) + "px"; - //var lineSize = Math.round((altura) - 60) + "px"; - icon.css('font-size', fontSize); - icon.parent().width(Math.round(height / 1)); - //p.css('line-height', lineSize); - var header = this.$scope.$element.find(".header"); - fontSize = Math.round(height / 1) + "px"; - header.css('text-indent', fontSize); - //var title = this.$scope.$element.find("h2"); - //fontSize = Math.round(height / 6) + "px"; - //title.css('font-size', fontSize); - var txt = this.$scope.$element.find("h4"); - fontSize = Math.round(height / 7) + "px"; - txt.css('font-size', fontSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(height - 32); - img.width(size); - img.height(size); - this.hideAvatar = width < 390; + GitlabIssuesController.prototype.sizeFont = function (height) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(height / 1.3) + "px"; + var lineSize = Math.round((height) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); }; - TfsBuildController.prototype.config = function () { + GitlabIssuesController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: TfsBuild.TfsBuildConfigController, + controller: GitlabIssues.GitlabIssuesConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-build/config.html', + templateUrl: 'app/widgets/gitlab-issues/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2525,87 +2269,53 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - TfsBuildController.prototype.updateInterval = function () { + GitlabIssuesController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + this.update(); }; - TfsBuildController.prototype.update = function () { + GitlabIssuesController.prototype.update = function () { var _this = this; - if (!this.data.project || !this.data.build) + if (!this.data.project && !this.data.group) return; - var res = this.tfsResources(); + var res = this.gitlabResources(); if (!res) return; - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_build({ - project: this.data.project, - build: this.data.build - }).$promise.then(function (build) { - console.log("end request: " + _this.data.id + "; " + _this.data.title); - var new_build = null; - if (build.value.length >= 1) - new_build = build.value[0]; - _this.latest = new_build; - _this.latest.sourceBranch = _this.latest.sourceBranch.replace("refs/heads/", ""); //is it right? - if (_this.latest && _this.latest.status) { - switch (_this.latest.status) { - case "notStarted": - case "postponed": - case "none": - _this.icon = "pause_circle_filled"; - break; - case "inProgress": - _this.icon = "play_circle_filled"; - break; - case "cancelling": - case "stopped": - _this.icon = "remove_circle"; - break; - case "completed": - switch (_this.latest.result) { - case "partiallySucceeded": - case "succeeded": - _this.icon = "check"; - break; - case "failed": - _this.icon = "cancel"; - break; - case "canceled": - _this.icon = "remove_circle"; - break; - case "default": - _this.icon = "help"; - break; - } - break; - case "default": - _this.icon = "help"; - break; - } - } - else - _this.icon = "help"; - //var p = this.$scope.$element.find("p"); - //p.addClass('changed'); - //this.$timeout(() => p.removeClass('changed'), 1000); - _this.resizeWidget(); - }).catch(function (reason) { - _this.latest = null; + res.issue_count({ + scope: this.data.query_type, + scopeId: this.data.query_type == 'projects' ? this.data.project : this.data.group, + labels: this.data.labels, + state: this.data.status + }).$promise.then(function (newCount) { + //var newCount = Math.round(Math.random() * 100); + if (newCount.count != _this.issueCount) { + _this.issueCount = newCount.count; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); + } + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.issueCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; + } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.issueCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; + } + }) + .catch(function (reason) { + _this.issueCount = null; console.error(reason); - _this.resizeWidget(); }); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - TfsBuildController.prototype.resizeWidget = function () { - var _this = this; - this.$timeout(function () { return _this.sizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - }; - return TfsBuildController; + return GitlabIssuesController; }()); - TfsBuildController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsBuild.TfsBuildController = TfsBuildController; - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + GitlabIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "gitlabResources"]; + GitlabIssues.GitlabIssuesController = GitlabIssuesController; + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2613,30 +2323,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsBuild; - (function (TfsBuild) { - var TfsBuildDirective = (function () { - function TfsBuildDirective() { + var GitlabIssues; + (function (GitlabIssues) { + var GitlabIssuesDirective = (function () { + function GitlabIssuesDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-build/build.html"; + this.templateUrl = "app/widgets/gitlab-issues/issues.html"; this.replace = false; - this.controller = TfsBuild.TfsBuildController; + this.controller = GitlabIssues.GitlabIssuesController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/tfs-build/build.css", + href: "app/widgets/gitlab-issues/issues.css", persist: true }; } - TfsBuildDirective.create = function () { - var directive = function () { return new TfsBuildDirective(); }; + GitlabIssuesDirective.create = function () { + var directive = function () { return new GitlabIssuesDirective(); }; directive.$inject = []; return directive; }; - return TfsBuildDirective; + return GitlabIssuesDirective; }()); - DashCI.app.directive("tfsBuild", TfsBuildDirective.create()); - })(TfsBuild = Widgets.TfsBuild || (Widgets.TfsBuild = {})); + DashCI.app.directive("gitlabIssues", GitlabIssuesDirective.create()); + })(GitlabIssues = Widgets.GitlabIssues || (Widgets.GitlabIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2644,94 +2354,51 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartConfigController = (function () { - function TfsQueryChartConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { - this.$scope = $scope; + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesConfigController = (function () { + function GithubIssuesConfigController($mdDialog, $scope, globalOptions, githubResources, colors, intervals, vm) { + var _this = this; this.$mdDialog = $mdDialog; - this.$q = $q; - this.tfsResources = tfsResources; + this.$scope = $scope; + this.globalOptions = globalOptions; + this.githubResources = githubResources; this.colors = colors; this.intervals = intervals; this.vm = vm; + this.$scope.$watch(function () { return _this.vm.username; }, function () { return _this.listRepositories(); }); this.init(); } - TfsQueryChartConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { - _this.getTeams(); - _this.getQueries(); - }); - this.$scope.$watch(function () { return _this.vm.queryCount; }, function () { return _this.setQueryList(); }); - }; - TfsQueryChartConfigController.prototype.getQueries = function () { + GithubIssuesConfigController.prototype.init = function () { var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; - var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; - this.$q.all([q1, q2]) - .then(function (result) { - var q = []; - angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); - angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); - _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); - }).catch(function (reason) { - console.error(reason); - _this.queries = []; - }); + this.users = []; + angular.forEach(this.globalOptions.github, function (item) { return _this.users.push(item.username); }); }; - TfsQueryChartConfigController.prototype.getTeams = function () { + GithubIssuesConfigController.prototype.listRepositories = function () { var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) + this.repositories = []; + var res = this.githubResources(this.vm.username); + if (!res) return; - res.team_list({ project: this.vm.project }) - .$promise + res.repository_list().$promise .then(function (result) { - _this.teams = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); + _this.repositories = mx(result).orderBy(function (x) { return x.full_name; }).toArray(); }) .catch(function (reason) { console.error(reason); - _this.teams = []; }); - ; - }; - TfsQueryChartConfigController.prototype.setQueryList = function () { - if (this.vm.queryIds.length < this.vm.queryCount) { - for (var i = 0; i < this.vm.queryCount; i++) { - this.vm.queryIds.push(""); - this.vm.queryColors.push(""); - } - } - else if (this.vm.queryIds.length > this.vm.queryCount) { - while (this.vm.queryIds.length > this.vm.queryCount) { - this.vm.queryIds.pop(); - this.vm.queryColors.pop(); - } - } }; - TfsQueryChartConfigController.prototype.ok = function () { + //public cancel() { + // this.$mdDialog.cancel(); + //} + GithubIssuesConfigController.prototype.ok = function () { this.$mdDialog.hide(true); }; - return TfsQueryChartConfigController; + return GithubIssuesConfigController; }()); - TfsQueryChartConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; - TfsQueryChart.TfsQueryChartConfigController = TfsQueryChartConfigController; - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + GithubIssuesConfigController.$inject = ["$mdDialog", "$scope", "globalOptions", "githubResources", "colors", "intervals", "config"]; + GithubIssues.GithubIssuesConfigController = GithubIssuesConfigController; + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2739,69 +2406,56 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartController = (function () { - function TfsQueryChartController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesController = (function () { + function GithubIssuesController($scope, $q, $timeout, $interval, $mdDialog, githubResources) { var _this = this; this.$scope = $scope; this.$q = $q; this.$timeout = $timeout; this.$interval = $interval; this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.total = null; - this.width = 50; - this.height = 50; - this.fontSize = 12; - this.lineSize = 12; - this.doughnutHoleSize = 0.5; + this.githubResources = githubResources; + this.issueCount = null; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsQueryChart; + this.data.type = DashCI.Models.WidgetType.githubIssues; this.data.footer = false; this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.resizeBy(_this.$scope.$element.width(), height); }); - this.$scope.$watch(function () { return _this.$scope.$element.width(); }, function (width) { return _this.resizeBy(width, _this.$scope.$element.height()); }); + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); this.init(); } - TfsQueryChartController.prototype.finalize = function () { + GithubIssuesController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - TfsQueryChartController.prototype.init = function () { - this.data.title = this.data.title || "Chart"; + GithubIssuesController.prototype.init = function () { + this.data.title = this.data.title || "Issues"; this.data.color = this.data.color || "grey"; //default values - this.data.queryCount = this.data.queryCount || 2; - this.data.queryIds = this.data.queryIds || ["", ""]; - this.data.queryColors = this.data.queryColors || ["", ""]; - this.data.poolInterval = this.data.poolInterval || 20000; + this.data.labels = this.data.labels || "bug"; + this.data.status = this.data.status || "open"; + this.data.poolInterval = this.data.poolInterval || 10000; this.updateInterval(); this.update(); }; - TfsQueryChartController.prototype.resizeBy = function (width, height) { - var _this = this; - this.width = width; - this.height = height - 40; - this.fontSize = Math.round(height / 1.3); - this.lineSize = Math.round((height) - 60); - var canvas = this.$scope.$element.find("canvas").get(0); - if (canvas) { - canvas.width = this.width; - canvas.height = this.height; - } - this.$timeout(function () { return _this.drawGraph(); }, 50); + GithubIssuesController.prototype.sizeFont = function (height) { + var p = this.$scope.$element.find("p"); + var fontSize = Math.round(height / 1.3) + "px"; + var lineSize = Math.round((height) - 60) + "px"; + p.css('font-size', fontSize); + p.css('line-height', lineSize); }; - TfsQueryChartController.prototype.config = function () { + GithubIssuesController.prototype.config = function () { var _this = this; this.$mdDialog.show({ - controller: TfsQueryChart.TfsQueryChartConfigController, + controller: GithubIssues.GithubIssuesConfigController, controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-query-chart/config.html', + templateUrl: 'app/widgets/github-issues/config.html', parent: angular.element(document.body), //targetEvent: ev, clickOutsideToClose: true, @@ -2816,155 +2470,53 @@ var DashCI; }); //.then((ok) => this.createWidget(type)); }; - TfsQueryChartController.prototype.updateInterval = function () { + GithubIssuesController.prototype.updateInterval = function () { var _this = this; if (this.handle) this.$interval.cancel(this.handle); this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + this.update(); }; - TfsQueryChartController.prototype.update = function () { + GithubIssuesController.prototype.update = function () { var _this = this; - if (!this.data.project || !this.data.queryIds || this.data.queryIds.length == 0) + if (!this.data.repository && !this.data.username) return; - var res = this.tfsResources(); + var res = this.githubResources(this.data.username); if (!res) return; - var queries = []; - for (var q in this.data.queryIds) { - var query = this.data.queryIds[q]; - if (query) - queries.push(res.run_query({ - project: this.data.project, - team: this.data.team, - queryId: query - }).$promise); - } - if (queries.length == 0) - return; - console.log("tfs query: " + this.data.title); - this.$q.all(queries) - .then(function (res) { - var resValues = []; - _this.total = 0; - for (var i in res) { - resValues.push(res[i].workItems.length); - _this.total += res[i].workItems.length; - } - _this.queryValues = resValues; - _this.drawGraph(); - }) - .catch(function (reason) { - _this.queryValues = null; - console.error(reason); - }); - this.$timeout(function () { return _this.resizeBy(_this.$scope.$element.width(), _this.$scope.$element.height()); }, 500); - }; - TfsQueryChartController.prototype.drawGraph = function () { - var data = []; - var labels = []; - var colors = []; - console.log("chart draw start: " + this.data.title); - var bgColor = this.data.color == 'transparent' || this.data.color == 'semi-transparent' ? "black" : - this.getStyleRuleValue("background-color", "." + this.data.color); - for (var i in this.queryValues) { - data.push(this.queryValues[i]); - labels.push(this.queryValues[i].toString()); - var color = this.getStyleRuleValue("background-color", "." + this.data.queryColors[i]); - colors.push(color); - } - //todo: draw segments at canvas. - var canvas = this.$scope.$element.find("canvas").get(0); - if (!canvas) - return; - var ctx = canvas.getContext("2d"); - ctx.clearRect(0, 0, canvas.width, canvas.height); - var total_value = this.total; - var color_index = 0; - var start_angle = 0; - for (var i in data) { - var val = data[i]; - var slice_angle = 2 * Math.PI * val / total_value; - this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), start_angle, start_angle + slice_angle, colors[i]); - start_angle += slice_angle; - color_index++; - } - //drawing a white circle over the chart - //to create the doughnut chart - if (this.doughnutHoleSize) { - this.drawPieSlice(ctx, canvas.width / 2, canvas.height / 2, this.doughnutHoleSize * Math.min(canvas.width / 2, canvas.height / 2), 0, 2 * Math.PI, bgColor); - } - start_angle = 0; - for (i in data) { - var val = data[i]; - slice_angle = 2 * Math.PI * val / total_value; - var pieRadius = Math.min(canvas.width / 2, canvas.height / 2); - var labelX = canvas.width / 2 + (pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); - var labelY = canvas.height / 2 + (pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); - if (this.doughnutHoleSize) { - var offset = (pieRadius * this.doughnutHoleSize) / 2; - labelX = canvas.width / 2 + (offset + pieRadius / 2) * Math.cos(start_angle + slice_angle / 2); - labelY = canvas.height / 2 + (offset + pieRadius / 2) * Math.sin(start_angle + slice_angle / 2); - } - var labelText = Math.round(100 * val / total_value); - if (labelText > 4) { - ctx.fillStyle = "white"; - ctx.font = "bold 20px Arial"; - ctx.fillText(labelText + "%", labelX, labelY); - start_angle += slice_angle; + res.issue_count({ + owner: this.data.repository.split('/')[0], + repository: this.data.repository.split('/')[1], + labels: this.data.labels, + state: this.data.status + }).$promise.then(function (newCount) { + //var newCount = Math.round(Math.random() * 100); + if (newCount.count != _this.issueCount) { + _this.issueCount = newCount.count; + var p = _this.$scope.$element.find("p"); + p.addClass('changed'); + _this.$timeout(function () { return p.removeClass('changed'); }, 1000); } - } - console.log("chart draw complete: " + this.data.title); - }; - /* - private drawLine(ctx:CanvasRenderingContext2D, startX: number, startY: number, endX: number, endY: number) { - ctx.beginPath(); - ctx.moveTo(startX, startY); - ctx.lineTo(endX, endY); - ctx.stroke(); - } - - private drawArc(ctx: CanvasRenderingContext2D, centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number) { - ctx.beginPath(); - ctx.arc(centerX, centerY, radius, startAngle, endAngle); - ctx.stroke(); - } - */ - TfsQueryChartController.prototype.drawPieSlice = function (ctx, centerX, centerY, radius, startAngle, endAngle, color) { - if (color) - ctx.fillStyle = color; - ctx.beginPath(); - ctx.moveTo(centerX, centerY); - ctx.arc(centerX, centerY, radius, startAngle, endAngle); - ctx.closePath(); - //if (!color) { - // ctx.clip(); - // ctx.clearRect(centerX - radius - 1, centerY - radius - 1, - // radius * 2 + 2, radius * 2 + 2); - //} - ctx.fill(); - }; - TfsQueryChartController.prototype.getStyleRuleValue = function (style, selector, sheet) { - var sheets = typeof sheet !== 'undefined' ? [sheet] : document.styleSheets; - for (var i = 0, l = sheets.length; i < l; i++) { - var currentSheet = sheets[i]; - var rules = currentSheet.cssRules || currentSheet.rules; - if (!rules) { - continue; + if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { + if (_this.issueCount < _this.data.lowerThan.value) + _this.colorClass = _this.data.lowerThan.color; } - for (var j = 0, k = rules.length; j < k; j++) { - var rule = rules[j]; - if (rule.selectorText && rule.selectorText.split(',').indexOf(selector) !== -1) { - return rule.style[style]; - } + if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { + if (_this.issueCount > _this.data.greaterThan.value) + _this.colorClass = _this.data.greaterThan.color; } - } - return null; + }) + .catch(function (reason) { + _this.issueCount = null; + console.error(reason); + }); + this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); }; - return TfsQueryChartController; + return GithubIssuesController; }()); - TfsQueryChartController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsQueryChart.TfsQueryChartController = TfsQueryChartController; - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + GithubIssuesController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "githubResources"]; + GithubIssues.GithubIssuesController = GithubIssuesController; + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -2972,30 +2524,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsQueryChart; - (function (TfsQueryChart) { - var TfsQueryChartDirective = (function () { - function TfsQueryChartDirective() { + var GithubIssues; + (function (GithubIssues) { + var GithubIssuesDirective = (function () { + function GithubIssuesDirective() { this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-query-chart/tfs-query-chart.html"; + this.templateUrl = "app/widgets/github-issues/issues.html"; this.replace = false; - this.controller = TfsQueryChart.TfsQueryChartController; + this.controller = GithubIssues.GithubIssuesController; this.controllerAs = "ctrl"; /* Binding css to directives */ this.css = { - href: "app/widgets/tfs-query-chart/tfs-query-chart.css", + href: "app/widgets/github-issues/issues.css", persist: true }; } - TfsQueryChartDirective.create = function () { - var directive = function () { return new TfsQueryChartDirective(); }; + GithubIssuesDirective.create = function () { + var directive = function () { return new GithubIssuesDirective(); }; directive.$inject = []; return directive; }; - return TfsQueryChartDirective; + return GithubIssuesDirective; }()); - DashCI.app.directive("tfsQueryChart", TfsQueryChartDirective.create()); - })(TfsQueryChart = Widgets.TfsQueryChart || (Widgets.TfsQueryChart = {})); + DashCI.app.directive("githubIssues", GithubIssuesDirective.create()); + })(GithubIssues = Widgets.GithubIssues || (Widgets.GithubIssues = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -3003,60 +2555,30 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountConfigController = (function () { - function TfsQueryCountConfigController($scope, $mdDialog, $q, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.$q = $q; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); + var Clock; + (function (Clock) { + var ClockDirective = (function () { + function ClockDirective() { + this.restrict = "E"; + this.templateUrl = "app/widgets/clock/clock.html"; + this.replace = false; + this.controller = Clock.ClockController; + this.controllerAs = "ctrl"; + /* Binding css to directives */ + this.css = { + href: "app/widgets/clock/clock.css", + persist: true + }; } - TfsQueryCountConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getQueries(); }); - }; - TfsQueryCountConfigController.prototype.getQueries = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - var q1 = res.query_list({ project: this.vm.project, folder: "Shared Queries" }).$promise; - var q2 = res.query_list({ project: this.vm.project, folder: "My Queries" }).$promise; - this.$q.all([q1, q2]) - .then(function (result) { - var q = []; - angular.forEach(result[0].children || result[0].value, function (item) { return q.push(item); }); - angular.forEach(result[1].children || result[1].value, function (item) { return q.push(item); }); - _this.queries = mx(q).orderBy(function (x) { return x.name; }).toArray(); - }).catch(function (reason) { - console.error(reason); - _this.queries = []; - }); - }; - TfsQueryCountConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); + ClockDirective.create = function () { + var directive = function () { return new ClockDirective(); }; + directive.$inject = []; + return directive; }; - return TfsQueryCountConfigController; + return ClockDirective; }()); - TfsQueryCountConfigController.$inject = ["$scope", "$mdDialog", "$q", "tfsResources", "colors", "intervals", "config"]; - TfsQueryCount.TfsQueryCountConfigController = TfsQueryCountConfigController; - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + DashCI.app.directive("clock", ClockDirective.create()); + })(Clock = Widgets.Clock || (Widgets.Clock = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; @@ -3064,480 +2586,958 @@ var DashCI; (function (DashCI) { var Widgets; (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountController = (function () { - function TfsQueryCountController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { + var Clock; + (function (Clock) { + var ClockController = (function () { + function ClockController($scope, $interval) { var _this = this; this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; this.data = this.$scope.data; this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsQueryCount; + this.data.type = DashCI.Models.WidgetType.clock; this.data.footer = false; this.data.header = true; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); this.$scope.$on("$destroy", function () { return _this.finalize(); }); + this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.fontSize(height); }); this.init(); } - TfsQueryCountController.prototype.finalize = function () { + ClockController.prototype.init = function () { + var _this = this; + this.data.title = this.$scope.data.title || "Clock"; + this.data.color = this.$scope.data.color || "green"; + this.handle = this.$interval(function () { return _this.setClock(); }, 1000); + }; + ClockController.prototype.finalize = function () { if (this.handle) this.$interval.cancel(this.handle); console.log("dispose: " + this.data.id + "-" + this.data.title); }; - TfsQueryCountController.prototype.init = function () { - this.data.title = this.data.title || "Query"; - this.data.color = this.data.color || "grey"; - //default values - this.data.queryId = this.data.queryId || ""; - this.data.poolInterval = this.data.poolInterval || 20000; - this.updateInterval(); - this.update(); - }; - TfsQueryCountController.prototype.sizeFont = function (altura) { - var p = this.$scope.$element.find("p"); - var fontSize = Math.round(altura / 1.3) + "px"; - var lineSize = Math.round((altura) - 60) + "px"; - p.css('font-size', fontSize); - p.css('line-height', lineSize); - var img = this.$scope.$element.find(".avatar"); - var size = Math.round(altura - 32); - img.width(size); - img.height(size); - }; - TfsQueryCountController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsQueryCount.TfsQueryCountConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-query-count/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; - } - } - }); - //.then((ok) => this.createWidget(type)); + ClockController.prototype.fontSize = function (height) { + var fontSizeTime = Math.round(height / 3.8) + "px"; + var lineTime = Math.round((height / 2) - 20) + "px"; + var fontSizeDate = Math.round(height / 5.9) + "px"; + var lineDate = Math.round((height / 2) - 30) + "px"; + var date = this.$scope.$element.find(".date"); + var time = this.$scope.$element.find(".time"); + date.css('font-size', fontSizeDate); + date.css('line-height', lineDate); + time.css('font-size', fontSizeTime); + time.css('line-height', lineTime); }; - TfsQueryCountController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); + ClockController.prototype._formatDoubleDigit = function (digit) { + return ('0' + digit).slice(-2); }; - TfsQueryCountController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.queryId) - return; - var res = this.tfsResources(); - if (!res) - return; - console.log("tfs query: " + this.data.title); - res.run_query({ - project: this.data.project, - queryId: this.data.queryId - }).$promise.then(function (result) { - var newCount = result.workItems.length; - if (newCount != _this.queryCount) { - _this.queryCount = newCount; - var p = _this.$scope.$element.find("p"); - p.addClass('changed'); - _this.$timeout(function () { return p.removeClass('changed'); }, 1000); - } - if (_this.data.lowerThan && !isNaN(_this.data.lowerThan.value) && _this.data.lowerThan.color) { - if (_this.queryCount < _this.data.lowerThan.value) - _this.colorClass = _this.data.lowerThan.color; - } - if (_this.data.greaterThan && !isNaN(_this.data.greaterThan.value) && _this.data.greaterThan.color) { - if (_this.queryCount > _this.data.greaterThan.value) - _this.colorClass = _this.data.greaterThan.color; - } - console.log("end tfs query: " + _this.data.title); - }) - .catch(function (reason) { - _this.queryCount = null; - console.error(reason); - }); - this.$timeout(function () { return _this.sizeFont(_this.$scope.$element.height()); }, 500); + ClockController.prototype.setClock = function () { + var now = new Date(); + var locale = 'pt-br'; + var status = { + year: now.getFullYear(), + month: (/[a-z]+/gi.exec(now.toLocaleString(locale, { month: "short" })))[0].substring(0, 3), + day: now.getDate(), + hours: this._formatDoubleDigit(now.getHours()), + minutes: this._formatDoubleDigit(now.getMinutes()), + seconds: this._formatDoubleDigit(now.getSeconds()) + }; + this.date = status.day + ' ' + status.month + ' ' + status.year; + this.time = status.hours + ':' + status.minutes + ':' + status.seconds; }; - return TfsQueryCountController; + return ClockController; }()); - TfsQueryCountController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsQueryCount.TfsQueryCountController = TfsQueryCountController; - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); + ClockController.$inject = ["$scope", "$interval"]; + Clock.ClockController = ClockController; + })(Clock = Widgets.Clock || (Widgets.Clock = {})); })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); })(DashCI || (DashCI = {})); "use strict"; +"use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsQueryCount; - (function (TfsQueryCount) { - var TfsQueryCountDirective = (function () { - function TfsQueryCountDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-query-count/tfs-query-count.html"; - this.replace = false; - this.controller = TfsQueryCount.TfsQueryCountController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-query-count/tfs-query-count.css", - persist: true + var Resources; + (function (Resources) { + var Tfs; + (function (Tfs) { + DashCI.app.factory('tfsResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function () { + if (!globalOptions || !globalOptions.tfs || !globalOptions.tfs.host) + return null; + var withCredentials = false; + var headers = { + "Authorization": null }; - } - TfsQueryCountDirective.create = function () { - var directive = function () { return new TfsQueryCountDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsQueryCountDirective; - }()); - DashCI.app.directive("tfsQueryCount", TfsQueryCountDirective.create()); - })(TfsQueryCount = Widgets.TfsQueryCount || (Widgets.TfsQueryCount = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + if (globalOptions.tfs.privateToken) { + var encodedString = "Basic " + btoa(":" + globalOptions.tfs.privateToken); + headers["Authorization"] = encodedString; + } + else { + delete headers.Authorization; + withCredentials = true; + } + var tfs_release_preview = globalOptions.tfs.host.replace(".visualstudio.com", ".vsrm.visualstudio.com"); + // Return the resource, include your custom actions + return $resource(globalOptions.tfs.host, {}, { + project_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/_apis/projects?api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + team_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/_apis/projects/:project/teams?api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + query_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/wit/queries/:folder?$depth=2&$expand=all&api-version=2.2", + headers: headers, + cache: true, + withCredentials: withCredentials + }, + run_query: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/:team/_apis/wit/wiql/:queryId?api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + latest_build: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=1&api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + recent_builds: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/builds?definitions=:build&$top=:count&api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + build_definition_list: { + method: 'GET', + isArray: false, + url: globalOptions.tfs.host + "/:project/_apis/build/definitions?api-version=2.2", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + release_definition_list: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/definitions?api-version=2.2-preview.1", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + release_definition: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/definitions/:release?api-version=2.2-preview.1", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + latest_release_environments: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&releaseCount=1&includeArtifact=false", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + recent_releases: { + method: 'GET', + isArray: false, + url: tfs_release_preview + "/:project/_apis/release/releases?api-version=2.2-preview.1&definitionId=:release&$expand=environments&$top=25&queryOrder=descending", + headers: headers, + cache: false, + withCredentials: withCredentials + }, + }); + }; }]); + })(Tfs = Resources.Tfs || (Resources.Tfs = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); })(DashCI || (DashCI = {})); "use strict"; +"use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseConfigController = (function () { - function TfsReleaseConfigController($scope, $mdDialog, tfsResources, colors, intervals, vm) { - this.$scope = $scope; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.colors = colors; - this.intervals = intervals; - this.vm = vm; - this.init(); - } - TfsReleaseConfigController.prototype.init = function () { - var _this = this; - var res = this.tfsResources(); - if (!res) - return; - res.project_list().$promise - .then(function (result) { - _this.projects = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.projects = []; - }); - this.$scope.$watch(function () { return _this.vm.project; }, function () { return _this.getReleaseDefs(); }); - }; - TfsReleaseConfigController.prototype.getReleaseDefs = function () { - var _this = this; - var res = this.tfsResources(); - if (!res || !this.vm.project) - return; - res.release_definition_list({ project: this.vm.project }).$promise - .then(function (result) { - _this.releases = mx(result.value).orderBy(function (x) { return x.name; }).toArray(); - }) - .catch(function (reason) { - console.error(reason); - _this.releases = []; + var Resources; + (function (Resources) { + var Gitlab; + (function (Gitlab) { + DashCI.app.factory('gitlabResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function () { + if (!globalOptions || !globalOptions.gitlab || !globalOptions.gitlab.host) + return null; + var headers = { + "PRIVATE-TOKEN": null, + }; + if (globalOptions.gitlab.privateToken) + headers["PRIVATE-TOKEN"] = globalOptions.gitlab.privateToken; + else + delete headers["PRIVATE-TOKEN"]; + var transform = function (data, headers) { + var data = angular.fromJson(data); + if (data && typeof (data) === "object") + data.headers = headers(); + return data; + }; + var countParser = function (data, getHeaders, status) { + if (status == 200) { + data = angular.fromJson(data); + var headers = getHeaders(); + var parsedCount = parseInt(headers["X-Total"]); + if (isNaN(parsedCount)) { + parsedCount = 0; + //cannot access X-Total today, let's parse + var links = headers.link.split('>'); + angular.forEach(links, function (item) { + var matches = item.match(/page=(\d*)/); + if (matches && matches.length > 1) { + var page = Number(matches[1]); + if (page > parsedCount) + parsedCount = page; + } + }); + } + var ret = { + count: parsedCount + }; + return ret; + } + else + return data; + }; + // Return the resource, include your custom actions + return $resource(globalOptions.gitlab.host, {}, { + project_list: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects?order_by=last_activity_at&sort=desc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + group_list: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/groups?all_available=true&order_by=name&sort=asc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + issue_count: { + method: 'GET', + isArray: false, + url: globalOptions.gitlab.host + "/api/v3/:scope/:scopeId/issues?labels=:labels&state=:state&per_page=1", + headers: headers, + cache: false, + transformResponse: countParser + }, + latest_pipeline: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?scope=branches&ref=:ref&per_page=100", + cache: false, + headers: headers + }, + recent_pipelines: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/pipelines?ref=:ref&per_page=:count", + cache: false, + headers: headers + }, + commit_count: { + method: 'GET', + isArray: true, + url: globalOptions.gitlab.host + "/api/v3/projects/:project/repository/commits?ref_name=:ref&since=:since&per_page=1", + cache: false, + transformResponse: countParser + } }); - }; - //public cancel() { - // this.$mdDialog.cancel(); - //} - TfsReleaseConfigController.prototype.ok = function () { - this.$mdDialog.hide(true); - }; - return TfsReleaseConfigController; - }()); - TfsReleaseConfigController.$inject = ["$scope", "$mdDialog", "tfsResources", "colors", "intervals", "config"]; - TfsRelease.TfsReleaseConfigController = TfsReleaseConfigController; - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; }]); + })(Gitlab = Resources.Gitlab || (Resources.Gitlab = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); })(DashCI || (DashCI = {})); "use strict"; +"use strict"; var DashCI; (function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseController = (function () { - function TfsReleaseController($scope, $q, $timeout, $interval, $mdDialog, tfsResources) { - var _this = this; - this.$scope = $scope; - this.$q = $q; - this.$timeout = $timeout; - this.$interval = $interval; - this.$mdDialog = $mdDialog; - this.tfsResources = tfsResources; - this.envcontainer = { - width: "0%" + var Resources; + (function (Resources) { + var Github; + (function (Github) { + DashCI.app.factory('githubResources', ['$resource', 'globalOptions', + function ($resource, globalOptions) { return function (username) { + if (!globalOptions || !globalOptions.github || globalOptions.github.length == 0) + return null; + var accounts = globalOptions.github.filter(function (item) { return item.username == username; }); + if (!accounts || accounts.length != 1) + return null; + var host = "https://api.github.com"; + var headers = { + "Authorization": null, }; - this.env = { - height: "0px", - iconSize: "0px" + if (accounts[0].privateToken) + headers.Authorization = "Basic " + btoa(accounts[0].username + ":" + accounts[0].privateToken); + else + delete headers.Authorization; + var transform = function (data, headers) { + var data = angular.fromJson(data); + if (data && typeof (data) === "object") + data.headers = headers(); + return data; }; - this.data = this.$scope.data; - this.data.id = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - this.data.type = DashCI.Models.WidgetType.tfsRelease; - this.data.footer = false; - this.data.header = false; - this.$scope.$watch(function () { return _this.$scope.$element.height(); }, function (height) { return _this.sizeFont(height); }); - this.$scope.$watch(function () { return _this.data.poolInterval; }, function (value) { return _this.updateInterval(); }); - this.$scope.$on("$destroy", function () { return _this.finalize(); }); - this.init(); - } - TfsReleaseController.prototype.finalize = function () { - if (this.handle) - this.$interval.cancel(this.handle); - console.log("dispose: " + this.data.id + "-" + this.data.title); - }; - TfsReleaseController.prototype.init = function () { - this.data.title = this.data.title || "Release"; - this.data.color = this.data.color || "brown"; - //default values - this.data.poolInterval = this.data.poolInterval || 10000; - this.updateInterval(); - this.update(); - }; - TfsReleaseController.prototype.sizeFont = function (height) { - var header_size = this.$scope.$element.find(".header").height(); - var help_icon = this.$scope.$element.find(".unknown"); - var size = Math.round(height / 1) - header_size - 5; - help_icon.css("font-size", size); - help_icon.height(size); - var padding = Number(this.$scope.$element.find(".envcontainer").css("padding-top")) || 5; - this.env.height = ((height - header_size - 25) / this.rowCount() - (padding * 2)).toFixed(2) + "px"; - this.envcontainer.width = ((100 / this.maxColumnCount()) - 0.5).toFixed(2) + "%"; - this.env.iconSize = this.env.height; - }; - TfsReleaseController.prototype.config = function () { - var _this = this; - this.$mdDialog.show({ - controller: TfsRelease.TfsReleaseConfigController, - controllerAs: "ctrl", - templateUrl: 'app/widgets/tfs-release/config.html', - parent: angular.element(document.body), - //targetEvent: ev, - clickOutsideToClose: true, - fullscreen: false, - resolve: { - config: function () { - var deferred = _this.$q.defer(); - _this.$timeout(function () { return deferred.resolve(_this.data); }, 1); - return deferred.promise; + var countParser = function (data, getHeaders, status) { + if (status == 200) { + data = angular.fromJson(data); + var headers = getHeaders(); + var parsedCount = parseInt(headers["X-Total"]); + if (isNaN(parsedCount)) { + parsedCount = 0; + //cannot access X-Total today, let's parse + var links = headers.link.split('>'); + angular.forEach(links, function (item) { + var matches = item.match(/&page=(\d*)/); + if (matches && matches.length > 1) { + var page = Number(matches[1]); + if (page > parsedCount) + parsedCount = page; + } + }); } + var ret = { + count: parsedCount + }; + return ret; } + else + return data; + }; + // Return the resource, include your custom actions + return $resource(host, {}, { + repository_list: { + method: 'GET', + isArray: true, + url: host + "/user/repos?sort=updated&direction=desc&per_page=100", + headers: headers, + transformResponse: transform, + cache: true + }, + issue_count: { + method: 'GET', + isArray: false, + url: host + "/repos/:owner/:repository/issues?labels=:labels&state=:state&per_page=1", + headers: headers, + cache: false, + transformResponse: countParser + }, }); - //.then((ok) => this.createWidget(type)); - }; - TfsReleaseController.prototype.updateInterval = function () { - var _this = this; - if (this.handle) - this.$interval.cancel(this.handle); - this.handle = this.$interval(function () { return _this.update(); }, this.data.poolInterval); - }; - TfsReleaseController.prototype.update = function () { - var _this = this; - if (!this.data.project || !this.data.release) - return; - var res = this.tfsResources(); - if (!res) - return; - if (!this.releaseDefinition || this.releaseDefinition.id != this.data.release) { - this.releaseDefinition = null; - res.release_definition({ project: this.data.project, release: this.data.release }).$promise - .then(function (result) { - _this.releaseDefinition = result; - _this.update(); - }) - .catch(function (error) { - _this.releaseDefinition = null; - _this.environment_rows = null; - console.error(error); + }; }]); + })(Github = Resources.Github || (Resources.Github = {})); + })(Resources = DashCI.Resources || (DashCI.Resources = {})); +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Models; + (function (Models) { + DashCI.app.constant("colors", [ + { + code: "semi-transp", + desc: "Semi Transparent" + }, + { + code: "transparent", + desc: "Transparent" + }, + { + code: "red", + desc: "Red" + }, + { + code: "green", + desc: "Green" + }, + { + code: "deep-green", + desc: "Deep Green" + }, + { + code: "turkoise", + desc: "Turkoise" + }, + { + code: "purple", + desc: "Purple" + }, + { + code: "pink", + desc: "Pink" + }, + { + code: "blue", + desc: "Blue" + }, + { + code: "amber", + desc: "Amber" + }, + { + code: "orange", + desc: "Orange" + }, + { + code: "brown", + desc: "Brown" + }, + { + code: "grey", + desc: "Grey" + }, + ]); + DashCI.app.constant("intervals", [ + { + value: 10000, + desc: "10 secs" + }, + { + value: 20000, + desc: "20 secs" + }, + { + value: 30000, + desc: "30 secs" + }, + { + value: 60000, + desc: "1 min" + }, + { + value: 120000, + desc: "2 min" + }, + ]); + DashCI.app.constant("aligns", [ + { + code: "center", + desc: "Center" + }, + { + code: "left", + desc: "Left" + }, + { + code: "right", + desc: "Right" + }, + ]); + })(Models = DashCI.Models || (DashCI.Models = {})); +})(DashCI || (DashCI = {})); +"use strict"; +/// +var DashCI; +(function (DashCI) { + var Models; + (function (Models) { + DashCI.app.value("globalOptions", {}); + })(Models = DashCI.Models || (DashCI.Models = {})); +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Core; + (function (Core) { + var AddWidgetController = (function () { + function AddWidgetController($mdDialog, widgets, categories) { + this.$mdDialog = $mdDialog; + this.widgets = widgets; + this.categories = categories; + } + AddWidgetController.prototype.cancel = function () { + this.$mdDialog.cancel(); + }; + AddWidgetController.prototype.select = function (type) { + this.$mdDialog.hide(type); + }; + return AddWidgetController; + }()); + AddWidgetController.$inject = ["$mdDialog", "widgets", "widgetcategories"]; + Core.AddWidgetController = AddWidgetController; + })(Core = DashCI.Core || (DashCI.Core = {})); +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Core; + (function (Core) { + var GlobalConfigController = (function () { + function GlobalConfigController($timeout, $mdDialog, $scope, $rootscope, vm) { + var _this = this; + this.$timeout = $timeout; + this.$mdDialog = $mdDialog; + this.$rootscope = $rootscope; + this.vm = vm; + this.pageCount = this.vm.pages.length; + $scope.$watch(function () { return _this.pageCount; }, function () { return _this.updatePages(); }); + } + GlobalConfigController.prototype.ok = function () { + this.$mdDialog.hide(); + }; + GlobalConfigController.prototype.updatePages = function () { + if (this.pageCount < 1) + this.pageCount = 1; + if (this.pageCount > 5) + this.pageCount = 5; + if (this.pageCount < this.vm.pages.length) { + for (var i = this.vm.pages.length; i > this.pageCount; i--) { + this.vm.pages.pop(); + } + } + else if (this.pageCount > this.vm.pages.length) { + for (var i = this.vm.pages.length; i < this.pageCount; i++) { + var id = (this.vm.pages.length + 1).toString(); + this.vm.pages.push({ + id: id, + name: "Dash-CI " + id.toString(), + widgets: [] }); } - if (this.releaseDefinition) { - console.log("start request: " + this.data.id + "; " + this.data.title); - res.latest_release_environments({ project: this.data.project, release: this.data.release }) - .$promise.then(function (result) { - _this.latest = result.releases.length > 0 ? result.releases[result.releases.length - 1] : null; - angular.forEach(result.environments, function (e) { - var findRelease = result.releases.filter(function (r) { return e.lastReleases.length > 0 && r.id == e.lastReleases[0].id; }); - var lastestDef = _this.latest.environments.filter(function (re) { return re.definitionEnvironmentId == e.id; })[0]; - if (lastestDef && lastestDef.status == "inProgress") { - angular.extend(e, lastestDef); - } - else if (findRelease.length == 1) { - var releaseEnv = findRelease[0].environments.filter(function (re) { return re.definitionEnvironmentId == e.id; }); - if (releaseEnv.length > 0) - angular.extend(e, releaseEnv[0]); - } - else if (lastestDef) { - e.name = lastestDef.name; - e.conditions = lastestDef.conditions; - } - if (lastestDef) { - var currentEnv = _this.releaseDefinition.environments.filter(function (re) { return re.id == lastestDef.definitionEnvironmentId; }); - e.conditions = currentEnv[0].conditions; - } - if (!e.release && e.lastReleases && e.lastReleases.length > 0) - e.release = result.releases.filter(function (r) { return r.id == e.lastReleases[0].id; })[0]; - _this.setIcon(e); - }); - _this.environments = result.environments; - if (_this.latest) { - var baseEnvs = _this.environments.filter(_this.filterAutomaticAfterReleaseOrManual); - var rows = []; - angular.forEach(baseEnvs, function (item) { - var row = []; - row.push(item); - angular.forEach(_this.filterSubSequentEnvironments(item), function (e) { return row.push(e); }); - rows.push(row); - }); - _this.environment_rows = rows; - } - else { - _this.environments = null; - _this.environment_rows = null; + } + }; + GlobalConfigController.prototype.reset = function () { + }; + GlobalConfigController.prototype.import = function () { + var _this = this; + var inputFile = $("#import").get(0); + var reader = new FileReader(); + reader.onload = function (event) { + try { + var obj = angular.fromJson(event.target.result); + if (obj && obj.pages && obj.pages.length && obj.pages.length > 0) { + if (confirm("This will reset your current configuration and replace with the file imported.\n\nConfirm importing the file?")) { + _this.vm.pages = null; + angular.extend(_this.vm, obj); } - _this.sizeFont(_this.$scope.$element.height()); - }) - .catch(function (error) { - _this.latest = null; - _this.environments = null; - _this.releaseDefinition = null; - _this.environment_rows = null; - console.error(error); - _this.sizeFont(_this.$scope.$element.height()); - }); + alert("File imported successfully"); + _this.$rootscope.$apply(); + _this.$rootscope.$broadcast("dashci-refresh"); + } + else + throw "File format not supported."; + } + catch (e) { + alert(e); } }; - TfsReleaseController.prototype.rowCount = function () { - return this.environment_rows ? this.environment_rows.length : 0; - }; - TfsReleaseController.prototype.maxColumnCount = function () { - if (!this.environment_rows) - return 0; - var maxColumns = 0; - angular.forEach(this.environment_rows, function (row) { - if (row.length > maxColumns) - maxColumns = row.length; - }); - return maxColumns; + reader.readAsText(inputFile.files[0]); + inputFile.value = null; + }; + GlobalConfigController.prototype.export = function () { + var data = jQuery.extend(true, {}, this.vm); + if (data.gitlab) + data.gitlab.privateToken = null; + if (data.tfs) + data.tfs.privateToken = null; + if (data.github && data.github.length) + angular.forEach(data.github, function (item) { return item.privateToken = null; }); + var datatxt = angular.toJson(data); + var myBlob = new Blob([datatxt], { type: "application/json" }); + var url = window.URL.createObjectURL(myBlob); + var a = document.createElement("a"); + a.style.display = "none"; + document.body.appendChild(a); + a.href = url; + a.download = "dash-ci.json"; + a.click(); + this.$timeout(function () { return window.URL.revokeObjectURL(url); }, 1000); + alert("Your configuration was exported. Take note of your private keys, they are not saved to the exported file."); + }; + return GlobalConfigController; + }()); + GlobalConfigController.$inject = ["$timeout", "$mdDialog", "$scope", "$rootScope", "config"]; + Core.GlobalConfigController = GlobalConfigController; + })(Core = DashCI.Core || (DashCI.Core = {})); +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var GoogleCastReceiver = (function () { + function GoogleCastReceiver() { + var _this = this; + this.namespace = 'urn:x-cast:almasistemas.dashci'; + this.script = '//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js'; + var el = document.createElement('script'); + document.body.appendChild(el); + el.onload = function () { + setTimeout(function () { return _this.initializeCastApi(); }, 1000); + }; + el.type = "text/javascript"; + el.src = this.script; + } + GoogleCastReceiver.prototype.initializeCastApi = function () { + var _this = this; + GoogleCastReceiver.Cast = window.cast; + GoogleCastReceiver.Cast.receiver.logger.setLevelValue(0); + this.manager = GoogleCastReceiver.Cast.receiver.CastReceiverManager.getInstance(); + console.log('Starting Receiver Manager'); + this.manager.onReady = function (event) { + console.log('Received Ready event: ' + JSON.stringify(event.data)); + _this.manager.setApplicationState('chromecast-dashboard is ready...'); + }; + this.manager.onSenderConnected = function (event) { + console.log('Received Sender Connected event: ' + event.senderId); + }; + this.manager.onSenderDisconnected = function (event) { + console.log('Received Sender Disconnected event: ' + event.senderId); + if (_this.manager.getSenders().length == 0 && + event.reason == GoogleCastReceiver.Cast.receiver.system.DisconnectReason.REQUESTED_BY_SENDER) { + window.close(); + } + }; + this.messageBus = + this.manager.getCastMessageBus(this.namespace, GoogleCastReceiver.Cast.receiver.CastMessageBus.MessageType.JSON); + this.messageBus.onMessage = function (event) { return _this.receiveMessage(event); }; + // Initialize the CastReceiverManager with an application status message. + this.manager.start({ statusText: 'Application is starting' }); + console.log('Receiver Manager started'); + }; + GoogleCastReceiver.prototype.receiveMessage = function (event) { + console.log('Message [' + event.senderId + ']: ' + event.data); + if (event.data && this.receiveOptions) + this.receiveOptions(event.data); + }; + return GoogleCastReceiver; + }()); + GoogleCastReceiver.Cast = null; + DashCI.GoogleCastReceiver = GoogleCastReceiver; +})(DashCI || (DashCI = {})); +"use strict"; +var DashCI; +(function (DashCI) { + var GoogleCastSender = (function () { + function GoogleCastSender() { + /** + * Call initialization for Cast + */ + var _this = this; + this.script = '//www.gstatic.com/cv/js/sender/v1/cast_sender.js'; + this.applicationID = 'E57E663D'; + this.namespace = 'urn:x-cast:almasistemas.dashci'; + this.session = null; + this.invalidOs = true; + var el = document.createElement('script'); + document.body.appendChild(el); + el.onload = function () { + setTimeout(function () { return _this.initializeCastApi(); }, 1000); + }; + el.type = "text/javascript"; + el.src = this.script; + } + /** + * initialization + */ + GoogleCastSender.prototype.initializeCastApi = function () { + var _this = this; + GoogleCastSender.Cast = window.chrome.cast; + var sessionRequest = new GoogleCastSender.Cast.SessionRequest(this.applicationID); + var apiConfig = new GoogleCastSender.Cast.ApiConfig(sessionRequest, function (e) { return _this.sessionListener(e); }, function (e) { return _this.receiverListener(e); }); + GoogleCastSender.Cast.initialize(apiConfig, function () { return _this.onInitSuccess(); }, function (m) { return _this.onError(m); }); + }; + /** + * initialization success callback + */ + GoogleCastSender.prototype.onInitSuccess = function () { + console.info('Cast onInitSuccess'); + this.invalidOs = false; + }; + /** + * initialization error callback + */ + GoogleCastSender.prototype.onError = function (message) { + console.error('Cast onError: ' + JSON.stringify(message)); + this.connected = false; + }; + /** + * generic success callback + */ + GoogleCastSender.prototype.onSuccess = function (message) { + console.info('Cast onSuccess: ' + message); + this.connected = true; + }; + /** + * callback on success for stopping app + */ + GoogleCastSender.prototype.onStopAppSuccess = function () { + console.info('Cast onStopAppSuccess'); + this.connected = false; + }; + /** + * session listener during initialization + */ + GoogleCastSender.prototype.sessionListener = function (e) { + var _this = this; + console.info('Cast New session ID:' + e.sessionId); + this.session = e; + this.session.addUpdateListener(function (isAlive) { return _this.sessionUpdateListener(isAlive); }); + this.session.addMessageListener(this.namespace, function (namespace, message) { return _this.receiverMessage(namespace, message); }); + }; + /** + * listener for session updates + */ + GoogleCastSender.prototype.sessionUpdateListener = function (isAlive) { + var message = isAlive ? 'Session Updated' : 'Session Removed'; + message += ': ' + this.session.sessionId; + console.debug(message); + if (!isAlive) { + this.session = null; + this.connected = false; + } + }; + /** + * utility private to log messages from the receiver + * @param {string} namespace The namespace of the message + * @param {string} message A message string + */ + GoogleCastSender.prototype.receiverMessage = function (namespace, message) { + console.debug('receiverMessage: ' + namespace + ', ' + message); + }; + /** + * receiver listener during initialization + */ + GoogleCastSender.prototype.receiverListener = function (e) { + if (e === 'available') { + console.info('receiver found'); + } + else { + console.info('receiver list empty'); + } + }; + /** + * stop app/session + */ + GoogleCastSender.prototype.stopApp = function () { + var _this = this; + if (this.session) + this.session.stop(function () { return _this.onStopAppSuccess(); }, function (message) { return _this.onError(message); }); + }; + /** + * send a message to the receiver using the custom namespace + * receiver CastMessageBus message handler will be invoked + * @param {string} message A message string + */ + GoogleCastSender.prototype.sendMessage = function (message) { + var _this = this; + if (this.session != null) { + this.session.sendMessage(this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); + } + else { + GoogleCastSender.Cast.requestSession(function (e) { + _this.session = e; + _this.sessionListener(e); + _this.session.sendMessage(_this.namespace, message, function () { return _this.onSuccess(message); }, function (m) { return _this.onError(m); }); + }, function (m) { return _this.onError(m); }); + } + }; + return GoogleCastSender; + }()); + GoogleCastSender.Cast = null; + DashCI.GoogleCastSender = GoogleCastSender; +})(DashCI || (DashCI = {})); +/// +"use strict"; +var DashCI; +(function (DashCI) { + var Core; + (function (Core) { + var MainController = (function () { + function MainController($scope, $timeout, $q, $mdDialog, options) { + var _this = this; + this.$scope = $scope; + this.$timeout = $timeout; + this.$q = $q; + this.$mdDialog = $mdDialog; + this.options = options; + this.gridWidth = 800; + this.gridHeight = 600; + this.editable = false; + this.additionPossible = true; + this.gridOptions = { + showGrid: false, + highlightNextPosition: false }; - TfsReleaseController.prototype.filterAutomaticAfterReleaseOrManual = function (element) { - return (element.conditions && element.conditions[0] && element.conditions[0].name == "ReleaseStarted") || - (element.conditions && element.conditions.length == 0) //manual - ; + this.updateGridSize = function () { + _this.$timeout(function () { + var grid = document.getElementById('grid'); + _this.gridWidth = grid.clientWidth; + _this.gridHeight = grid.clientHeight; + }, 500); }; - TfsReleaseController.prototype.filterSubSequentEnvironments = function (rootElement) { - var _this = this; - var list = this.environments.filter(function (element) { - return element.conditions && element.conditions[0] && - element.conditions[0].conditionType == "environmentState" && - element.conditions[0].name == rootElement.name; - }); - angular.forEach(list, function (item) { - var moreList = _this.filterSubSequentEnvironments(item); - if (moreList.length > 0) - angular.forEach(moreList, function (mi) { return list.push(mi); }); - }); - return list; + this.defOptions = { + columns: 30, + rows: 20, + tfs: null, + gitlab: null, + github: [], + circleci: [], + pages: [{ + id: "1", + name: "Dash-CI", + widgets: [] + }] }; - TfsReleaseController.prototype.setIcon = function (item) { - if (item.release) { - switch (item.status) { - case "inProgress": - item.icon = "play_circle_filled"; - break; - case "canceled": - item.icon = "remove_circle"; - break; - case "notStarted": - item.icon = "pause_circle_filled"; - break; - case "rejected": - item.icon = "cancel"; - break; - case "succeeded": - item.icon = "check"; - break; - default: - item.icon = "help"; - break; - } - if (item && item.preDeployApprovals) { - var preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "pending"; }); - if (preDeploy.length > 0) - item.icon = "assignment_ind"; - preDeploy = item.preDeployApprovals.filter(function (p) { return p.status == "rejected"; }); - if (preDeploy.length > 0) - item.icon = "assignment_late"; - } - if (item && item.postDeployApprovals) { - var postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "pending"; }); - if (postDeploy.length > 0) - item.icon = "assignment_ind"; - postDeploy = item.postDeployApprovals.filter(function (p) { return p.status == "rejected"; }); - if (postDeploy.length > 0) - item.icon = "assignment_late"; + this.isGoogleCast = this.CheckGoogleCast(); + this.castStatus = 'cast'; + this.canCast = false; + this.castSender = null; + this.castReceiver = null; + this.loadData(); + window.onresize = this.updateGridSize; + this.$scope.$on('wg-grid-full', function () { + _this.additionPossible = false; + }); + this.$scope.$on('wg-grid-space-available', function () { + _this.additionPossible = true; + }); + this.$scope.$on('wg-update-position', function (event, widgetInfo) { + console.log('A widget has changed its position!', widgetInfo); + }); + this.$scope.$on("dashci-refresh", function () { + _this.currentPage = null; + _this.selectedPageId = _this.options.pages[0].id; + _this.changePage(); + }); + this.$scope.$watch(function () { return _this.selectedPageId; }, function () { return _this.changePage(); }); + this.updateGridSize(); + this.initCastApi(); + } + MainController.prototype.changePage = function () { + var _this = this; + if (!this.currentPage || this.selectedPageId != this.currentPage.id) { + this.currentPage = null; + this.$timeout(function () { + _this.currentPage = _this.options.pages.filter(function (item) { return item.id == _this.selectedPageId; })[0]; + }, 500); + } + }; + MainController.prototype.addWidgetDialog = function (ev) { + var _this = this; + if (this.additionPossible) { + this.$mdDialog.show({ + controller: Core.AddWidgetController, + controllerAs: "ctrl", + templateUrl: 'app/core/add-widget.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + }) + .then(function (type) { return _this.createWidget(type); }); + } + }; + MainController.prototype.globalConfigDialog = function (ev) { + var _this = this; + this.$mdDialog.show({ + controller: Core.GlobalConfigController, + controllerAs: "ctrl", + templateUrl: 'app/core/global-config.html', + parent: angular.element(document.body), + //targetEvent: ev, + clickOutsideToClose: true, + fullscreen: false, + resolve: { + config: function () { + var deferred = _this.$q.defer(); + _this.$timeout(function () { return deferred.resolve(_this.options); }, 1); + return deferred.promise; } } - else { - item.icon = ""; - } - }; - return TfsReleaseController; - }()); - TfsReleaseController.$inject = ["$scope", "$q", "$timeout", "$interval", "$mdDialog", "tfsResources"]; - TfsRelease.TfsReleaseController = TfsReleaseController; - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); -})(DashCI || (DashCI = {})); -"use strict"; -var DashCI; -(function (DashCI) { - var Widgets; - (function (Widgets) { - var TfsRelease; - (function (TfsRelease) { - var TfsReleaseDirective = (function () { - function TfsReleaseDirective() { - this.restrict = "E"; - this.templateUrl = "app/widgets/tfs-release/release.html"; - this.replace = false; - this.controller = TfsRelease.TfsReleaseController; - this.controllerAs = "ctrl"; - /* Binding css to directives */ - this.css = { - href: "app/widgets/tfs-release/release.css", - persist: true + }) + .then(function () { return _this.saveData(); }); + }; + MainController.prototype.removeWidget = function (widget) { + var idx = this.currentPage.widgets.indexOf(widget); + if (idx > -1) { + this.currentPage.widgets.splice(idx, 1); + } + }; + MainController.prototype.toggleEditable = function () { + this.editable = !this.editable; + this.gridOptions.showGrid = this.editable; + this.saveData(); + }; + MainController.prototype.createWidget = function (type) { + this.currentPage.widgets.push({ + type: type, + position: { left: -1, top: -1, width: 6, height: 4 } + }); + this.saveData(); + }; + MainController.prototype.saveData = function () { + window.localStorage['dash-ci-options'] = angular.toJson(this.options); + }; + MainController.prototype.loadData = function () { + var defOptions = angular.copy(this.defOptions); + var savedOpts = (angular.fromJson(window.localStorage['dash-ci-options']) || defOptions); + angular.extend(this.options, defOptions, savedOpts); + angular.forEach(savedOpts.pages, function (item) { + item.name = item.name || "Dash-CI"; + }); + this.currentPage = this.options.pages[0]; //preparing to support multiple pages + }; + MainController.prototype.initCastApi = function () { + var _this = this; + if (!this.isGoogleCast) { + this.castSender = new DashCI.GoogleCastSender(); + this.$scope.$watch(function () { return _this.castSender.connected; }, function (connected) { + _this.castStatus = connected ? 'cast_connected' : 'cast'; + }); + this.$scope.$watch(function () { return _this.castSender.invalidOs; }, function (invalidOs) { + _this.canCast = !invalidOs; + }); + } + else { + this.castReceiver = new DashCI.GoogleCastReceiver(); + this.castReceiver.receiveOptions = function (options) { + var defOptions = angular.copy(_this.defOptions); + angular.extend(_this.options, defOptions, options); }; } - TfsReleaseDirective.create = function () { - var directive = function () { return new TfsReleaseDirective(); }; - directive.$inject = []; - return directive; - }; - return TfsReleaseDirective; - }()); - DashCI.app.directive("tfsRelease", TfsReleaseDirective.create()); - })(TfsRelease = Widgets.TfsRelease || (Widgets.TfsRelease = {})); - })(Widgets = DashCI.Widgets || (DashCI.Widgets = {})); + }; + MainController.prototype.toggleCast = function () { + if (this.castStatus == 'cast') { + //connect + this.castSender.sendMessage(this.options); + } + else { + //disconnect + this.castSender.stopApp(); + } + }; + MainController.prototype.CheckGoogleCast = function () { + return (navigator.userAgent.match(/CrKey/i) && + navigator.userAgent.match(/TV/i)); + }; + return MainController; + }()); + MainController.$inject = ["$scope", "$timeout", "$q", "$mdDialog", "globalOptions"]; + DashCI.app.controller("MainController", MainController); + })(Core = DashCI.Core || (DashCI.Core = {})); })(DashCI || (DashCI = {})); //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/src/app.js.map b/src/app.js.map index 91f7043..6910995 100644 --- a/src/app.js.map +++ b/src/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["app/app.ts","app/core/add-widget-controller.ts","app/core/global-config-controller.ts","app/core/googlecast-receiver.ts","app/core/googlecast-sender.ts","app/core/main-controller.ts","app/models/constants.ts","app/models/models.ts","app/models/widgets.ts","app/resources/github/models.ts","app/resources/github/resources.ts","app/resources/gitlab/models.ts","app/resources/gitlab/resources.ts","app/resources/tfs/models.ts","app/resources/tfs/resources.ts","app/widgets/clock/clock.ts","app/widgets/clock/controller.ts","app/widgets/github-issues/config-controller.ts","app/widgets/github-issues/controller.ts","app/widgets/github-issues/issues.ts","app/widgets/gitlab-issues/config-controller.ts","app/widgets/gitlab-issues/controller.ts","app/widgets/gitlab-issues/issues.ts","app/widgets/gitlab-pipeline-graph/config-controller.ts","app/widgets/gitlab-pipeline-graph/controller.ts","app/widgets/gitlab-pipeline-graph/pipeline-graph.ts","app/widgets/gitlab-pipeline/config-controller.ts","app/widgets/gitlab-pipeline/controller.ts","app/widgets/gitlab-pipeline/pipeline.ts","app/widgets/label/config-controller.ts","app/widgets/label/controller.ts","app/widgets/label/label.ts","app/widgets/loader.ts","app/widgets/tfs-build-graph/build-graph.ts","app/widgets/tfs-build-graph/config-controller.ts","app/widgets/tfs-build-graph/controller.ts","app/widgets/tfs-build/config-controller.ts","app/widgets/tfs-build/controller.ts","app/widgets/tfs-build/directive.ts","app/widgets/tfs-query-chart/config-controller.ts","app/widgets/tfs-query-chart/controller.ts","app/widgets/tfs-query-chart/tfs-query-chart.ts","app/widgets/tfs-query-count/config-controller.ts","app/widgets/tfs-query-count/controller.ts","app/widgets/tfs-query-count/tfs-query-count.ts","app/widgets/tfs-release/config-controller.ts","app/widgets/tfs-release/controller.ts","app/widgets/tfs-release/directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app/app.ts","app/models/widgets.ts","app/widgets/loader.ts","app/widgets/tfs-release/config-controller.ts","app/widgets/tfs-release/controller.ts","app/widgets/tfs-release/directive.ts","app/widgets/tfs-query-count/config-controller.ts","app/widgets/tfs-query-count/controller.ts","app/widgets/tfs-query-count/tfs-query-count.ts","app/widgets/tfs-query-chart/config-controller.ts","app/widgets/tfs-query-chart/controller.ts","app/widgets/tfs-query-chart/tfs-query-chart.ts","app/widgets/tfs-build-graph/build-graph.ts","app/widgets/tfs-build-graph/config-controller.ts","app/widgets/tfs-build-graph/controller.ts","app/widgets/tfs-build/config-controller.ts","app/widgets/tfs-build/controller.ts","app/widgets/tfs-build/directive.ts","app/widgets/label/config-controller.ts","app/widgets/label/controller.ts","app/widgets/label/label.ts","app/widgets/gitlab-pipeline-graph/config-controller.ts","app/widgets/gitlab-pipeline-graph/controller.ts","app/widgets/gitlab-pipeline-graph/pipeline-graph.ts","app/widgets/gitlab-pipeline/config-controller.ts","app/widgets/gitlab-pipeline/controller.ts","app/widgets/gitlab-pipeline/pipeline.ts","app/widgets/gitlab-issues/config-controller.ts","app/widgets/gitlab-issues/controller.ts","app/widgets/gitlab-issues/issues.ts","app/widgets/github-issues/config-controller.ts","app/widgets/github-issues/controller.ts","app/widgets/github-issues/issues.ts","app/widgets/clock/clock.ts","app/widgets/clock/controller.ts","app/resources/tfs/models.ts","app/resources/tfs/resources.ts","app/resources/gitlab/models.ts","app/resources/gitlab/resources.ts","app/resources/github/models.ts","app/resources/github/resources.ts","app/models/constants.ts","app/models/models.ts","app/core/add-widget-controller.ts","app/core/global-config-controller.ts","app/core/googlecast-receiver.ts","app/core/googlecast-sender.ts","app/core/main-controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file