Skip to content

Commit

Permalink
feat(chromeExtension): update jira settings to reflect on the extensi…
Browse files Browse the repository at this point in the history
…on being available
  • Loading branch information
johannesjo committed Mar 18, 2018
1 parent 18118ba commit de93daa
Show file tree
Hide file tree
Showing 3 changed files with 148 additions and 129 deletions.
3 changes: 1 addition & 2 deletions app-src/scripts/routes/settings/settings-c.html
Expand Up @@ -36,8 +36,7 @@ <h1 class="md-title">Project Specific Settings</h1>
</div>

<section class="config-section"
md-whiteframe="2"
ng-if="vm.IS_ELECTRON">
md-whiteframe="2">
<jira-settings settings="r.jiraSettings"></jira-settings>
</section>

Expand Down
269 changes: 143 additions & 126 deletions app-src/scripts/settings/jira-settings/jira-settings-d.html
@@ -1,8 +1,13 @@
<h2 class="md-title">Jira-Integration</h2>

<help-section>
<help-section ng-if="vm.hasJiraSupport">
<div class="md-caption">Basic configuration</div>
<p>Basic configuration for Jira. You also need to specify a JQL query which is used for the suggestions to add tasks from Jira. If you need help check out this link
<p>Please provide a username (can be found on your profile page) and an
<a class="md-accent"
href="https://confluence.atlassian.com/cloud/api-tokens-938839638.html"
external-link="">API token</a> or password if you can't generate one for some reason.
</p>
<p>You also need to specify a JQL query which is used for the suggestions to add tasks from Jira. If you need help check out this link
<a class="md-accent"
href="https://confluence.atlassian.com/jirasoftwarecloud/advanced-searching-764478330.html"
external-link="">https://confluence.atlassian.com/jirasoftwarecloud/advanced-searching-764478330.html</a>.</p>
Expand All @@ -25,143 +30,155 @@ <h2 class="md-title">Jira-Integration</h2>
<p>Here you can reconfigure your default transitions. Jira enables a wide configuration of transitions usually coming into action as different columns on your Jira agile board we can't make assumptions about where and when to transition your tasks and you need to set it manually.</p>
</help-section>

<md-switch ng-model="vm.settings.isJiraEnabled"
aria-label="Enable Jira Integration">
Enable Jira Integration
</md-switch>
<!--<div class="!vm.IS_ELECTRON">-->
<p>Please download the chrome extension in order to allow communication with the Jira Api.</p>
<md-button class="md-raised md-primary"
target="_blank"
href="https://github.com/johannesjo/super-productivity-chrome-extension">
<ng-md-icon icon="file_download"></ng-md-icon>
Download now
</md-button>
<!--</div>-->

<div ng-show="vm.settings.isJiraEnabled">
<form>
<md-input-container class="md-block">
<label>Host / Base URL</label>
<input type="text"
ng-model="vm.settings.host">
</md-input-container>
<md-input-container class="md-block">
<label>Username</label>
<input type="text"
ng-model="vm.settings.userName">
</md-input-container>
<md-input-container class="md-block">
<label>Password</label>
<input type="password"
ng-model="vm.settings.password">
</md-input-container>
<md-input-container class="md-block">
<label>JQL Query for Searching Tasks</label>
<input type="text"
ng-model="vm.settings.jqlQuery">
<div class="hint">e.g.: assignee = "<span ng-bind="vm.settings.userName"></span>" AND resolution = Unresolved ORDER BY updatedDate DESC
</div>
</md-input-container>
<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isEnabledAutoAdd"
aria-label="Add worklog when sub task is done">
Auto add issues from Jira to backlog
</md-switch>
</div>
</md-input-container>
<md-input-container class="md-block">
<label>JQL Query for Auto Adding Tasks to Backlog</label>
<input type="text"
ng-disabled="!vm.settings.isEnabledAutoAdd"
ng-model="vm.settings.jqlQueryAutoAdd">
<div class="hint">e.g.: assignee = currentUser() AND resolution = Unresolved ORDER BY updatedDate DESC</div>
</md-input-container>

<md-switch ng-model="vm.settings.isUpdateIssueFromLocal"
aria-label="Update issue description on jira if task notes are updated">
Update issue description on Jira if task notes are updated
</md-switch>
<md-switch ng-model="vm.settings.isCheckToReAssignTicketOnTaskStart"
aria-label="Check if current ticket is assigned to current user">
Check if current ticket is assigned to current user
</md-switch>
<md-button aria-label="Test credentials"
class="md-primary md-raised"
ng-click="vm.testJiraCredentials()">
<ng-md-icon icon="import_export"></ng-md-icon>
Test credentials
</md-button>
<section>
<h3 class="md-subtitle">Worklog</h3>
<div ng-if="vm.hasJiraSupport">
<md-switch ng-model="vm.settings.isJiraEnabled"
aria-label="Enable Jira Integration">
Enable Jira Integration
</md-switch>

<div ng-show="vm.settings.isJiraEnabled">
<form>
<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isWorklogEnabled"
aria-label="open dialog for adding a worklog to jira when task is done">
Open worklog dialog for adding a worklog to Jira when task is done
</md-switch>
<label>Host / Base URL</label>
<input type="text"
ng-model="vm.settings.host">
</md-input-container>
<md-input-container class="md-block">
<label>Username</label>
<input type="text"
ng-model="vm.settings.userName">
</md-input-container>
<md-input-container class="md-block">
<label>Token / Password</label>
<input type="password"
ng-model="vm.settings.password">
</md-input-container>
<md-input-container class="md-block">
<label>JQL Query for Searching Tasks</label>
<input type="text"
ng-model="vm.settings.jqlQuery">
<div class="hint">e.g.: assignee = "<span ng-bind="vm.settings.userName"></span>" AND resolution = Unresolved ORDER BY updatedDate DESC
</div>
</md-input-container>

<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isAddWorklogOnSubTaskDone"
ng-disabled="!vm.settings.isWorklogEnabled"
<md-switch ng-model="vm.settings.isEnabledAutoAdd"
aria-label="Add worklog when sub task is done">
Open worklog dialog when sub task is done and not for tasks with sub tasks themselves
Auto add issues from Jira to backlog
</md-switch>
</div>
</md-input-container>

<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isAutoWorklog"
ng-disabled="!vm.settings.isWorklogEnabled"
aria-label="(not recommended) send updates to worklog automatically when task is done">
(not recommended!) Send updates to worklog automatically without dialog
</md-switch>
</div>
<label>JQL Query for Auto Adding Tasks to Backlog</label>
<input type="text"
ng-disabled="!vm.settings.isEnabledAutoAdd"
ng-model="vm.settings.jqlQueryAutoAdd">
<div class="hint">e.g.: assignee = currentUser() AND resolution = Unresolved ORDER BY updatedDate DESC</div>
</md-input-container>
</section>

<md-switch ng-model="vm.settings.isUpdateIssueFromLocal"
aria-label="Update issue description on jira if task notes are updated">
Update issue description on Jira if task notes are updated
</md-switch>
<md-switch ng-model="vm.settings.isCheckToReAssignTicketOnTaskStart"
aria-label="Check if current ticket is assigned to current user">
Check if current ticket is assigned to current user
</md-switch>
<md-button aria-label="Test credentials"
class="md-primary md-raised"
ng-click="vm.testJiraCredentials()">
<ng-md-icon icon="import_export"></ng-md-icon>
Test credentials
</md-button>
<section>
<h3 class="md-subtitle">Worklog</h3>

<section ng-if="vm.settings.allTransitions">
<h3 class="md-subtitle">Default Transitions</h3>
<p>Jira enables a wide configuration of transitions usually coming into action as different columns on your jira agile board. That's why we can't make assumptions about where and when to transition your tasks and you need to set it manually.</p>
<md-input-container class="md-block">
<label>Default transition for OPEN</label>
<md-select ng-model="vm.settings.transitions.OPEN"
arial-label="Select default transition for OPEN">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block">
<label>Default transition for IN_PROGRESS</label>
<md-select ng-model="vm.settings.transitions.IN_PROGRESS"
arial-label="Select default transition for IN_PROGRESS">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block">
<label>Default transition for DONE (leave empty to not change assignment)</label>
<md-select ng-model="vm.settings.transitions.DONE"
arial-label="Select default transition for DONE">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
</section>
</form>
<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isWorklogEnabled"
aria-label="open dialog for adding a worklog to jira when task is done">
Open worklog dialog for adding a worklog to Jira when task is done
</md-switch>
</div>
</md-input-container>

<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isAddWorklogOnSubTaskDone"
ng-disabled="!vm.settings.isWorklogEnabled"
aria-label="Add worklog when sub task is done">
Open worklog dialog when sub task is done and not for tasks with sub tasks themselves
</md-switch>
</div>
</md-input-container>

<md-input-container class="md-block">
<div>
<md-switch ng-model="vm.settings.isAutoWorklog"
ng-disabled="!vm.settings.isWorklogEnabled"
aria-label="(not recommended) send updates to worklog automatically when task is done">
(not recommended!) Send updates to worklog automatically without dialog
</md-switch>
</div>
</md-input-container>
</section>


<section ng-if="vm.settings.allTransitions">
<h3 class="md-subtitle">Default Transitions</h3>
<p>Jira enables a wide configuration of transitions usually coming into action as different columns on your jira agile board. That's why we can't make assumptions about where and when to transition your tasks and you need to set it manually.</p>
<md-input-container class="md-block">
<label>Default transition for OPEN</label>
<md-select ng-model="vm.settings.transitions.OPEN"
arial-label="Select default transition for OPEN">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block">
<label>Default transition for IN_PROGRESS</label>
<md-select ng-model="vm.settings.transitions.IN_PROGRESS"
arial-label="Select default transition for IN_PROGRESS">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block">
<label>Default transition for DONE (leave empty to not change assignment)</label>
<md-select ng-model="vm.settings.transitions.DONE"
arial-label="Select default transition for DONE">
<md-option ng-value="'ALWAYS_ASK'"><em>Always ask</em></md-option>
<md-option ng-value="'DO_NOT'"><em>Don't transition</em></md-option>
<md-option ng-repeat="jiraTransition in vm.settings.allTransitions"
ng-value="jiraTransition.id">
<span ng-bind="jiraTransition.id"></span> -
<span ng-bind="jiraTransition.name"></span>
</md-option>
</md-select>
</md-input-container>
</section>
</form>

<md-divider></md-divider>
</div>
<md-divider></md-divider>
</div>
</div>
5 changes: 4 additions & 1 deletion app-src/scripts/settings/jira-settings/jira-settings-d.js
Expand Up @@ -27,8 +27,11 @@
}

/* @ngInject */
function JiraSettingsCtrl(Jira, SimpleToast, $timeout, $scope) {
function JiraSettingsCtrl(Jira, SimpleToast, $timeout, $scope, IS_ELECTRON, IS_EXTENSION) {
let vm = this;
vm.IS_ELECTRON = IS_ELECTRON;
vm.IS_EXTENSION = IS_EXTENSION;
vm.hasJiraSupport = IS_ELECTRON || IS_EXTENSION;

vm.testJiraCredentials = () => {
let errorMsgTimeout;
Expand Down

0 comments on commit de93daa

Please sign in to comment.