summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/components/modal/header.js.es6
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2017-02-06 16:06:44 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2017-02-06 16:06:44 +0100
commita8825f0c7fb5da6a047813a491e6b8aebc33bb5b (patch)
tree4b676823f617ae696b11f606272c139d7007960b /app/assets/javascripts/boards/components/modal/header.js.es6
parent3cd17c9430c7575b0c1f1041947f3cd0d991f00c (diff)
parente438b30a315e092e03afa9d84f8a9e57ded3b0a2 (diff)
downloadgitlab-ce-a8825f0c7fb5da6a047813a491e6b8aebc33bb5b.tar.gz
Merge remote-tracking branch 'origin/master' into 24147-delete-env-button
Diffstat (limited to 'app/assets/javascripts/boards/components/modal/header.js.es6')
-rw-r--r--app/assets/javascripts/boards/components/modal/header.js.es670
1 files changed, 70 insertions, 0 deletions
diff --git a/app/assets/javascripts/boards/components/modal/header.js.es6 b/app/assets/javascripts/boards/components/modal/header.js.es6
new file mode 100644
index 00000000000..ab903722ba4
--- /dev/null
+++ b/app/assets/javascripts/boards/components/modal/header.js.es6
@@ -0,0 +1,70 @@
+/* global Vue */
+
+require('./tabs');
+
+(() => {
+ const ModalStore = gl.issueBoards.ModalStore;
+
+ gl.issueBoards.ModalHeader = Vue.extend({
+ mixins: [gl.issueBoards.ModalMixins],
+ data() {
+ return ModalStore.store;
+ },
+ computed: {
+ selectAllText() {
+ if (ModalStore.selectedCount() !== this.issues.length || this.issues.length === 0) {
+ return 'Select all';
+ }
+
+ return 'Deselect all';
+ },
+ showSearch() {
+ return this.activeTab === 'all' && !this.loading && this.issuesCount > 0;
+ },
+ },
+ methods: {
+ toggleAll() {
+ this.$refs.selectAllBtn.blur();
+
+ ModalStore.toggleAll();
+ },
+ },
+ components: {
+ 'modal-tabs': gl.issueBoards.ModalTabs,
+ },
+ template: `
+ <div>
+ <header class="add-issues-header form-actions">
+ <h2>
+ Add issues
+ <button
+ type="button"
+ class="close"
+ data-dismiss="modal"
+ aria-label="Close"
+ @click="toggleModal(false)">
+ <span aria-hidden="true">×</span>
+ </button>
+ </h2>
+ </header>
+ <modal-tabs v-if="!loading && issuesCount > 0"></modal-tabs>
+ <div
+ class="add-issues-search append-bottom-10"
+ v-if="showSearch">
+ <input
+ placeholder="Search issues..."
+ class="form-control"
+ type="search"
+ v-model="searchTerm" />
+ <button
+ type="button"
+ class="btn btn-success btn-inverted prepend-left-10"
+ ref="selectAllBtn"
+ @click="toggleAll">
+ {{ selectAllText }}
+ </button>
+ </div>
+ </div>
+ `,
+ });
+})();