@papaemmelab/isabl-web 0.3.19 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -91407,7 +91407,7 @@ module.exports = overArg;
91407
91407
  /***/ "9224":
91408
91408
  /***/ (function(module) {
91409
91409
 
91410
- module.exports = JSON.parse("{\"name\":\"@papaemmelab/isabl-web\",\"version\":\"0.3.19\",\"scripts\":{\"serve\":\"vue-cli-service serve\",\"lint\":\"vue-cli-service lint\",\"build-lib\":\"vue-cli-service build --target lib --name isabl-web ./src/main.js\",\"build-wc\":\"vue-cli-service build --target wc --name isabl-web ./src/components/*.vue\",\"build-wc-async\":\"vue-cli-service build --target wc-async --name isabl-web ./src/components/*.vue\",\"publish-app\":\"yarn version --patch && yarn build-lib && yarn publish --access public\",\"dev\":\"yarn build-lib --watch\",\"test:unit\":\"vue-cli-service test:unit\",\"test:e2e\":\"vue-cli-service test:e2e\",\"test:travis\":\"yarn test:e2e --headless\",\"test:submissions\":\"node tests/utils/create_test_submission.js\",\"test:report-coverage\":\"nyc report --reporter=text-lcov > coverage.lcov && codecov -t $CODECOV_TOKEN\",\"demo\":\"nodemon demo/demo-app.js\"},\"dependencies\":{\"@mdi/font\":\"^7.0.96\",\"ansi_up\":\"^5\",\"axios\":\"^0.21.1\",\"crossfilter\":\"^1.3.12\",\"crossfilter2\":\"^1.4.7\",\"d3-tip\":\"^0.9.1\",\"dc\":\"3.1.2\",\"detect-csv\":\"^1.1.0\",\"js-md5\":\"^0.7.3\",\"minify-css-string\":\"^1.0.0\",\"moment\":\"^2.22.2\",\"register-service-worker\":\"^1.5.2\",\"v-hotkey\":\"^0.6.0\",\"vue\":\"^2.5.16\",\"vue-clipboard2\":\"^0.2.1\",\"vue-gallery\":\"^1.4.0\",\"vue-highlightjs\":\"^1.3.3\",\"vue-json-excel\":\"^0.2.5\",\"vue-observe-visibility\":\"^0.4.6\",\"vue-router\":\"^3.0.1\",\"vue-upload-component\":\"^2.8.11\",\"vuetify\":\"2.6.10\",\"vuex\":\"^3.0.1\",\"vuex-router-sync\":\"^5.0.0\"},\"devDependencies\":{\"@cypress/code-coverage\":\"^1.10.1\",\"@vue/cli-plugin-babel\":\"^3.3.0\",\"@vue/cli-plugin-e2e-cypress\":\"^3.3.0\",\"@vue/cli-plugin-eslint\":\"^3.3.0\",\"@vue/cli-plugin-pwa\":\"^3.3.0\",\"@vue/cli-plugin-unit-jest\":\"^3.3.0\",\"@vue/cli-service\":\"^3.3.0\",\"@vue/eslint-config-prettier\":\"^3.0.5\",\"@vue/test-utils\":\"^1.0.0-beta.20\",\"axios-mock-adapter\":\"^1.15.0\",\"babel-core\":\"7.0.0-bridge.0\",\"babel-jest\":\"^23.0.1\",\"babel-plugin-istanbul\":\"^5.2.0\",\"codecov\":\"^3.6.1\",\"eslint-plugin-vuetify\":\"^1.1.0\",\"express\":\"^4.16.3\",\"html-webpack-plugin\":\"^3.2.0\",\"istanbul-lib-coverage\":\"^2.0.5\",\"mini-css-extract-plugin\":\"^0.4.2\",\"nyc\":\"^14.1.1\",\"sass\":\"^1.55.0\",\"sass-loader\":\"^7.0.1\",\"vue-template-compiler\":\"^2.5.16\",\"xlsx-populate\":\"^1.19.1\"},\"browserslist\":[\"> 1%\",\"last 2 versions\",\"not ie <= 8\"],\"main\":\"./dist/isabl-web.umd.min.js\",\"license\":\"MIT\",\"files\":[\"dist/isabl-web*.js\"],\"author\":\"Juan S. Medina - Juan E. Arango\",\"description\":\"Isabl Frontend of the MSK Academic License.\",\"bugs\":{\"url\":\"https://github.com/papaemmelab/isabl_web/issues\"},\"homepage\":\"https://github.com/papaemmelab/isabl_web#readme\"}");
91410
+ module.exports = JSON.parse("{\"name\":\"@papaemmelab/isabl-web\",\"version\":\"0.3.20\",\"scripts\":{\"serve\":\"vue-cli-service serve\",\"lint\":\"vue-cli-service lint\",\"build-lib\":\"vue-cli-service build --target lib --name isabl-web ./src/main.js\",\"build-wc\":\"vue-cli-service build --target wc --name isabl-web ./src/components/*.vue\",\"build-wc-async\":\"vue-cli-service build --target wc-async --name isabl-web ./src/components/*.vue\",\"publish-app\":\"yarn version --patch && yarn build-lib && yarn publish --access public\",\"dev\":\"yarn build-lib --watch\",\"test:unit\":\"vue-cli-service test:unit\",\"test:e2e\":\"vue-cli-service test:e2e\",\"test:travis\":\"yarn test:e2e --headless\",\"test:submissions\":\"node tests/utils/create_test_submission.js\",\"test:report-coverage\":\"nyc report --reporter=text-lcov > coverage.lcov && codecov -t $CODECOV_TOKEN\",\"demo\":\"nodemon demo/demo-app.js\"},\"dependencies\":{\"@mdi/font\":\"^7.0.96\",\"ansi_up\":\"^5\",\"axios\":\"^0.21.1\",\"crossfilter\":\"^1.3.12\",\"crossfilter2\":\"^1.4.7\",\"d3-tip\":\"^0.9.1\",\"dc\":\"3.1.2\",\"detect-csv\":\"^1.1.0\",\"js-md5\":\"^0.7.3\",\"minify-css-string\":\"^1.0.0\",\"moment\":\"^2.22.2\",\"register-service-worker\":\"^1.5.2\",\"v-hotkey\":\"^0.6.0\",\"vue\":\"^2.5.16\",\"vue-clipboard2\":\"^0.2.1\",\"vue-gallery\":\"^1.4.0\",\"vue-highlightjs\":\"^1.3.3\",\"vue-json-excel\":\"^0.2.5\",\"vue-observe-visibility\":\"^0.4.6\",\"vue-router\":\"^3.0.1\",\"vue-upload-component\":\"^2.8.11\",\"vuetify\":\"2.6.10\",\"vuex\":\"^3.0.1\",\"vuex-router-sync\":\"^5.0.0\"},\"devDependencies\":{\"@cypress/code-coverage\":\"^1.10.1\",\"@vue/cli-plugin-babel\":\"^3.3.0\",\"@vue/cli-plugin-e2e-cypress\":\"^3.3.0\",\"@vue/cli-plugin-eslint\":\"^3.3.0\",\"@vue/cli-plugin-pwa\":\"^3.3.0\",\"@vue/cli-plugin-unit-jest\":\"^3.3.0\",\"@vue/cli-service\":\"^3.3.0\",\"@vue/eslint-config-prettier\":\"^3.0.5\",\"@vue/test-utils\":\"^1.0.0-beta.20\",\"axios-mock-adapter\":\"^1.15.0\",\"babel-core\":\"7.0.0-bridge.0\",\"babel-jest\":\"^23.0.1\",\"babel-plugin-istanbul\":\"^5.2.0\",\"codecov\":\"^3.6.1\",\"eslint-plugin-vuetify\":\"^1.1.0\",\"express\":\"^4.16.3\",\"html-webpack-plugin\":\"^3.2.0\",\"istanbul-lib-coverage\":\"^2.0.5\",\"mini-css-extract-plugin\":\"^0.4.2\",\"nyc\":\"^14.1.1\",\"sass\":\"^1.55.0\",\"sass-loader\":\"^7.0.1\",\"vue-template-compiler\":\"^2.5.16\",\"xlsx-populate\":\"^1.19.1\"},\"browserslist\":[\"> 1%\",\"last 2 versions\",\"not ie <= 8\"],\"main\":\"./dist/isabl-web.umd.min.js\",\"license\":\"MIT\",\"files\":[\"dist/isabl-web*.js\"],\"author\":\"Juan S. Medina - Juan E. Arango\",\"description\":\"Isabl Frontend of the MSK Academic License.\",\"bugs\":{\"url\":\"https://github.com/papaemmelab/isabl_web/issues\"},\"homepage\":\"https://github.com/papaemmelab/isabl_web#readme\"}");
91411
91411
 
91412
91412
  /***/ }),
91413
91413
 
@@ -222932,12 +222932,12 @@ var EditProfileModal_component = normalizeComponent(
222932
222932
  )
222933
222933
 
222934
222934
  /* harmony default export */ var EditProfileModal = (EditProfileModal_component.exports);
222935
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d220a428-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/NewProjectModal.vue?vue&type=template&id=9dcdd18a&
222936
- var NewProjectModalvue_type_template_id_9dcdd18a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-modal',{attrs:{"show-modal":_vm.showModal,"max-width":"800px"},on:{"close-modal":_vm.closeModal},scopedSlots:_vm._u([{key:"title",fn:function(){return [_vm._v("Create Project")]},proxy:true},{key:"content",fn:function(){return [_c('v-container',{staticClass:"pa-0"},[_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-text-field',{ref:"title",staticClass:"pt-6",attrs:{"v-show":_vm.showModal,"rules":[_vm.rules.required],"error-messages":_vm.errorMessages.title,"label":"Project Title","data-test":"new-project-title-input"},on:{"keyup":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.submit.apply(null, arguments)}},model:{value:(_vm.project.title),callback:function ($$v) {_vm.$set(_vm.project, "title", $$v)},expression:"project.title"}})],1)],1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showOptionalFields),expression:"showOptionalFields"}],staticClass:"pa-0"},[_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-text-field',{ref:"shortTitle",attrs:{"rules":[_vm.rules.unicode, _vm.rules.min10],"error-messages":_vm.errorMessages.short_title,"label":"Project Short Title","data-test":"new-project-short-input","counter":"","dense":"","maxlength":"30","hint":"Think of the objective of the project."},model:{value:(_vm.project.shortTitle),callback:function ($$v) {_vm.$set(_vm.project, "shortTitle", $$v)},expression:"project.shortTitle"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-select',{ref:"group",attrs:{"items":_vm.groups,"return-object":"","item-text":"slug","label":"Group","dense":"","data-test":"new-project-groups-input"},model:{value:(_vm.project.group),callback:function ($$v) {_vm.$set(_vm.project, "group", $$v)},expression:"project.group"}})],1)],1),_c('div',{staticClass:"text-h6 primary--text pt-8"},[_vm._v("\n Participants\n ")]),_c('v-row',[_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"principalInvestigator",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.principal_investigator,"field":"principalInvestigator","label":"Principal Investigator","data-test":"new-project-pi-input","hint":"Laboratory head or principal investigator","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"owner",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.owner,"field":"owner","label":"Project Owner","data-test":"new-project-owner-input","hint":"Who deals with the nitty-gritty of the project","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"coordinator",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.coordinator,"field":"coordinator","label":"Coordinator","data-test":"new-project-coord-input","hint":"Project manager or coordinator","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"analyst",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.analyst,"field":"analyst","label":"Data Analyst","data-test":"new-project-analyst-input","hint":"Person responsible for the data analysis"},on:{"update-value":_vm.updateValue}})],1)],1),_c('sharing-settings',{ref:"sharing",staticClass:"pt-8",attrs:{"sharing":_vm.sharing,"error-messages":_vm.errorMessages.sharing},on:{"update-sharing":_vm.updateSharing}})],1)],1)]},proxy:true},{key:"footer-actions",fn:function(){return [_c('v-btn',{attrs:{"color":"primary darken-1","data-test":"new-project-optional-btn","text":""},on:{"click":_vm.toggleOptionalFields}},[_vm._v("Optional Fields")]),_c('v-btn',{attrs:{"color":"primary darken-1","data-test":"new-project-create-btn","text":""},on:{"click":_vm.submit}},[_vm._v("Create")])]},proxy:true}])})}
222937
- var NewProjectModalvue_type_template_id_9dcdd18a_staticRenderFns = []
222935
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d220a428-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/NewProjectModal.vue?vue&type=template&id=8db07d96&
222936
+ var NewProjectModalvue_type_template_id_8db07d96_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-modal',{attrs:{"show-modal":_vm.showModal,"max-width":"800px"},on:{"close-modal":_vm.closeModal},scopedSlots:_vm._u([{key:"title",fn:function(){return [_vm._v("Create Project")]},proxy:true},{key:"content",fn:function(){return [_c('v-container',{staticClass:"pa-0"},[_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-text-field',{ref:"title",staticClass:"pt-6",attrs:{"v-show":_vm.showModal,"rules":[_vm.rules.required],"error-messages":_vm.errorMessages.title,"label":"Project Title","data-test":"new-project-title-input"},on:{"keyup":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.submit.apply(null, arguments)}},model:{value:(_vm.project.title),callback:function ($$v) {_vm.$set(_vm.project, "title", $$v)},expression:"project.title"}})],1)],1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showOptionalFields),expression:"showOptionalFields"}],staticClass:"pa-0"},[_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-text-field',{ref:"shortTitle",attrs:{"rules":[_vm.rules.unicode, _vm.rules.min10],"error-messages":_vm.errorMessages.short_title,"label":"Project Short Title","data-test":"new-project-short-input","counter":"","dense":"","maxlength":"30","hint":"Think of the objective of the project."},model:{value:(_vm.project.shortTitle),callback:function ($$v) {_vm.$set(_vm.project, "shortTitle", $$v)},expression:"project.shortTitle"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{"cols":"16"}},[_c('v-select',{ref:"group",attrs:{"items":_vm.groups,"return-object":"","item-text":"slug","label":"Group","dense":"","data-test":"new-project-groups-input"},model:{value:(_vm.project.group),callback:function ($$v) {_vm.$set(_vm.project, "group", $$v)},expression:"project.group"}})],1)],1),_c('div',{staticClass:"text-h6 primary--text pt-8"},[_vm._v("\n Participants\n ")]),_c('v-row',[_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"principalInvestigator",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.principal_investigator,"field":"principalInvestigator","label":"Principal Investigator","data-test":"new-project-pi-input","hint":"Laboratory head or principal investigator","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"owner",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.owner,"field":"owner","label":"Project Owner","data-test":"new-project-owner-input","hint":"Who deals with the nitty-gritty of the project","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"coordinator",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.coordinator,"field":"coordinator","label":"Coordinator","data-test":"new-project-coord-input","hint":"Project manager or coordinator","dense":""},on:{"update-value":_vm.updateValue}})],1),_c('v-col',{staticClass:"pb-0",attrs:{"cols":"6"}},[_c('user-search-input',{ref:"analyst",attrs:{"model":_vm.project,"rules":[_vm.rules.email],"error-messages":_vm.errorMessages.analyst,"field":"analyst","label":"Data Analyst","data-test":"new-project-analyst-input","hint":"Person responsible for the data analysis"},on:{"update-value":_vm.updateValue}})],1)],1),_c('sharing-settings',{ref:"sharing",staticClass:"pt-8",attrs:{"sharing":_vm.sharing,"error-messages":_vm.errorMessages.sharing},on:{"update-sharing":_vm.updateSharing}})],1)],1)]},proxy:true},{key:"footer-actions",fn:function(){return [_c('v-btn',{attrs:{"color":"primary darken-1","data-test":"new-project-optional-btn","text":""},on:{"click":_vm.toggleOptionalFields}},[_vm._v("Optional Fields")]),_c('v-btn',{attrs:{"color":"primary darken-1","data-test":"new-project-create-btn","text":""},on:{"click":_vm.submit}},[_vm._v("Create")])]},proxy:true}])})}
222937
+ var NewProjectModalvue_type_template_id_8db07d96_staticRenderFns = []
222938
222938
 
222939
222939
 
222940
- // CONCATENATED MODULE: ./src/components/projects/NewProjectModal.vue?vue&type=template&id=9dcdd18a&
222940
+ // CONCATENATED MODULE: ./src/components/projects/NewProjectModal.vue?vue&type=template&id=8db07d96&
222941
222941
 
222942
222942
  // EXTERNAL MODULE: ./node_modules/lodash/has.js
222943
222943
  var has = __webpack_require__("3852");
@@ -226109,7 +226109,7 @@ var SharingSettings_component = normalizeComponent(
226109
226109
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/NewProjectModal.vue?vue&type=script&lang=js&
226110
226110
  var cov_2q2n13agp2 = function () {
226111
226111
  var path = "/Users/arangooj/papaemme/isabl_web/src/components/projects/NewProjectModal.vue";
226112
- var hash = "59819bdd4a6ee9b4fa2955075f54f43083d53882";
226112
+ var hash = "9065b65484d9dda2d79190551ed5f04b8da2c2ab";
226113
226113
  var global = new Function("return this")();
226114
226114
  var gcv = "__coverage__";
226115
226115
  var coverageData = {
@@ -226421,38 +226421,38 @@ var cov_2q2n13agp2 = function () {
226421
226421
  column: 6
226422
226422
  },
226423
226423
  end: {
226424
- line: 271,
226425
- column: 23
226424
+ line: 274,
226425
+ column: 7
226426
226426
  }
226427
226427
  },
226428
226428
  "31": {
226429
226429
  start: {
226430
- line: 272,
226430
+ line: 277,
226431
226431
  column: 6
226432
226432
  },
226433
226433
  end: {
226434
- line: 275,
226434
+ line: 280,
226435
226435
  column: 7
226436
226436
  }
226437
226437
  },
226438
226438
  "32": {
226439
226439
  start: {
226440
- line: 278,
226440
+ line: 281,
226441
226441
  column: 6
226442
226442
  },
226443
226443
  end: {
226444
- line: 281,
226444
+ line: 284,
226445
226445
  column: 7
226446
226446
  }
226447
226447
  },
226448
226448
  "33": {
226449
226449
  start: {
226450
- line: 282,
226450
+ line: 287,
226451
226451
  column: 6
226452
226452
  },
226453
226453
  end: {
226454
- line: 285,
226455
- column: 7
226454
+ line: 287,
226455
+ column: 32
226456
226456
  }
226457
226457
  },
226458
226458
  "34": {
@@ -226462,7 +226462,7 @@ var cov_2q2n13agp2 = function () {
226462
226462
  },
226463
226463
  end: {
226464
226464
  line: 288,
226465
- column: 32
226465
+ column: 28
226466
226466
  }
226467
226467
  },
226468
226468
  "35": {
@@ -226472,116 +226472,106 @@ var cov_2q2n13agp2 = function () {
226472
226472
  },
226473
226473
  end: {
226474
226474
  line: 289,
226475
- column: 28
226476
- }
226477
- },
226478
- "36": {
226479
- start: {
226480
- line: 290,
226481
- column: 6
226482
- },
226483
- end: {
226484
- line: 290,
226485
226475
  column: 65
226486
226476
  }
226487
226477
  },
226488
- "37": {
226478
+ "36": {
226489
226479
  start: {
226490
- line: 290,
226480
+ line: 289,
226491
226481
  column: 46
226492
226482
  },
226493
226483
  end: {
226494
- line: 290,
226484
+ line: 289,
226495
226485
  column: 64
226496
226486
  }
226497
226487
  },
226498
- "38": {
226488
+ "37": {
226499
226489
  start: {
226500
- line: 292,
226490
+ line: 291,
226501
226491
  column: 6
226502
226492
  },
226503
226493
  end: {
226504
- line: 313,
226494
+ line: 312,
226505
226495
  column: 7
226506
226496
  }
226507
226497
  },
226508
- "39": {
226498
+ "38": {
226509
226499
  start: {
226510
- line: 293,
226500
+ line: 292,
226511
226501
  column: 8
226512
226502
  },
226513
226503
  end: {
226514
- line: 312,
226504
+ line: 311,
226515
226505
  column: 12
226516
226506
  }
226517
226507
  },
226518
- "40": {
226508
+ "39": {
226519
226509
  start: {
226520
- line: 295,
226510
+ line: 294,
226521
226511
  column: 30
226522
226512
  },
226523
226513
  end: {
226524
- line: 295,
226514
+ line: 294,
226525
226515
  column: 59
226526
226516
  }
226527
226517
  },
226528
- "41": {
226518
+ "40": {
226529
226519
  start: {
226530
- line: 296,
226520
+ line: 295,
226531
226521
  column: 12
226532
226522
  },
226533
226523
  end: {
226534
- line: 298,
226524
+ line: 297,
226535
226525
  column: 14
226536
226526
  }
226537
226527
  },
226538
- "42": {
226528
+ "41": {
226539
226529
  start: {
226540
- line: 300,
226530
+ line: 299,
226541
226531
  column: 12
226542
226532
  },
226543
226533
  end: {
226544
- line: 302,
226534
+ line: 301,
226545
226535
  column: 14
226546
226536
  }
226547
226537
  },
226548
- "43": {
226538
+ "42": {
226549
226539
  start: {
226550
- line: 303,
226540
+ line: 302,
226551
226541
  column: 12
226552
226542
  },
226553
226543
  end: {
226554
- line: 303,
226544
+ line: 302,
226555
226545
  column: 29
226556
226546
  }
226557
226547
  },
226558
- "44": {
226548
+ "43": {
226559
226549
  start: {
226560
- line: 306,
226550
+ line: 305,
226561
226551
  column: 12
226562
226552
  },
226563
226553
  end: {
226564
- line: 311,
226554
+ line: 310,
226565
226555
  column: 13
226566
226556
  }
226567
226557
  },
226568
- "45": {
226558
+ "44": {
226569
226559
  start: {
226570
- line: 307,
226560
+ line: 306,
226571
226561
  column: 14
226572
226562
  },
226573
226563
  end: {
226574
- line: 307,
226564
+ line: 306,
226575
226565
  column: 54
226576
226566
  }
226577
226567
  },
226578
- "46": {
226568
+ "45": {
226579
226569
  start: {
226580
- line: 308,
226570
+ line: 307,
226581
226571
  column: 14
226582
226572
  },
226583
226573
  end: {
226584
- line: 310,
226574
+ line: 309,
226585
226575
  column: 16
226586
226576
  }
226587
226577
  }
@@ -226869,7 +226859,7 @@ var cov_2q2n13agp2 = function () {
226869
226859
  column: 22
226870
226860
  },
226871
226861
  end: {
226872
- line: 276,
226862
+ line: 275,
226873
226863
  column: 5
226874
226864
  }
226875
226865
  },
@@ -226879,121 +226869,121 @@ var cov_2q2n13agp2 = function () {
226879
226869
  name: "(anonymous_12)",
226880
226870
  decl: {
226881
226871
  start: {
226882
- line: 277,
226872
+ line: 276,
226883
226873
  column: 4
226884
226874
  },
226885
226875
  end: {
226886
- line: 277,
226876
+ line: 276,
226887
226877
  column: 5
226888
226878
  }
226889
226879
  },
226890
226880
  loc: {
226891
226881
  start: {
226892
- line: 277,
226882
+ line: 276,
226893
226883
  column: 24
226894
226884
  },
226895
226885
  end: {
226896
- line: 286,
226886
+ line: 285,
226897
226887
  column: 5
226898
226888
  }
226899
226889
  },
226900
- line: 277
226890
+ line: 276
226901
226891
  },
226902
226892
  "13": {
226903
226893
  name: "(anonymous_13)",
226904
226894
  decl: {
226905
226895
  start: {
226906
- line: 287,
226896
+ line: 286,
226907
226897
  column: 4
226908
226898
  },
226909
226899
  end: {
226910
- line: 287,
226900
+ line: 286,
226911
226901
  column: 5
226912
226902
  }
226913
226903
  },
226914
226904
  loc: {
226915
226905
  start: {
226916
- line: 287,
226906
+ line: 286,
226917
226907
  column: 19
226918
226908
  },
226919
226909
  end: {
226920
- line: 314,
226910
+ line: 313,
226921
226911
  column: 5
226922
226912
  }
226923
226913
  },
226924
- line: 287
226914
+ line: 286
226925
226915
  },
226926
226916
  "14": {
226927
226917
  name: "(anonymous_14)",
226928
226918
  decl: {
226929
226919
  start: {
226930
- line: 290,
226920
+ line: 289,
226931
226921
  column: 39
226932
226922
  },
226933
226923
  end: {
226934
- line: 290,
226924
+ line: 289,
226935
226925
  column: 40
226936
226926
  }
226937
226927
  },
226938
226928
  loc: {
226939
226929
  start: {
226940
- line: 290,
226930
+ line: 289,
226941
226931
  column: 46
226942
226932
  },
226943
226933
  end: {
226944
- line: 290,
226934
+ line: 289,
226945
226935
  column: 64
226946
226936
  }
226947
226937
  },
226948
- line: 290
226938
+ line: 289
226949
226939
  },
226950
226940
  "15": {
226951
226941
  name: "(anonymous_15)",
226952
226942
  decl: {
226953
226943
  start: {
226954
- line: 294,
226944
+ line: 293,
226955
226945
  column: 16
226956
226946
  },
226957
226947
  end: {
226958
- line: 294,
226948
+ line: 293,
226959
226949
  column: 17
226960
226950
  }
226961
226951
  },
226962
226952
  loc: {
226963
226953
  start: {
226964
- line: 294,
226954
+ line: 293,
226965
226955
  column: 28
226966
226956
  },
226967
226957
  end: {
226968
- line: 304,
226958
+ line: 303,
226969
226959
  column: 11
226970
226960
  }
226971
226961
  },
226972
- line: 294
226962
+ line: 293
226973
226963
  },
226974
226964
  "16": {
226975
226965
  name: "(anonymous_16)",
226976
226966
  decl: {
226977
226967
  start: {
226978
- line: 305,
226968
+ line: 304,
226979
226969
  column: 17
226980
226970
  },
226981
226971
  end: {
226982
- line: 305,
226972
+ line: 304,
226983
226973
  column: 18
226984
226974
  }
226985
226975
  },
226986
226976
  loc: {
226987
226977
  start: {
226988
- line: 305,
226978
+ line: 304,
226989
226979
  column: 26
226990
226980
  },
226991
226981
  end: {
226992
- line: 312,
226982
+ line: 311,
226993
226983
  column: 11
226994
226984
  }
226995
226985
  },
226996
- line: 305
226986
+ line: 304
226997
226987
  }
226998
226988
  },
226999
226989
  branchMap: {
@@ -227231,68 +227221,68 @@ var cov_2q2n13agp2 = function () {
227231
227221
  "7": {
227232
227222
  loc: {
227233
227223
  start: {
227234
- line: 292,
227224
+ line: 291,
227235
227225
  column: 6
227236
227226
  },
227237
227227
  end: {
227238
- line: 313,
227228
+ line: 312,
227239
227229
  column: 7
227240
227230
  }
227241
227231
  },
227242
227232
  type: "if",
227243
227233
  locations: [{
227244
227234
  start: {
227245
- line: 292,
227235
+ line: 291,
227246
227236
  column: 6
227247
227237
  },
227248
227238
  end: {
227249
- line: 313,
227239
+ line: 312,
227250
227240
  column: 7
227251
227241
  }
227252
227242
  }, {
227253
227243
  start: {
227254
- line: 292,
227244
+ line: 291,
227255
227245
  column: 6
227256
227246
  },
227257
227247
  end: {
227258
- line: 313,
227248
+ line: 312,
227259
227249
  column: 7
227260
227250
  }
227261
227251
  }],
227262
- line: 292
227252
+ line: 291
227263
227253
  },
227264
227254
  "8": {
227265
227255
  loc: {
227266
227256
  start: {
227267
- line: 306,
227257
+ line: 305,
227268
227258
  column: 12
227269
227259
  },
227270
227260
  end: {
227271
- line: 311,
227261
+ line: 310,
227272
227262
  column: 13
227273
227263
  }
227274
227264
  },
227275
227265
  type: "if",
227276
227266
  locations: [{
227277
227267
  start: {
227278
- line: 306,
227268
+ line: 305,
227279
227269
  column: 12
227280
227270
  },
227281
227271
  end: {
227282
- line: 311,
227272
+ line: 310,
227283
227273
  column: 13
227284
227274
  }
227285
227275
  }, {
227286
227276
  start: {
227287
- line: 306,
227277
+ line: 305,
227288
227278
  column: 12
227289
227279
  },
227290
227280
  end: {
227291
- line: 311,
227281
+ line: 310,
227292
227282
  column: 13
227293
227283
  }
227294
227284
  }],
227295
- line: 306
227285
+ line: 305
227296
227286
  }
227297
227287
  },
227298
227288
  s: {
@@ -227341,8 +227331,7 @@ var cov_2q2n13agp2 = function () {
227341
227331
  "42": 0,
227342
227332
  "43": 0,
227343
227333
  "44": 0,
227344
- "45": 0,
227345
- "46": 0
227334
+ "45": 0
227346
227335
  },
227347
227336
  f: {
227348
227337
  "0": 0,
@@ -227378,13 +227367,13 @@ var cov_2q2n13agp2 = function () {
227378
227367
  version: 3,
227379
227368
  sources: ["NewProjectModal.vue"],
227380
227369
  names: [],
227381
- mappings: ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
227370
+ mappings: ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
227382
227371
  file: "NewProjectModal.vue",
227383
227372
  sourceRoot: "src/components/projects",
227384
- sourcesContent: ["<template>\n <base-modal\n :show-modal=\"showModal\"\n max-width=\"800px\"\n @close-modal=\"closeModal\"\n >\n <template v-slot:title>Create Project</template>\n\n <template v-slot:content>\n <v-container\n class=\"pa-0\"\n >\n <v-row>\n <v-col cols=\"16\">\n <v-text-field\n ref=\"title\"\n v-model=\"project.title\"\n :v-show=\"showModal\"\n :rules=\"[rules.required]\"\n :error-messages=\"errorMessages.title\"\n label=\"Project Title\"\n data-test=\"new-project-title-input\"\n class=\"pt-6\"\n @keyup.enter=\"submit\"\n />\n </v-col>\n </v-row>\n\n <div\n v-show=\"showOptionalFields\"\n class=\"pa-0\"\n >\n <v-row>\n <v-col cols=\"16\">\n <v-text-field\n ref=\"shortTitle\"\n v-model=\"project.shortTitle\"\n :rules=\"[rules.unicode, rules.min10]\"\n :error-messages=\"errorMessages.short_title\"\n label=\"Project Short Title\"\n data-test=\"new-project-short-input\"\n counter\n dense\n maxlength=\"30\"\n hint=\"Think of the objective of the project.\"\n />\n </v-col>\n </v-row>\n\n <v-row>\n <v-col cols=\"16\">\n <v-select\n ref=\"group\"\n v-model=\"project.group\"\n :items=\"groups\"\n return-object\n item-text=\"slug\"\n label=\"Group\"\n dense\n data-test=\"new-project-groups-input\"\n />\n </v-col>\n </v-row>\n\n <div class=\"text-h6 primary--text pt-8\">\n Participants\n </div>\n\n <v-row>\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"principalInvestigator\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.principal_investigator\"\n field=\"principalInvestigator\"\n label=\"Principal Investigator\"\n data-test=\"new-project-pi-input\"\n hint=\"Laboratory head or principal investigator\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"owner\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.owner\"\n field=\"owner\"\n label=\"Project Owner\"\n data-test=\"new-project-owner-input\"\n hint=\"Who deals with the nitty-gritty of the project\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"coordinator\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.coordinator\"\n field=\"coordinator\"\n label=\"Coordinator\"\n data-test=\"new-project-coord-input\"\n hint=\"Project manager or coordinator\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"analyst\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.analyst\"\n field=\"analyst\"\n label=\"Data Analyst\"\n data-test=\"new-project-analyst-input\"\n hint=\"Person responsible for the data analysis\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n\n <sharing-settings\n ref=\"sharing\"\n :sharing=\"sharing\"\n :error-messages=\"errorMessages.sharing\"\n class=\"pt-8\"\n @update-sharing=\"updateSharing\"\n />\n\n </div>\n\n </v-container>\n </template>\n\n <template v-slot:footer-actions>\n <v-btn\n color=\"primary darken-1\"\n data-test=\"new-project-optional-btn\"\n text\n @click=\"toggleOptionalFields\"\n >Optional Fields</v-btn>\n\n <v-btn\n color=\"primary darken-1\"\n data-test=\"new-project-create-btn\"\n text\n @click=\"submit\"\n >Create</v-btn>\n </template>\n </base-modal>\n</template>\n\n<script>\nimport has from 'lodash/has'\n\nimport BaseModal from '@/components/base/BaseModal.vue'\nimport GroupSearchInput from '@/components/projects/GroupSearchInput'\nimport UserSearchInput from '@/components/projects/UserSearchInput'\nimport SharingSettings from '@/components/projects/SharingSettings'\nimport rules from '@/utils/rules'\nimport { createRecord, fetchListRecords } from '@/utils/api'\nimport { SHOW_ALERT } from '@/store/actions/alert'\nimport { SHOW_PANEL } from '@/store/actions/panels'\nimport { snakifyKeys, camelifyKeys } from '@/utils/helpers'\n\nexport default {\n name: 'NewProjectModal',\n components: {\n BaseModal,\n GroupSearchInput,\n UserSearchInput,\n SharingSettings\n },\n props: {\n showModal: {\n type: Boolean,\n default: false,\n required: true\n },\n projects: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n isLoading: false,\n errorMessages: {},\n formHasErrors: false,\n fieldsToValidate: [\n 'title',\n 'shortTitle',\n 'group',\n 'principalInvestigator',\n 'owner',\n 'coordinator',\n 'analyst',\n 'sharing'\n ],\n groups: [],\n project: {},\n sharing: { isPublic: true },\n refs: {},\n rules,\n showOptionalFields: true,\n users: [],\n usersQuery: '',\n camelifyKeys,\n }\n },\n watch: {\n showModal(value) {\n if (value) {\n this.fetchGroups()\n // ensure autofocus: https://github.com/vuetifyjs/vuetify/issues/1587\n if (this.$refs.title) {\n this.$nextTick(this.$refs.title.focus)\n this.resetForm()\n }\n }\n }\n },\n updated() {\n this.attachFieldRefs()\n },\n methods: {\n attachFieldRefs() {\n // Map all local and nested inputs to local 'refs' object\n this.fieldsToValidate.forEach(field => {\n if (has(this.$refs[field], 'reset')) {\n this.refs[field] = this.$refs[field]\n } else if (has(this.$refs[field], '$refs.userSearchInput.reset')) {\n this.refs[field] = this.$refs[field].$refs.userSearchInput\n } else if (has(this.$refs[field], '$refs.groupSearchInput.reset')) {\n this.refs[field] = this.$refs[field].$refs.groupSearchInput\n } else if (has(this.$refs, `${field}.$refs.canRead.$refs.userSearchInput.reset`)) {\n this.refs['sharing.isPublic'] = this.$refs[field].$refs.isPublic\n this.refs['sharing.canRead'] = this.$refs[field].$refs.canRead.$refs.userSearchInput\n this.refs['sharing.isShare'] = this.$refs[field].$refs.canShare.$refs.userSearchInput\n }\n })\n },\n async fetchGroups() {\n if (!this.groups.length) {\n const response = await fetchListRecords('groups')\n this.groups = response.results\n }\n },\n toggleOptionalFields() {\n this.showOptionalFields = !this.showOptionalFields\n this.$nextTick(this.$refs.title.focus)\n this.$nextTick(this.$refs.title.resetValidation)\n },\n resetForm() {\n this.formHasErrors = false\n Object.values(this.refs).forEach(ref => ref.reset())\n },\n closeModal() {\n this.resetForm()\n this.$emit('close-modal')\n },\n updateValue(data) {\n console.log(data)\n this.project = {\n ...this.project,\n ...data\n }\n },\n updateSharing(data) {\n this.sharing = {\n ...this.sharing,\n ...data\n }\n this.project = {\n ...this.project,\n sharing: snakifyKeys(this.sharing),\n }\n },\n async submit() {\n this.formHasErrors = false\n this.attachFieldRefs()\n Object.values(this.refs).forEach(ref => ref.validate(true))\n\n if (!this.formHasErrors) {\n createRecord('projects', this.project)\n .then(response => {\n const projectId = this.$get(response, 'pk', '')\n this.$store.dispatch(SHOW_ALERT, {\n message: `Project ${projectId} was succesfully created.`\n })\n\n this.$store.dispatch(SHOW_PANEL, {\n project: projectId\n })\n this.closeModal()\n })\n .catch(error => {\n if (error.response) {\n this.errorMessages = error.response.data\n this.$store.dispatch(SHOW_ALERT, {\n error: 'The project could not be created. Please try again.'\n })\n }\n })\n }\n },\n }\n}\n</script>\n\n<style lang=\"scss\">\n.v-expansion-panel__header {\n padding: 5px !important;\n}\n</style>\n"]
227373
+ sourcesContent: ["<template>\n <base-modal\n :show-modal=\"showModal\"\n max-width=\"800px\"\n @close-modal=\"closeModal\"\n >\n <template v-slot:title>Create Project</template>\n\n <template v-slot:content>\n <v-container\n class=\"pa-0\"\n >\n <v-row>\n <v-col cols=\"16\">\n <v-text-field\n ref=\"title\"\n v-model=\"project.title\"\n :v-show=\"showModal\"\n :rules=\"[rules.required]\"\n :error-messages=\"errorMessages.title\"\n label=\"Project Title\"\n data-test=\"new-project-title-input\"\n class=\"pt-6\"\n @keyup.enter=\"submit\"\n />\n </v-col>\n </v-row>\n\n <div\n v-show=\"showOptionalFields\"\n class=\"pa-0\"\n >\n <v-row>\n <v-col cols=\"16\">\n <v-text-field\n ref=\"shortTitle\"\n v-model=\"project.shortTitle\"\n :rules=\"[rules.unicode, rules.min10]\"\n :error-messages=\"errorMessages.short_title\"\n label=\"Project Short Title\"\n data-test=\"new-project-short-input\"\n counter\n dense\n maxlength=\"30\"\n hint=\"Think of the objective of the project.\"\n />\n </v-col>\n </v-row>\n\n <v-row>\n <v-col cols=\"16\">\n <v-select\n ref=\"group\"\n v-model=\"project.group\"\n :items=\"groups\"\n return-object\n item-text=\"slug\"\n label=\"Group\"\n dense\n data-test=\"new-project-groups-input\"\n />\n </v-col>\n </v-row>\n\n <div class=\"text-h6 primary--text pt-8\">\n Participants\n </div>\n\n <v-row>\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"principalInvestigator\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.principal_investigator\"\n field=\"principalInvestigator\"\n label=\"Principal Investigator\"\n data-test=\"new-project-pi-input\"\n hint=\"Laboratory head or principal investigator\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"owner\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.owner\"\n field=\"owner\"\n label=\"Project Owner\"\n data-test=\"new-project-owner-input\"\n hint=\"Who deals with the nitty-gritty of the project\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"coordinator\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.coordinator\"\n field=\"coordinator\"\n label=\"Coordinator\"\n data-test=\"new-project-coord-input\"\n hint=\"Project manager or coordinator\"\n dense\n @update-value=\"updateValue\"\n />\n </v-col>\n\n <v-col cols=\"6\" class=\"pb-0\">\n <user-search-input\n ref=\"analyst\"\n :model=\"project\"\n :rules=\"[rules.email]\"\n :error-messages=\"errorMessages.analyst\"\n field=\"analyst\"\n label=\"Data Analyst\"\n data-test=\"new-project-analyst-input\"\n hint=\"Person responsible for the data analysis\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n\n <sharing-settings\n ref=\"sharing\"\n :sharing=\"sharing\"\n :error-messages=\"errorMessages.sharing\"\n class=\"pt-8\"\n @update-sharing=\"updateSharing\"\n />\n\n </div>\n\n </v-container>\n </template>\n\n <template v-slot:footer-actions>\n <v-btn\n color=\"primary darken-1\"\n data-test=\"new-project-optional-btn\"\n text\n @click=\"toggleOptionalFields\"\n >Optional Fields</v-btn>\n\n <v-btn\n color=\"primary darken-1\"\n data-test=\"new-project-create-btn\"\n text\n @click=\"submit\"\n >Create</v-btn>\n </template>\n </base-modal>\n</template>\n\n<script>\nimport has from 'lodash/has'\n\nimport BaseModal from '@/components/base/BaseModal.vue'\nimport GroupSearchInput from '@/components/projects/GroupSearchInput'\nimport UserSearchInput from '@/components/projects/UserSearchInput'\nimport SharingSettings from '@/components/projects/SharingSettings'\nimport rules from '@/utils/rules'\nimport { createRecord, fetchListRecords } from '@/utils/api'\nimport { SHOW_ALERT } from '@/store/actions/alert'\nimport { SHOW_PANEL } from '@/store/actions/panels'\nimport { snakifyKeys, camelifyKeys } from '@/utils/helpers'\n\nexport default {\n name: 'NewProjectModal',\n components: {\n BaseModal,\n GroupSearchInput,\n UserSearchInput,\n SharingSettings\n },\n props: {\n showModal: {\n type: Boolean,\n default: false,\n required: true\n },\n projects: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n isLoading: false,\n errorMessages: {},\n formHasErrors: false,\n fieldsToValidate: [\n 'title',\n 'shortTitle',\n 'group',\n 'principalInvestigator',\n 'owner',\n 'coordinator',\n 'analyst',\n 'sharing'\n ],\n groups: [],\n project: {},\n sharing: { isPublic: true },\n refs: {},\n rules,\n showOptionalFields: true,\n users: [],\n usersQuery: '',\n camelifyKeys,\n }\n },\n watch: {\n showModal(value) {\n if (value) {\n this.fetchGroups()\n // ensure autofocus: https://github.com/vuetifyjs/vuetify/issues/1587\n if (this.$refs.title) {\n this.$nextTick(this.$refs.title.focus)\n this.resetForm()\n }\n }\n }\n },\n updated() {\n this.attachFieldRefs()\n },\n methods: {\n attachFieldRefs() {\n // Map all local and nested inputs to local 'refs' object\n this.fieldsToValidate.forEach(field => {\n if (has(this.$refs[field], 'reset')) {\n this.refs[field] = this.$refs[field]\n } else if (has(this.$refs[field], '$refs.userSearchInput.reset')) {\n this.refs[field] = this.$refs[field].$refs.userSearchInput\n } else if (has(this.$refs[field], '$refs.groupSearchInput.reset')) {\n this.refs[field] = this.$refs[field].$refs.groupSearchInput\n } else if (has(this.$refs, `${field}.$refs.canRead.$refs.userSearchInput.reset`)) {\n this.refs['sharing.isPublic'] = this.$refs[field].$refs.isPublic\n this.refs['sharing.canRead'] = this.$refs[field].$refs.canRead.$refs.userSearchInput\n this.refs['sharing.isShare'] = this.$refs[field].$refs.canShare.$refs.userSearchInput\n }\n })\n },\n async fetchGroups() {\n if (!this.groups.length) {\n const response = await fetchListRecords('groups')\n this.groups = response.results\n }\n },\n toggleOptionalFields() {\n this.showOptionalFields = !this.showOptionalFields\n this.$nextTick(this.$refs.title.focus)\n this.$nextTick(this.$refs.title.resetValidation)\n },\n resetForm() {\n this.formHasErrors = false\n Object.values(this.refs).forEach(ref => ref.reset())\n },\n closeModal() {\n this.resetForm()\n this.$emit('close-modal')\n },\n updateValue(data) {\n this.project = {\n ...this.project,\n ...data\n }\n },\n updateSharing(data) {\n this.sharing = {\n ...this.sharing,\n ...data\n }\n this.project = {\n ...this.project,\n sharing: snakifyKeys(this.sharing),\n }\n },\n async submit() {\n this.formHasErrors = false\n this.attachFieldRefs()\n Object.values(this.refs).forEach(ref => ref.validate(true))\n\n if (!this.formHasErrors) {\n createRecord('projects', this.project)\n .then(response => {\n const projectId = this.$get(response, 'pk', '')\n this.$store.dispatch(SHOW_ALERT, {\n message: `Project ${projectId} was succesfully created.`\n })\n\n this.$store.dispatch(SHOW_PANEL, {\n project: projectId\n })\n this.closeModal()\n })\n .catch(error => {\n if (error.response) {\n this.errorMessages = error.response.data\n this.$store.dispatch(SHOW_ALERT, {\n error: 'The project could not be created. Please try again.'\n })\n }\n })\n }\n },\n }\n}\n</script>\n\n<style lang=\"scss\">\n.v-expansion-panel__header {\n padding: 5px !important;\n}\n</style>\n"]
227385
227374
  },
227386
227375
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
227387
- hash: "59819bdd4a6ee9b4fa2955075f54f43083d53882"
227376
+ hash: "9065b65484d9dda2d79190551ed5f04b8da2c2ab"
227388
227377
  };
227389
227378
  var coverage = global[gcv] || (global[gcv] = {});
227390
227379
 
@@ -227777,15 +227766,13 @@ function NewProjectModalvue_type_script_lang_js_asyncToGenerator(fn) { return fu
227777
227766
  updateValue: function updateValue(data) {
227778
227767
  cov_2q2n13agp2.f[11]++;
227779
227768
  cov_2q2n13agp2.s[30]++;
227780
- console.log(data);
227781
- cov_2q2n13agp2.s[31]++;
227782
227769
  this.project = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.project), data);
227783
227770
  },
227784
227771
  updateSharing: function updateSharing(data) {
227785
227772
  cov_2q2n13agp2.f[12]++;
227786
- cov_2q2n13agp2.s[32]++;
227773
+ cov_2q2n13agp2.s[31]++;
227787
227774
  this.sharing = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.sharing), data);
227788
- cov_2q2n13agp2.s[33]++;
227775
+ cov_2q2n13agp2.s[32]++;
227789
227776
  this.project = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.project), {}, {
227790
227777
  sharing: Object(helpers["n" /* snakifyKeys */])(this.sharing)
227791
227778
  });
@@ -227799,48 +227786,48 @@ function NewProjectModalvue_type_script_lang_js_asyncToGenerator(fn) { return fu
227799
227786
  switch (_context2.prev = _context2.next) {
227800
227787
  case 0:
227801
227788
  cov_2q2n13agp2.f[13]++;
227802
- cov_2q2n13agp2.s[34]++;
227789
+ cov_2q2n13agp2.s[33]++;
227803
227790
  this.formHasErrors = false;
227804
- cov_2q2n13agp2.s[35]++;
227791
+ cov_2q2n13agp2.s[34]++;
227805
227792
  this.attachFieldRefs();
227806
- cov_2q2n13agp2.s[36]++;
227793
+ cov_2q2n13agp2.s[35]++;
227807
227794
  Object.values(this.refs).forEach(function (ref) {
227808
227795
  cov_2q2n13agp2.f[14]++;
227809
- cov_2q2n13agp2.s[37]++;
227796
+ cov_2q2n13agp2.s[36]++;
227810
227797
  return ref.validate(true);
227811
227798
  });
227812
- cov_2q2n13agp2.s[38]++;
227799
+ cov_2q2n13agp2.s[37]++;
227813
227800
 
227814
227801
  if (!this.formHasErrors) {
227815
227802
  cov_2q2n13agp2.b[7][0]++;
227816
- cov_2q2n13agp2.s[39]++;
227803
+ cov_2q2n13agp2.s[38]++;
227817
227804
  createRecord('projects', this.project).then(function (response) {
227818
227805
  cov_2q2n13agp2.f[15]++;
227819
- var projectId = (cov_2q2n13agp2.s[40]++, _this2.$get(response, 'pk', ''));
227820
- cov_2q2n13agp2.s[41]++;
227806
+ var projectId = (cov_2q2n13agp2.s[39]++, _this2.$get(response, 'pk', ''));
227807
+ cov_2q2n13agp2.s[40]++;
227821
227808
 
227822
227809
  _this2.$store.dispatch(SHOW_ALERT, {
227823
227810
  message: "Project ".concat(projectId, " was succesfully created.")
227824
227811
  });
227825
227812
 
227826
- cov_2q2n13agp2.s[42]++;
227813
+ cov_2q2n13agp2.s[41]++;
227827
227814
 
227828
227815
  _this2.$store.dispatch(SHOW_PANEL, {
227829
227816
  project: projectId
227830
227817
  });
227831
227818
 
227832
- cov_2q2n13agp2.s[43]++;
227819
+ cov_2q2n13agp2.s[42]++;
227833
227820
 
227834
227821
  _this2.closeModal();
227835
227822
  }).catch(function (error) {
227836
227823
  cov_2q2n13agp2.f[16]++;
227837
- cov_2q2n13agp2.s[44]++;
227824
+ cov_2q2n13agp2.s[43]++;
227838
227825
 
227839
227826
  if (error.response) {
227840
227827
  cov_2q2n13agp2.b[8][0]++;
227841
- cov_2q2n13agp2.s[45]++;
227828
+ cov_2q2n13agp2.s[44]++;
227842
227829
  _this2.errorMessages = error.response.data;
227843
- cov_2q2n13agp2.s[46]++;
227830
+ cov_2q2n13agp2.s[45]++;
227844
227831
 
227845
227832
  _this2.$store.dispatch(SHOW_ALERT, {
227846
227833
  error: 'The project could not be created. Please try again.'
@@ -227885,8 +227872,8 @@ var NewProjectModalvue_type_style_index_0_lang_scss_ = __webpack_require__("9434
227885
227872
 
227886
227873
  var NewProjectModal_component = normalizeComponent(
227887
227874
  projects_NewProjectModalvue_type_script_lang_js_,
227888
- NewProjectModalvue_type_template_id_9dcdd18a_render,
227889
- NewProjectModalvue_type_template_id_9dcdd18a_staticRenderFns,
227875
+ NewProjectModalvue_type_template_id_8db07d96_render,
227876
+ NewProjectModalvue_type_template_id_8db07d96_staticRenderFns,
227890
227877
  false,
227891
227878
  null,
227892
227879
  null,
@@ -266880,28 +266867,32 @@ var HomeSearch_component = normalizeComponent(
266880
266867
  )
266881
266868
 
266882
266869
  /* harmony default export */ var HomeSearch = (HomeSearch_component.exports);
266883
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d220a428-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/ProjectPanel.vue?vue&type=template&id=037ff296&
266884
- var ProjectPanelvue_type_template_id_037ff296_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-panel',{attrs:{"favorite-info":_vm.favoriteInfo,"loading":_vm.loading,"panel-type":"project","data-test":"project-panel"},scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('v-icon',{staticClass:"title-icon white--text"},[_vm._v("\n "+_vm._s(_vm.$settings.modelIcons.project)+"\n ")]),_c('b',{attrs:{"data-test":"project-title"}},[_vm._v("Project ")]),_c('span',{attrs:{"data-test":"project-id"}},[_vm._v(_vm._s(_vm.projectId))])]},proxy:true},{key:"actions",fn:function(ref){
266870
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d220a428-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/ProjectPanel.vue?vue&type=template&id=c79ead1c&
266871
+ var ProjectPanelvue_type_template_id_c79ead1c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-panel',{attrs:{"favorite-info":_vm.favoriteInfo,"loading":_vm.loading,"panel-type":"project","data-test":"project-panel"},scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('v-icon',{staticClass:"title-icon white--text"},[_vm._v("\n "+_vm._s(_vm.$settings.modelIcons.project)+"\n ")]),_c('b',{attrs:{"data-test":"project-title"}},[_vm._v("Project ")]),_c('span',{attrs:{"data-test":"project-id"}},[_vm._v(_vm._s(_vm.projectId))])]},proxy:true},{key:"actions",fn:function(ref){
266885
266872
  var hover = ref.hover;
266886
266873
  return [_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266887
266874
  var on = ref.on;
266888
266875
  return [(_vm.$isAuthorized('add_submission'))?_c('v-icon',_vm._g({attrs:{"color":hover ? 'white' : 'transparent',"data-test":"add-samples-btn","small":""},on:{"click":_vm.addNewSubmission}},on),[_vm._v("\n library_add\n ")]):_vm._e()]}}],null,true)},[_c('span',[_vm._v("Add batch of samples")])])]}},{key:"content",fn:function(){return [_c('v-card',{staticClass:"isabl-base-card px-8 py-6",attrs:{"flat":""}},[(_vm.editingTitle)?_c('v-row',{staticClass:"text-left"},[_c('v-text-field',{ref:"title",attrs:{"rules":[_vm.rules.required],"outlined":"","label":"Project Title","autofocus":""},on:{"blur":function($event){_vm.editingTitle = false},"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.updateValue({ title: _vm.projectTitle })}},model:{value:(_vm.projectTitle),callback:function ($$v) {_vm.projectTitle=$$v},expression:"projectTitle"}})],1):_vm._e(),(!_vm.editingTitle)?_c('v-row',{staticClass:"justify-space-between"},[_c('h2',{staticStyle:{"cursor":"pointer"},attrs:{"data-test":"project-title"},on:{"click":function($event){_vm.editingTitle = true
266889
- _vm.projectTitle = _vm.project.title}}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'title'))+"\n ")]),_c('v-btn',{directives:[{name:"show",rawName:"v-show",value:(!_vm.$get(_vm.project, 'sharing.is_public', false) || _vm.$canShareProject(_vm.project)),expression:"!$get(project, 'sharing.is_public', false) || $canShareProject(project)"}],attrs:{"disabled":!_vm.$canShareProject(_vm.project),"icon":"","small":"","color":"primary"},on:{"click":function($event){_vm.showSharingModal = _vm.$canShareProject(_vm.project)}}},[_c('v-icon',{attrs:{"small":""}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock')+"\n ")])],1)],1):_vm._e(),(!_vm.editingTitle)?_c('v-divider',{staticClass:"my-4 mx-n4"}):_vm._e(),_c('v-row',_vm._l((Object.values(_vm.projectBasicFields)),function(field,index){return _c('v-col',{key:index,staticClass:"py-1",attrs:{"cols":"12"}},[_c('model-field',_vm._b({attrs:{"model":_vm.project,"loading":_vm.fieldLoading},on:{"update-value":_vm.updateValue}},'model-field',field,false))],1)}),1),_c('v-row',[(_vm.project)?_c('v-col',{staticClass:"px-0 py-1",attrs:{"cols":"12","sm":"12"}},[_c('participants-field',{attrs:{"project":_vm.project,"loading":_vm.fieldLoading},on:{"update-value":_vm.updateValue}})],1):_vm._e()],1),_c('v-row',{staticClass:"tags-layout"},[_c('div',{staticClass:"mr-0 mt-4"},[_c('tags-field',{attrs:{"model":_vm.project,"field":'tags',"loading":_vm.fieldLoading,"has-permission":_vm.$isAuthorized('change_project'),"add-tags-message":"Add project tags!"},on:{"update-value":_vm.updateValue}})],1),(_vm.project.group)?_c('div',{staticClass:"mr-0 mt-4"},[(_vm.project.group)?_c('tags-field',{attrs:{"model":_vm.project,"loading":_vm.fieldLoading,"field":'group.tags',"has-permission":_vm.$isAuthorized('change_group'),"add-tags-message":"Add group tags!","tag-class":"group-tag"},on:{"update-value":_vm.updateValue}}):_vm._e()],1):_vm._e()]),_c('v-row',[_c('v-alert',{staticClass:"mt-2",staticStyle:{"width":"100%","cursor":"pointer"},attrs:{"value":_vm.experimentsCount === 0 && _vm.$isAuthorized('add_submission'),"color":"info","outlined":""},on:{"click":_vm.addNewSubmission}},[_vm._v("\n Your project has no samples yet, click here to register new metadata!\n ")])],1)],1),_c('base-modal',{attrs:{"show-modal":_vm.showSharingModal,"loading":_vm.loading,"max-width":"800px"},on:{"close-modal":function($event){_vm.showSharingModal = false}},scopedSlots:_vm._u([{key:"title",fn:function(){return [_vm._v("\n Sharing Settings\n "),_c('v-icon',{attrs:{"color":"primary","dense":""}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock')+"\n ")])]},proxy:true},{key:"content",fn:function(){return [_c('sharing-settings',{attrs:{"sharing":_vm.camelifyKeys(_vm.$get(_vm.project, 'sharing', {})),"no-title":""},on:{"update-sharing":_vm.updateSharing}})]},proxy:true},{key:"cancel-btn",fn:function(){return [_c('span')]},proxy:true}])}),_c('v-card',{staticClass:"pa-0 no-shadow",attrs:{"flat":""}},[_c('base-tabs',{scopedSlots:_vm._u([{key:"content",fn:function(){return [(_vm.showTab)?_c('v-tab',{attrs:{"data-test":"project-experiments-tab"}},[_vm._v("\n Experiments\n "),_c('v-btn',{staticClass:"ml-2",attrs:{"fab":"","x-small":"","elevation":"0","color":"transparent"},on:{"click":_vm.toggleExperimentsView}},[_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266890
- var on = ref.on;
266876
+ _vm.projectTitle = _vm.project.title}}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'title'))+"\n ")]),_c('v-btn',{directives:[{name:"show",rawName:"v-show",value:(
266877
+ _vm.$get(_vm.project, 'sharing', false) && (
266878
+ !_vm.$get(_vm.project, 'sharing.is_public', false) || _vm.$canShareProject(_vm.project)
266879
+ )
266880
+ ),expression:"\n $get(project, 'sharing', false) && (\n !$get(project, 'sharing.is_public', false) || $canShareProject(project)\n )\n "}],attrs:{"disabled":!_vm.$canShareProject(_vm.project),"icon":"","small":"","color":"primary"},on:{"click":function($event){_vm.showSharingModal = _vm.$canShareProject(_vm.project)}}},[_c('v-icon',{attrs:{"small":""}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock')+"\n ")])],1)],1):_vm._e(),(!_vm.editingTitle)?_c('v-divider',{staticClass:"my-4 mx-n4"}):_vm._e(),_c('v-row',_vm._l((Object.values(_vm.projectBasicFields)),function(field,index){return _c('v-col',{key:index,staticClass:"py-1",attrs:{"cols":"12"}},[_c('model-field',_vm._b({attrs:{"model":_vm.project,"loading":_vm.fieldLoading},on:{"update-value":_vm.updateValue}},'model-field',field,false))],1)}),1),_c('v-row',[(_vm.project)?_c('v-col',{staticClass:"px-0 py-1",attrs:{"cols":"12","sm":"12"}},[_c('participants-field',{attrs:{"project":_vm.project,"loading":_vm.fieldLoading},on:{"update-value":_vm.updateValue}})],1):_vm._e()],1),_c('v-row',{staticClass:"tags-layout"},[_c('div',{staticClass:"mr-0 mt-4"},[_c('tags-field',{attrs:{"model":_vm.project,"field":'tags',"loading":_vm.fieldLoading,"has-permission":_vm.$isAuthorized('change_project'),"add-tags-message":"Add project tags!"},on:{"update-value":_vm.updateValue}})],1),(_vm.project.group)?_c('div',{staticClass:"mr-0 mt-4"},[(_vm.project.group)?_c('tags-field',{attrs:{"model":_vm.project,"loading":_vm.fieldLoading,"field":'group.tags',"has-permission":_vm.$isAuthorized('change_group'),"add-tags-message":"Add group tags!","tag-class":"group-tag"},on:{"update-value":_vm.updateValue}}):_vm._e()],1):_vm._e()]),_c('v-row',[_c('v-alert',{staticClass:"mt-2",staticStyle:{"width":"100%","cursor":"pointer"},attrs:{"value":_vm.experimentsCount === 0 && _vm.$isAuthorized('add_submission'),"color":"info","outlined":""},on:{"click":_vm.addNewSubmission}},[_vm._v("\n Your project has no samples yet, click here to register new metadata!\n ")])],1)],1),_c('base-modal',{attrs:{"show-modal":_vm.showSharingModal,"loading":_vm.loading,"max-width":"800px"},on:{"close-modal":function($event){_vm.showSharingModal = false}},scopedSlots:_vm._u([{key:"title",fn:function(){return [_vm._v("\n Sharing Settings\n "),_c('v-icon',{attrs:{"color":"primary","dense":""}},[_vm._v("\n "+_vm._s(_vm.$get(_vm.project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock')+"\n ")])]},proxy:true},{key:"content",fn:function(){return [_c('sharing-settings',{attrs:{"sharing":_vm.camelifyKeys(_vm.$get(_vm.project, 'sharing', {})),"no-title":""},on:{"update-sharing":_vm.updateSharing}})]},proxy:true},{key:"cancel-btn",fn:function(){return [_c('span')]},proxy:true}])}),_c('v-card',{staticClass:"pa-0 no-shadow",attrs:{"flat":""}},[_c('base-tabs',{scopedSlots:_vm._u([{key:"content",fn:function(){return [(_vm.showTab)?_c('v-tab',{attrs:{"data-test":"project-experiments-tab"}},[_vm._v("\n Experiments\n "),_c('v-btn',{staticClass:"ml-2",attrs:{"fab":"","x-small":"","elevation":"0","color":"transparent"},on:{"click":_vm.toggleExperimentsView}},[_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266881
+ var on = ref.on;
266891
266882
  return [_c('v-icon',_vm._g({staticClass:"white--text",attrs:{"color":"primary","small":""}},on),[_vm._v("\n "+_vm._s(_vm.showExperimentTables ? 'equalizer' : 'view_list')+"\n ")])]}}],null,false,2166994357)},[_c('span',[_vm._v(_vm._s(_vm.showExperimentTables ? 'View graphic data' : 'View tabulated data'))])])],1)],1):_vm._e(),(_vm.showTab)?_c('v-tab-item',[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showExperimentTables),expression:"showExperimentTables"}]},[_c('DataTable',{attrs:{"params":_vm.params,"model":"experiments","data-test":"project-experiments-datatable"}}),_c('DataTable',{attrs:{"params":_vm.params,"model":"samples","data-test":"project-samples-datatable"}}),_c('DataTable',{attrs:{"params":_vm.params,"model":"individuals","data-test":"project-individuals-datatable"}})],1),(!_vm.showExperimentTables)?_c('base-dashboard',{attrs:{"figures":_vm.experimentFigures,"params":{ projects__pk__icontains: _vm.projectId },"required-fields":['system_id'],"model":"experiments"}}):_vm._e()],1):_vm._e(),(_vm.showTab)?_c('v-tab',{attrs:{"data-test":"project-analyses-tab"}},[(_vm.failedAnalyses > 0)?_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266892
- var on = ref.on;
266883
+ var on = ref.on;
266893
266884
  return [_c('v-badge',{attrs:{"dot":"","color":"error"}},[_c('span',_vm._g({},on),[_vm._v("Analyses")])])]}}],null,false,799811077)},[_c('span',[_vm._v("This project has "+_vm._s(_vm.failedAnalyses)+" failed analyses.")])]):_c('span',[_vm._v("Analyses")]),_c('v-btn',{staticClass:"ml-2",attrs:{"fab":"","x-small":"","elevation":"0","color":"transparent"},on:{"click":_vm.toggleAnalysesView}},[_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266894
- var on = ref.on;
266885
+ var on = ref.on;
266895
266886
  return [_c('v-icon',_vm._g({staticClass:"white--text",attrs:{"color":"primary","small":""}},on),[_vm._v("\n "+_vm._s(_vm.showAnalysesTables ? 'equalizer' : 'view_list')+"\n ")])]}}],null,false,2424437482)},[_c('span',[_vm._v(_vm._s(_vm.showAnalysesTables ? 'View graphic data' : 'View tabulated data'))])])],1)],1):_vm._e(),(_vm.showTab)?_c('v-tab-item',[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showAnalysesTables),expression:"showAnalysesTables"}]},[_c('DataTable',{staticClass:"py-0",attrs:{"params":_vm.params,"model":"analyses"}}),_c('DataTable',{attrs:{"params":_vm.paramsProjectLevelAnalyses,"skip-columns":[
266896
266887
  'Target Experiments',
266897
266888
  'Reference Experiments',
266898
266889
  'Projects',
266899
266890
  'Linked Analyses'
266900
266891
  ],"model":"analyses","title":"Project Analyses"}})],1),(!_vm.showAnalysesTables)?_c('base-dashboard',{attrs:{"figures":_vm.analysisFigures,"params":{ targets__projects__pk__icontains: _vm.projectId },"model":"analyses"}}):_vm._e()],1):_vm._e(),(_vm.showTab)?_c('v-tab',{attrs:{"data-test":"project-submissions-tab"}},[_vm._v("\n Submissions\n ")]):_vm._e(),(_vm.showTab)?_c('v-tab-item',[_c('DataTable',{staticClass:"py-0",attrs:{"params":_vm.paramsSubmissions,"model":"submissions","data-test":"project-submissions-datatable"}})],1):_vm._e(),_c('v-tab',{attrs:{"data-test":"project-details-tab"}},[_vm._v("\n Metadata\n ")]),_c('v-tab-item',[_c('model-fields',{attrs:{"fields":_vm.projectFields,"model":_vm.project,"loading":_vm.fieldLoading},on:{"update-value":_vm.updateValue}})],1),(_vm.isJiraActive)?_c('v-tab',{attrs:{"data-test":"project-jira-tab"},on:{"click":_vm.onJiraSelected}},[_vm._v("Jira")]):_vm._e(),(_vm.isJiraActive)?_c('v-tab-item',[_c('jira-integration',{attrs:{"project":_vm.projectId}})],1):_vm._e()]},proxy:true}])})],1)]},proxy:true}])})}
266901
- var ProjectPanelvue_type_template_id_037ff296_staticRenderFns = []
266892
+ var ProjectPanelvue_type_template_id_c79ead1c_staticRenderFns = []
266902
266893
 
266903
266894
 
266904
- // CONCATENATED MODULE: ./src/components/projects/ProjectPanel.vue?vue&type=template&id=037ff296&
266895
+ // CONCATENATED MODULE: ./src/components/projects/ProjectPanel.vue?vue&type=template&id=c79ead1c&
266905
266896
 
266906
266897
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d220a428-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dashboard/BaseDashboard.vue?vue&type=template&id=191c4226&
266907
266898
  var BaseDashboardvue_type_template_id_191c4226_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"dashboard"},[_c('v-card',{staticClass:"isabl-base-card",attrs:{"flat":""}},[_c('dc-graph',{attrs:{"model":_vm.model,"params":_vm.params,"items":_vm.items,"figures":_vm.figures,"loading":_vm.loading,"max-records":_vm.maxRecords,"total-items":_vm.totalItems,"is-embedded":_vm.isEmbedded},on:{"set-max-records":_vm.setMaxRecords,"set-options":_vm.setOptions}})],1)],1)}
@@ -298981,7 +298972,7 @@ var graphs_experimentFigures = function experimentFigures() {
298981
298972
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/projects/ProjectPanel.vue?vue&type=script&lang=js&
298982
298973
  var cov_1xfylelwja = function () {
298983
298974
  var path = "/Users/arangooj/papaemme/isabl_web/src/components/projects/ProjectPanel.vue";
298984
- var hash = "1e22e790071acd7bfbdf163062b392d0ac39bb05";
298975
+ var hash = "6089d7320d2d7d63cef3b1d2121845b4a705585f";
298985
298976
  var global = new Function("return this")();
298986
298977
  var gcv = "__coverage__";
298987
298978
  var coverageData = {
@@ -298989,361 +298980,361 @@ var cov_1xfylelwja = function () {
298989
298980
  statementMap: {
298990
298981
  "0": {
298991
298982
  start: {
298992
- line: 407,
298983
+ line: 411,
298993
298984
  column: 4
298994
298985
  },
298995
298986
  end: {
298996
- line: 426,
298987
+ line: 430,
298997
298988
  column: 5
298998
298989
  }
298999
298990
  },
299000
298991
  "1": {
299001
298992
  start: {
299002
- line: 434,
298993
+ line: 438,
299003
298994
  column: 6
299004
298995
  },
299005
298996
  end: {
299006
- line: 434,
298997
+ line: 438,
299007
298998
  column: 45
299008
298999
  }
299009
299000
  },
299010
299001
  "2": {
299011
299002
  start: {
299012
- line: 437,
299003
+ line: 441,
299013
299004
  column: 6
299014
299005
  },
299015
299006
  end: {
299016
- line: 437,
299007
+ line: 441,
299017
299008
  column: 73
299018
299009
  }
299019
299010
  },
299020
299011
  "3": {
299021
299012
  start: {
299022
- line: 440,
299013
+ line: 444,
299023
299014
  column: 6
299024
299015
  },
299025
299016
  end: {
299026
- line: 440,
299017
+ line: 444,
299027
299018
  column: 55
299028
299019
  }
299029
299020
  },
299030
299021
  "4": {
299031
299022
  start: {
299032
- line: 443,
299023
+ line: 447,
299033
299024
  column: 24
299034
299025
  },
299035
299026
  end: {
299036
- line: 443,
299027
+ line: 447,
299037
299028
  column: 28
299038
299029
  }
299039
299030
  },
299040
299031
  "5": {
299041
299032
  start: {
299042
- line: 444,
299033
+ line: 448,
299043
299034
  column: 19
299044
299035
  },
299045
299036
  end: {
299046
- line: 444,
299037
+ line: 448,
299047
299038
  column: 21
299048
299039
  }
299049
299040
  },
299050
299041
  "6": {
299051
299042
  start: {
299052
- line: 445,
299043
+ line: 449,
299053
299044
  column: 19
299054
299045
  },
299055
299046
  end: {
299056
- line: 445,
299047
+ line: 449,
299057
299048
  column: 69
299058
299049
  }
299059
299050
  },
299060
299051
  "7": {
299061
299052
  start: {
299062
- line: 446,
299053
+ line: 450,
299063
299054
  column: 6
299064
299055
  },
299065
299056
  end: {
299066
- line: 452,
299057
+ line: 456,
299067
299058
  column: 8
299068
299059
  }
299069
299060
  },
299070
299061
  "8": {
299071
299062
  start: {
299072
- line: 447,
299063
+ line: 451,
299073
299064
  column: 8
299074
299065
  },
299075
299066
  end: {
299076
- line: 451,
299067
+ line: 455,
299077
299068
  column: 9
299078
299069
  }
299079
299070
  },
299080
299071
  "9": {
299081
299072
  start: {
299082
- line: 448,
299073
+ line: 452,
299083
299074
  column: 10
299084
299075
  },
299085
299076
  end: {
299086
- line: 450,
299077
+ line: 454,
299087
299078
  column: 12
299088
299079
  }
299089
299080
  },
299090
299081
  "10": {
299091
299082
  start: {
299092
- line: 449,
299083
+ line: 453,
299093
299084
  column: 12
299094
299085
  },
299095
299086
  end: {
299096
- line: 449,
299087
+ line: 453,
299097
299088
  column: 63
299098
299089
  }
299099
299090
  },
299100
299091
  "11": {
299101
299092
  start: {
299102
- line: 453,
299093
+ line: 457,
299103
299094
  column: 6
299104
299095
  },
299105
299096
  end: {
299106
- line: 453,
299097
+ line: 457,
299107
299098
  column: 31
299108
299099
  }
299109
299100
  },
299110
299101
  "12": {
299111
299102
  start: {
299112
- line: 456,
299103
+ line: 460,
299113
299104
  column: 6
299114
299105
  },
299115
299106
  end: {
299116
- line: 456,
299107
+ line: 460,
299117
299108
  column: 66
299118
299109
  }
299119
299110
  },
299120
299111
  "13": {
299121
299112
  start: {
299122
- line: 459,
299113
+ line: 463,
299123
299114
  column: 6
299124
299115
  },
299125
299116
  end: {
299126
- line: 459,
299117
+ line: 463,
299127
299118
  column: 40
299128
299119
  }
299129
299120
  },
299130
299121
  "14": {
299131
299122
  start: {
299132
- line: 462,
299123
+ line: 466,
299133
299124
  column: 6
299134
299125
  },
299135
299126
  end: {
299136
- line: 467,
299127
+ line: 471,
299137
299128
  column: 7
299138
299129
  }
299139
299130
  },
299140
299131
  "15": {
299141
299132
  start: {
299142
- line: 472,
299133
+ line: 476,
299143
299134
  column: 6
299144
299135
  },
299145
299136
  end: {
299146
- line: 472,
299137
+ line: 476,
299147
299138
  column: 25
299148
299139
  }
299149
299140
  },
299150
299141
  "16": {
299151
299142
  start: {
299152
- line: 475,
299143
+ line: 479,
299153
299144
  column: 6
299154
299145
  },
299155
299146
  end: {
299156
- line: 477,
299147
+ line: 481,
299157
299148
  column: 8
299158
299149
  }
299159
299150
  },
299160
299151
  "17": {
299161
299152
  start: {
299162
- line: 478,
299153
+ line: 482,
299163
299154
  column: 6
299164
299155
  },
299165
299156
  end: {
299166
- line: 478,
299157
+ line: 482,
299167
299158
  column: 26
299168
299159
  }
299169
299160
  },
299170
299161
  "18": {
299171
299162
  start: {
299172
- line: 482,
299163
+ line: 486,
299173
299164
  column: 4
299174
299165
  },
299175
299166
  end: {
299176
- line: 482,
299167
+ line: 486,
299177
299168
  column: 23
299178
299169
  }
299179
299170
  },
299180
299171
  "19": {
299181
299172
  start: {
299182
- line: 486,
299173
+ line: 490,
299183
299174
  column: 6
299184
299175
  },
299185
299176
  end: {
299186
- line: 488,
299177
+ line: 492,
299187
299178
  column: 8
299188
299179
  }
299189
299180
  },
299190
299181
  "20": {
299191
299182
  start: {
299192
- line: 489,
299183
+ line: 493,
299193
299184
  column: 6
299194
299185
  },
299195
299186
  end: {
299196
- line: 493,
299187
+ line: 497,
299197
299188
  column: 8
299198
299189
  }
299199
299190
  },
299200
299191
  "21": {
299201
299192
  start: {
299202
- line: 496,
299193
+ line: 500,
299203
299194
  column: 6
299204
299195
  },
299205
299196
  end: {
299206
- line: 496,
299197
+ line: 500,
299207
299198
  column: 33
299208
299199
  }
299209
299200
  },
299210
299201
  "22": {
299211
299202
  start: {
299212
- line: 499,
299203
+ line: 503,
299213
299204
  column: 6
299214
299205
  },
299215
299206
  end: {
299216
- line: 499,
299207
+ line: 503,
299217
299208
  column: 40
299218
299209
  }
299219
299210
  },
299220
299211
  "23": {
299221
299212
  start: {
299222
- line: 500,
299213
+ line: 504,
299223
299214
  column: 6
299224
299215
  },
299225
299216
  end: {
299226
- line: 500,
299217
+ line: 504,
299227
299218
  column: 31
299228
299219
  }
299229
299220
  },
299230
299221
  "24": {
299231
299222
  start: {
299232
- line: 503,
299223
+ line: 507,
299233
299224
  column: 6
299234
299225
  },
299235
299226
  end: {
299236
- line: 503,
299227
+ line: 507,
299237
299228
  column: 70
299238
299229
  }
299239
299230
  },
299240
299231
  "25": {
299241
299232
  start: {
299242
- line: 506,
299233
+ line: 510,
299243
299234
  column: 6
299244
299235
  },
299245
299236
  end: {
299246
- line: 506,
299237
+ line: 510,
299247
299238
  column: 46
299248
299239
  }
299249
299240
  },
299250
299241
  "26": {
299251
299242
  start: {
299252
- line: 509,
299243
+ line: 513,
299253
299244
  column: 6
299254
299245
  },
299255
299246
  end: {
299256
- line: 509,
299247
+ line: 513,
299257
299248
  column: 60
299258
299249
  }
299259
299250
  },
299260
299251
  "27": {
299261
299252
  start: {
299262
- line: 512,
299253
+ line: 516,
299263
299254
  column: 6
299264
299255
  },
299265
299256
  end: {
299266
- line: 517,
299257
+ line: 521,
299267
299258
  column: 7
299268
299259
  }
299269
299260
  },
299270
299261
  "28": {
299271
299262
  start: {
299272
- line: 520,
299263
+ line: 524,
299273
299264
  column: 6
299274
299265
  },
299275
299266
  end: {
299276
- line: 520,
299267
+ line: 524,
299277
299268
  column: 56
299278
299269
  }
299279
299270
  },
299280
299271
  "29": {
299281
299272
  start: {
299282
- line: 523,
299273
+ line: 527,
299283
299274
  column: 6
299284
299275
  },
299285
299276
  end: {
299286
- line: 528,
299277
+ line: 532,
299287
299278
  column: 7
299288
299279
  }
299289
299280
  },
299290
299281
  "30": {
299291
299282
  start: {
299292
- line: 532,
299283
+ line: 536,
299293
299284
  column: 6
299294
299285
  },
299295
299286
  end: {
299296
- line: 534,
299287
+ line: 538,
299297
299288
  column: 8
299298
299289
  }
299299
299290
  },
299300
299291
  "31": {
299301
299292
  start: {
299302
- line: 537,
299293
+ line: 541,
299303
299294
  column: 6
299304
299295
  },
299305
299296
  end: {
299306
- line: 552,
299297
+ line: 556,
299307
299298
  column: 9
299308
299299
  }
299309
299300
  },
299310
299301
  "32": {
299311
299302
  start: {
299312
- line: 538,
299303
+ line: 542,
299313
299304
  column: 24
299314
299305
  },
299315
299306
  end: {
299316
- line: 541,
299307
+ line: 545,
299317
299308
  column: 9
299318
299309
  }
299319
299310
  },
299320
299311
  "33": {
299321
299312
  start: {
299322
- line: 543,
299313
+ line: 547,
299323
299314
  column: 8
299324
299315
  },
299325
299316
  end: {
299326
- line: 551,
299317
+ line: 555,
299327
299318
  column: 12
299328
299319
  }
299329
299320
  },
299330
299321
  "34": {
299331
299322
  start: {
299332
- line: 545,
299323
+ line: 549,
299333
299324
  column: 12
299334
299325
  },
299335
299326
  end: {
299336
- line: 545,
299327
+ line: 549,
299337
299328
  column: 35
299338
299329
  }
299339
299330
  },
299340
299331
  "35": {
299341
299332
  start: {
299342
- line: 548,
299333
+ line: 552,
299343
299334
  column: 12
299344
299335
  },
299345
299336
  end: {
299346
- line: 550,
299337
+ line: 554,
299347
299338
  column: 14
299348
299339
  }
299349
299340
  }
@@ -299353,744 +299344,744 @@ var cov_1xfylelwja = function () {
299353
299344
  name: "(anonymous_0)",
299354
299345
  decl: {
299355
299346
  start: {
299356
- line: 406,
299347
+ line: 410,
299357
299348
  column: 2
299358
299349
  },
299359
299350
  end: {
299360
- line: 406,
299351
+ line: 410,
299361
299352
  column: 3
299362
299353
  }
299363
299354
  },
299364
299355
  loc: {
299365
299356
  start: {
299366
- line: 406,
299357
+ line: 410,
299367
299358
  column: 9
299368
299359
  },
299369
299360
  end: {
299370
- line: 427,
299361
+ line: 431,
299371
299362
  column: 3
299372
299363
  }
299373
299364
  },
299374
- line: 406
299365
+ line: 410
299375
299366
  },
299376
299367
  "1": {
299377
299368
  name: "(anonymous_1)",
299378
299369
  decl: {
299379
299370
  start: {
299380
- line: 433,
299371
+ line: 437,
299381
299372
  column: 4
299382
299373
  },
299383
299374
  end: {
299384
- line: 433,
299375
+ line: 437,
299385
299376
  column: 5
299386
299377
  }
299387
299378
  },
299388
299379
  loc: {
299389
299380
  start: {
299390
- line: 433,
299381
+ line: 437,
299391
299382
  column: 13
299392
299383
  },
299393
299384
  end: {
299394
- line: 435,
299385
+ line: 439,
299395
299386
  column: 5
299396
299387
  }
299397
299388
  },
299398
- line: 433
299389
+ line: 437
299399
299390
  },
299400
299391
  "2": {
299401
299392
  name: "(anonymous_2)",
299402
299393
  decl: {
299403
299394
  start: {
299404
- line: 436,
299395
+ line: 440,
299405
299396
  column: 4
299406
299397
  },
299407
299398
  end: {
299408
- line: 436,
299399
+ line: 440,
299409
299400
  column: 5
299410
299401
  }
299411
299402
  },
299412
299403
  loc: {
299413
299404
  start: {
299414
- line: 436,
299405
+ line: 440,
299415
299406
  column: 24
299416
299407
  },
299417
299408
  end: {
299418
- line: 438,
299409
+ line: 442,
299419
299410
  column: 5
299420
299411
  }
299421
299412
  },
299422
- line: 436
299413
+ line: 440
299423
299414
  },
299424
299415
  "3": {
299425
299416
  name: "(anonymous_3)",
299426
299417
  decl: {
299427
299418
  start: {
299428
- line: 439,
299419
+ line: 443,
299429
299420
  column: 4
299430
299421
  },
299431
299422
  end: {
299432
- line: 439,
299423
+ line: 443,
299433
299424
  column: 5
299434
299425
  }
299435
299426
  },
299436
299427
  loc: {
299437
299428
  start: {
299438
- line: 439,
299429
+ line: 443,
299439
299430
  column: 33
299440
299431
  },
299441
299432
  end: {
299442
- line: 441,
299433
+ line: 445,
299443
299434
  column: 5
299444
299435
  }
299445
299436
  },
299446
- line: 439
299437
+ line: 443
299447
299438
  },
299448
299439
  "4": {
299449
299440
  name: "(anonymous_4)",
299450
299441
  decl: {
299451
299442
  start: {
299452
- line: 442,
299443
+ line: 446,
299453
299444
  column: 4
299454
299445
  },
299455
299446
  end: {
299456
- line: 442,
299447
+ line: 446,
299457
299448
  column: 5
299458
299449
  }
299459
299450
  },
299460
299451
  loc: {
299461
299452
  start: {
299462
- line: 442,
299453
+ line: 446,
299463
299454
  column: 21
299464
299455
  },
299465
299456
  end: {
299466
- line: 454,
299457
+ line: 458,
299467
299458
  column: 5
299468
299459
  }
299469
299460
  },
299470
- line: 442
299461
+ line: 446
299471
299462
  },
299472
299463
  "5": {
299473
299464
  name: "(anonymous_5)",
299474
299465
  decl: {
299475
299466
  start: {
299476
- line: 446,
299467
+ line: 450,
299477
299468
  column: 19
299478
299469
  },
299479
299470
  end: {
299480
- line: 446,
299471
+ line: 450,
299481
299472
  column: 20
299482
299473
  }
299483
299474
  },
299484
299475
  loc: {
299485
299476
  start: {
299486
- line: 446,
299477
+ line: 450,
299487
299478
  column: 28
299488
299479
  },
299489
299480
  end: {
299490
- line: 452,
299481
+ line: 456,
299491
299482
  column: 7
299492
299483
  }
299493
299484
  },
299494
- line: 446
299485
+ line: 450
299495
299486
  },
299496
299487
  "6": {
299497
299488
  name: "(anonymous_6)",
299498
299489
  decl: {
299499
299490
  start: {
299500
- line: 448,
299491
+ line: 452,
299501
299492
  column: 49
299502
299493
  },
299503
299494
  end: {
299504
- line: 448,
299495
+ line: 452,
299505
299496
  column: 50
299506
299497
  }
299507
299498
  },
299508
299499
  loc: {
299509
299500
  start: {
299510
- line: 448,
299501
+ line: 452,
299511
299502
  column: 60
299512
299503
  },
299513
299504
  end: {
299514
- line: 450,
299505
+ line: 454,
299515
299506
  column: 11
299516
299507
  }
299517
299508
  },
299518
- line: 448
299509
+ line: 452
299519
299510
  },
299520
299511
  "7": {
299521
299512
  name: "(anonymous_7)",
299522
299513
  decl: {
299523
299514
  start: {
299524
- line: 455,
299515
+ line: 459,
299525
299516
  column: 4
299526
299517
  },
299527
299518
  end: {
299528
- line: 455,
299519
+ line: 459,
299529
299520
  column: 5
299530
299521
  }
299531
299522
  },
299532
299523
  loc: {
299533
299524
  start: {
299534
- line: 455,
299525
+ line: 459,
299535
299526
  column: 23
299536
299527
  },
299537
299528
  end: {
299538
- line: 457,
299529
+ line: 461,
299539
299530
  column: 5
299540
299531
  }
299541
299532
  },
299542
- line: 455
299533
+ line: 459
299543
299534
  },
299544
299535
  "8": {
299545
299536
  name: "(anonymous_8)",
299546
299537
  decl: {
299547
299538
  start: {
299548
- line: 458,
299539
+ line: 462,
299549
299540
  column: 4
299550
299541
  },
299551
299542
  end: {
299552
- line: 458,
299543
+ line: 462,
299553
299544
  column: 5
299554
299545
  }
299555
299546
  },
299556
299547
  loc: {
299557
299548
  start: {
299558
- line: 458,
299549
+ line: 462,
299559
299550
  column: 14
299560
299551
  },
299561
299552
  end: {
299562
- line: 460,
299553
+ line: 464,
299563
299554
  column: 5
299564
299555
  }
299565
299556
  },
299566
- line: 458
299557
+ line: 462
299567
299558
  },
299568
299559
  "9": {
299569
299560
  name: "(anonymous_9)",
299570
299561
  decl: {
299571
299562
  start: {
299572
- line: 461,
299563
+ line: 465,
299573
299564
  column: 4
299574
299565
  },
299575
299566
  end: {
299576
- line: 461,
299567
+ line: 465,
299577
299568
  column: 5
299578
299569
  }
299579
299570
  },
299580
299571
  loc: {
299581
299572
  start: {
299582
- line: 461,
299573
+ line: 465,
299583
299574
  column: 19
299584
299575
  },
299585
299576
  end: {
299586
- line: 468,
299577
+ line: 472,
299587
299578
  column: 5
299588
299579
  }
299589
299580
  },
299590
- line: 461
299581
+ line: 465
299591
299582
  },
299592
299583
  "10": {
299593
299584
  name: "(anonymous_10)",
299594
299585
  decl: {
299595
299586
  start: {
299596
- line: 471,
299587
+ line: 475,
299597
299588
  column: 4
299598
299589
  },
299599
299590
  end: {
299600
- line: 471,
299591
+ line: 475,
299601
299592
  column: 5
299602
299593
  }
299603
299594
  },
299604
299595
  loc: {
299605
299596
  start: {
299606
- line: 471,
299597
+ line: 475,
299607
299598
  column: 16
299608
299599
  },
299609
299600
  end: {
299610
- line: 473,
299601
+ line: 477,
299611
299602
  column: 5
299612
299603
  }
299613
299604
  },
299614
- line: 471
299605
+ line: 475
299615
299606
  },
299616
299607
  "11": {
299617
299608
  name: "(anonymous_11)",
299618
299609
  decl: {
299619
299610
  start: {
299620
- line: 474,
299611
+ line: 478,
299621
299612
  column: 4
299622
299613
  },
299623
299614
  end: {
299624
- line: 474,
299615
+ line: 478,
299625
299616
  column: 5
299626
299617
  }
299627
299618
  },
299628
299619
  loc: {
299629
299620
  start: {
299630
- line: 474,
299621
+ line: 478,
299631
299622
  column: 19
299632
299623
  },
299633
299624
  end: {
299634
- line: 479,
299625
+ line: 483,
299635
299626
  column: 5
299636
299627
  }
299637
299628
  },
299638
- line: 474
299629
+ line: 478
299639
299630
  },
299640
299631
  "12": {
299641
299632
  name: "(anonymous_12)",
299642
299633
  decl: {
299643
299634
  start: {
299644
- line: 481,
299635
+ line: 485,
299645
299636
  column: 2
299646
299637
  },
299647
299638
  end: {
299648
- line: 481,
299639
+ line: 485,
299649
299640
  column: 3
299650
299641
  }
299651
299642
  },
299652
299643
  loc: {
299653
299644
  start: {
299654
- line: 481,
299645
+ line: 485,
299655
299646
  column: 12
299656
299647
  },
299657
299648
  end: {
299658
- line: 483,
299649
+ line: 487,
299659
299650
  column: 3
299660
299651
  }
299661
299652
  },
299662
- line: 481
299653
+ line: 485
299663
299654
  },
299664
299655
  "13": {
299665
299656
  name: "(anonymous_13)",
299666
299657
  decl: {
299667
299658
  start: {
299668
- line: 485,
299659
+ line: 489,
299669
299660
  column: 4
299670
299661
  },
299671
299662
  end: {
299672
- line: 485,
299663
+ line: 489,
299673
299664
  column: 5
299674
299665
  }
299675
299666
  },
299676
299667
  loc: {
299677
299668
  start: {
299678
- line: 485,
299669
+ line: 489,
299679
299670
  column: 26
299680
299671
  },
299681
299672
  end: {
299682
- line: 494,
299673
+ line: 498,
299683
299674
  column: 5
299684
299675
  }
299685
299676
  },
299686
- line: 485
299677
+ line: 489
299687
299678
  },
299688
299679
  "14": {
299689
299680
  name: "(anonymous_14)",
299690
299681
  decl: {
299691
299682
  start: {
299692
- line: 495,
299683
+ line: 499,
299693
299684
  column: 4
299694
299685
  },
299695
299686
  end: {
299696
- line: 495,
299687
+ line: 499,
299697
299688
  column: 5
299698
299689
  }
299699
299690
  },
299700
299691
  loc: {
299701
299692
  start: {
299702
- line: 495,
299693
+ line: 499,
299703
299694
  column: 19
299704
299695
  },
299705
299696
  end: {
299706
- line: 497,
299697
+ line: 501,
299707
299698
  column: 5
299708
299699
  }
299709
299700
  },
299710
- line: 495
299701
+ line: 499
299711
299702
  },
299712
299703
  "15": {
299713
299704
  name: "(anonymous_15)",
299714
299705
  decl: {
299715
299706
  start: {
299716
- line: 498,
299707
+ line: 502,
299717
299708
  column: 4
299718
299709
  },
299719
299710
  end: {
299720
- line: 498,
299711
+ line: 502,
299721
299712
  column: 5
299722
299713
  }
299723
299714
  },
299724
299715
  loc: {
299725
299716
  start: {
299726
- line: 498,
299717
+ line: 502,
299727
299718
  column: 22
299728
299719
  },
299729
299720
  end: {
299730
- line: 501,
299721
+ line: 505,
299731
299722
  column: 5
299732
299723
  }
299733
299724
  },
299734
- line: 498
299725
+ line: 502
299735
299726
  },
299736
299727
  "16": {
299737
299728
  name: "(anonymous_16)",
299738
299729
  decl: {
299739
299730
  start: {
299740
- line: 502,
299731
+ line: 506,
299741
299732
  column: 4
299742
299733
  },
299743
299734
  end: {
299744
- line: 502,
299735
+ line: 506,
299745
299736
  column: 5
299746
299737
  }
299747
299738
  },
299748
299739
  loc: {
299749
299740
  start: {
299750
- line: 502,
299741
+ line: 506,
299751
299742
  column: 23
299752
299743
  },
299753
299744
  end: {
299754
- line: 504,
299745
+ line: 508,
299755
299746
  column: 5
299756
299747
  }
299757
299748
  },
299758
- line: 502
299749
+ line: 506
299759
299750
  },
299760
299751
  "17": {
299761
299752
  name: "(anonymous_17)",
299762
299753
  decl: {
299763
299754
  start: {
299764
- line: 505,
299755
+ line: 509,
299765
299756
  column: 4
299766
299757
  },
299767
299758
  end: {
299768
- line: 505,
299759
+ line: 509,
299769
299760
  column: 5
299770
299761
  }
299771
299762
  },
299772
299763
  loc: {
299773
299764
  start: {
299774
- line: 505,
299765
+ line: 509,
299775
299766
  column: 23
299776
299767
  },
299777
299768
  end: {
299778
- line: 507,
299769
+ line: 511,
299779
299770
  column: 5
299780
299771
  }
299781
299772
  },
299782
- line: 505
299773
+ line: 509
299783
299774
  },
299784
299775
  "18": {
299785
299776
  name: "(anonymous_18)",
299786
299777
  decl: {
299787
299778
  start: {
299788
- line: 508,
299779
+ line: 512,
299789
299780
  column: 4
299790
299781
  },
299791
299782
  end: {
299792
- line: 508,
299783
+ line: 512,
299793
299784
  column: 5
299794
299785
  }
299795
299786
  },
299796
299787
  loc: {
299797
299788
  start: {
299798
- line: 508,
299789
+ line: 512,
299799
299790
  column: 28
299800
299791
  },
299801
299792
  end: {
299802
- line: 518,
299793
+ line: 522,
299803
299794
  column: 5
299804
299795
  }
299805
299796
  },
299806
- line: 508
299797
+ line: 512
299807
299798
  },
299808
299799
  "19": {
299809
299800
  name: "(anonymous_19)",
299810
299801
  decl: {
299811
299802
  start: {
299812
- line: 519,
299803
+ line: 523,
299813
299804
  column: 4
299814
299805
  },
299815
299806
  end: {
299816
- line: 519,
299807
+ line: 523,
299817
299808
  column: 5
299818
299809
  }
299819
299810
  },
299820
299811
  loc: {
299821
299812
  start: {
299822
- line: 519,
299813
+ line: 523,
299823
299814
  column: 25
299824
299815
  },
299825
299816
  end: {
299826
- line: 529,
299817
+ line: 533,
299827
299818
  column: 5
299828
299819
  }
299829
299820
  },
299830
- line: 519
299821
+ line: 523
299831
299822
  },
299832
299823
  "20": {
299833
299824
  name: "(anonymous_20)",
299834
299825
  decl: {
299835
299826
  start: {
299836
- line: 530,
299827
+ line: 534,
299837
299828
  column: 4
299838
299829
  },
299839
299830
  end: {
299840
- line: 530,
299831
+ line: 534,
299841
299832
  column: 5
299842
299833
  }
299843
299834
  },
299844
299835
  loc: {
299845
299836
  start: {
299846
- line: 530,
299837
+ line: 534,
299847
299838
  column: 21
299848
299839
  },
299849
299840
  end: {
299850
- line: 535,
299841
+ line: 539,
299851
299842
  column: 5
299852
299843
  }
299853
299844
  },
299854
- line: 530
299845
+ line: 534
299855
299846
  },
299856
299847
  "21": {
299857
299848
  name: "(anonymous_21)",
299858
299849
  decl: {
299859
299850
  start: {
299860
- line: 536,
299851
+ line: 540,
299861
299852
  column: 4
299862
299853
  },
299863
299854
  end: {
299864
- line: 536,
299855
+ line: 540,
299865
299856
  column: 5
299866
299857
  }
299867
299858
  },
299868
299859
  loc: {
299869
299860
  start: {
299870
- line: 536,
299861
+ line: 540,
299871
299862
  column: 30
299872
299863
  },
299873
299864
  end: {
299874
- line: 553,
299865
+ line: 557,
299875
299866
  column: 5
299876
299867
  }
299877
299868
  },
299878
- line: 536
299869
+ line: 540
299879
299870
  },
299880
299871
  "22": {
299881
299872
  name: "(anonymous_22)",
299882
299873
  decl: {
299883
299874
  start: {
299884
- line: 544,
299875
+ line: 548,
299885
299876
  column: 16
299886
299877
  },
299887
299878
  end: {
299888
- line: 544,
299879
+ line: 548,
299889
299880
  column: 17
299890
299881
  }
299891
299882
  },
299892
299883
  loc: {
299893
299884
  start: {
299894
- line: 544,
299885
+ line: 548,
299895
299886
  column: 28
299896
299887
  },
299897
299888
  end: {
299898
- line: 546,
299889
+ line: 550,
299899
299890
  column: 11
299900
299891
  }
299901
299892
  },
299902
- line: 544
299893
+ line: 548
299903
299894
  },
299904
299895
  "23": {
299905
299896
  name: "(anonymous_23)",
299906
299897
  decl: {
299907
299898
  start: {
299908
- line: 547,
299899
+ line: 551,
299909
299900
  column: 17
299910
299901
  },
299911
299902
  end: {
299912
- line: 547,
299903
+ line: 551,
299913
299904
  column: 18
299914
299905
  }
299915
299906
  },
299916
299907
  loc: {
299917
299908
  start: {
299918
- line: 547,
299909
+ line: 551,
299919
299910
  column: 28
299920
299911
  },
299921
299912
  end: {
299922
- line: 551,
299913
+ line: 555,
299923
299914
  column: 11
299924
299915
  }
299925
299916
  },
299926
- line: 547
299917
+ line: 551
299927
299918
  }
299928
299919
  },
299929
299920
  branchMap: {
299930
299921
  "0": {
299931
299922
  loc: {
299932
299923
  start: {
299933
- line: 447,
299924
+ line: 451,
299934
299925
  column: 8
299935
299926
  },
299936
299927
  end: {
299937
- line: 451,
299928
+ line: 455,
299938
299929
  column: 9
299939
299930
  }
299940
299931
  },
299941
299932
  type: "if",
299942
299933
  locations: [{
299943
299934
  start: {
299944
- line: 447,
299935
+ line: 451,
299945
299936
  column: 8
299946
299937
  },
299947
299938
  end: {
299948
- line: 451,
299939
+ line: 455,
299949
299940
  column: 9
299950
299941
  }
299951
299942
  }, {
299952
299943
  start: {
299953
- line: 447,
299944
+ line: 451,
299954
299945
  column: 8
299955
299946
  },
299956
299947
  end: {
299957
- line: 451,
299948
+ line: 455,
299958
299949
  column: 9
299959
299950
  }
299960
299951
  }],
299961
- line: 447
299952
+ line: 451
299962
299953
  },
299963
299954
  "1": {
299964
299955
  loc: {
299965
299956
  start: {
299966
- line: 447,
299957
+ line: 451,
299967
299958
  column: 12
299968
299959
  },
299969
299960
  end: {
299970
- line: 447,
299961
+ line: 451,
299971
299962
  column: 52
299972
299963
  }
299973
299964
  },
299974
299965
  type: "binary-expr",
299975
299966
  locations: [{
299976
299967
  start: {
299977
- line: 447,
299968
+ line: 451,
299978
299969
  column: 12
299979
299970
  },
299980
299971
  end: {
299981
- line: 447,
299972
+ line: 451,
299982
299973
  column: 29
299983
299974
  }
299984
299975
  }, {
299985
299976
  start: {
299986
- line: 447,
299977
+ line: 451,
299987
299978
  column: 33
299988
299979
  },
299989
299980
  end: {
299990
- line: 447,
299981
+ line: 451,
299991
299982
  column: 52
299992
299983
  }
299993
299984
  }],
299994
- line: 447
299985
+ line: 451
299995
299986
  },
299996
299987
  "2": {
299997
299988
  loc: {
299998
299989
  start: {
299999
- line: 513,
299990
+ line: 517,
300000
299991
  column: 8
300001
299992
  },
300002
299993
  end: {
300003
- line: 515,
299994
+ line: 519,
300004
299995
  column: 39
300005
299996
  }
300006
299997
  },
300007
299998
  type: "cond-expr",
300008
299999
  locations: [{
300009
300000
  start: {
300010
- line: 514,
300001
+ line: 518,
300011
300002
  column: 12
300012
300003
  },
300013
300004
  end: {
300014
- line: 514,
300005
+ line: 518,
300015
300006
  column: 39
300016
300007
  }
300017
300008
  }, {
300018
300009
  start: {
300019
- line: 515,
300010
+ line: 519,
300020
300011
  column: 12
300021
300012
  },
300022
300013
  end: {
300023
- line: 515,
300014
+ line: 519,
300024
300015
  column: 39
300025
300016
  }
300026
300017
  }],
300027
- line: 513
300018
+ line: 517
300028
300019
  },
300029
300020
  "3": {
300030
300021
  loc: {
300031
300022
  start: {
300032
- line: 524,
300023
+ line: 528,
300033
300024
  column: 8
300034
300025
  },
300035
300026
  end: {
300036
- line: 526,
300027
+ line: 530,
300037
300028
  column: 39
300038
300029
  }
300039
300030
  },
300040
300031
  type: "cond-expr",
300041
300032
  locations: [{
300042
300033
  start: {
300043
- line: 525,
300034
+ line: 529,
300044
300035
  column: 12
300045
300036
  },
300046
300037
  end: {
300047
- line: 525,
300038
+ line: 529,
300048
300039
  column: 39
300049
300040
  }
300050
300041
  }, {
300051
300042
  start: {
300052
- line: 526,
300043
+ line: 530,
300053
300044
  column: 12
300054
300045
  },
300055
300046
  end: {
300056
- line: 526,
300047
+ line: 530,
300057
300048
  column: 39
300058
300049
  }
300059
300050
  }],
300060
- line: 524
300051
+ line: 528
300061
300052
  },
300062
300053
  "4": {
300063
300054
  loc: {
300064
300055
  start: {
300065
- line: 537,
300056
+ line: 541,
300066
300057
  column: 6
300067
300058
  },
300068
300059
  end: {
300069
- line: 552,
300060
+ line: 556,
300070
300061
  column: 9
300071
300062
  }
300072
300063
  },
300073
300064
  type: "if",
300074
300065
  locations: [{
300075
300066
  start: {
300076
- line: 537,
300067
+ line: 541,
300077
300068
  column: 6
300078
300069
  },
300079
300070
  end: {
300080
- line: 552,
300071
+ line: 556,
300081
300072
  column: 9
300082
300073
  }
300083
300074
  }, {
300084
300075
  start: {
300085
- line: 537,
300076
+ line: 541,
300086
300077
  column: 6
300087
300078
  },
300088
300079
  end: {
300089
- line: 552,
300080
+ line: 556,
300090
300081
  column: 9
300091
300082
  }
300092
300083
  }],
300093
- line: 537
300084
+ line: 541
300094
300085
  }
300095
300086
  },
300096
300087
  s: {
@@ -300168,13 +300159,13 @@ var cov_1xfylelwja = function () {
300168
300159
  version: 3,
300169
300160
  sources: ["ProjectPanel.vue"],
300170
300161
  names: [],
300171
- mappings: ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6WA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
300162
+ mappings: ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiXA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
300172
300163
  file: "ProjectPanel.vue",
300173
300164
  sourceRoot: "src/components/projects",
300174
- sourcesContent: ["<template>\n <base-panel\n :favorite-info=\"favoriteInfo\"\n :loading=\"loading\"\n panel-type=\"project\"\n data-test=\"project-panel\"\n >\n <!-- Project and Summary -->\n <template v-slot:title>\n <v-icon class=\"title-icon white--text\">\n {{ $settings.modelIcons.project }}\n </v-icon>\n <b data-test=\"project-title\">Project&nbsp;</b>\n <span data-test=\"project-id\">{{ projectId }}</span>\n </template>\n\n <!-- Project Actions -->\n <template v-slot:actions=\"{ hover }\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n v-if=\"$isAuthorized('add_submission')\"\n :color=\"hover ? 'white' : 'transparent'\"\n data-test=\"add-samples-btn\"\n small\n @click=\"addNewSubmission\"\n v-on=\"on\"\n >\n library_add\n </v-icon>\n </template>\n <span>Add batch of samples</span>\n </v-tooltip>\n </template>\n\n <!-- Title and Info -->\n <template v-slot:content>\n <v-card flat class=\"isabl-base-card px-8 py-6\">\n <v-row v-if=\"editingTitle\" class=\"text-left\" >\n <v-text-field\n ref=\"title\"\n v-model=\"projectTitle\"\n :rules=\"[rules.required]\"\n outlined\n label=\"Project Title\"\n autofocus\n @blur=\"editingTitle = false\"\n @keydown.enter=\"updateValue({ title: projectTitle })\"\n />\n </v-row>\n <v-row v-if=\"!editingTitle\" class=\"justify-space-between\">\n <h2\n style=\"cursor: pointer\"\n data-test=\"project-title\"\n @click=\"\n editingTitle = true\n projectTitle = project.title\n \"\n >\n {{ $get(project, 'title') }}\n </h2>\n\n <!-- Share Settings Icon Button -->\n <v-btn\n v-show=\"!$get(project, 'sharing.is_public', false) || $canShareProject(project)\"\n :disabled=\"!$canShareProject(project)\"\n icon\n small\n color=\"primary\"\n @click=\"showSharingModal = $canShareProject(project)\"\n >\n <v-icon small>\n {{ $get(project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock' }}\n </v-icon>\n </v-btn>\n </v-row>\n\n <v-divider\n v-if=\"!editingTitle\"\n class=\"my-4 mx-n4\"\n />\n\n <!-- Project Details Section -->\n <v-row>\n <!-- Basic Details: Title, Short Title and Description -->\n <v-col\n v-for=\"(field, index) in Object.values(projectBasicFields)\"\n :key=\"index\"\n cols=\"12\"\n class=\"py-1\"\n >\n <model-field\n v-bind=\"field\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n <v-row>\n <!-- Participants -->\n <v-col\n v-if=\"project\"\n cols=\"12\"\n class=\"px-0 py-1\"\n sm=\"12\"\n >\n <participants-field\n :project=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n\n <!-- tags -->\n <v-row class=\"tags-layout\">\n <div class=\"mr-0 mt-4\">\n <tags-field\n :model=\"project\"\n :field=\"'tags'\"\n :loading=\"fieldLoading\"\n :has-permission=\"$isAuthorized('change_project')\"\n add-tags-message=\"Add project tags!\"\n @update-value=\"updateValue\"\n />\n </div>\n\n <div\n v-if=\"project.group\"\n class=\"mr-0 mt-4\"\n >\n <tags-field\n v-if=\"project.group\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n :field=\"'group.tags'\"\n :has-permission=\"$isAuthorized('change_group')\"\n add-tags-message=\"Add group tags!\"\n tag-class=\"group-tag\"\n @update-value=\"updateValue\"\n />\n </div>\n </v-row>\n\n <v-row>\n <v-alert\n :value=\"experimentsCount === 0 && $isAuthorized('add_submission')\"\n color=\"info\"\n class=\"mt-2\"\n outlined\n style=\"width: 100%; cursor: pointer\"\n @click=\"addNewSubmission\"\n >\n Your project has no samples yet, click here to register new metadata!\n </v-alert>\n </v-row>\n </v-card>\n\n <!-- Modal to edit sharing -->\n <base-modal\n :show-modal=\"showSharingModal\"\n :loading=\"loading\"\n max-width=\"800px\"\n @close-modal=\"showSharingModal = false\"\n >\n <template v-slot:title>\n Sharing Settings\n <v-icon\n color=\"primary\"\n dense\n >\n {{ $get(project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock' }}\n </v-icon>\n </template>\n\n <template v-slot:content>\n <sharing-settings\n :sharing=\"camelifyKeys($get(project, 'sharing', {}))\"\n no-title\n @update-sharing=\"updateSharing\"\n />\n </template>\n\n <template v-slot:cancel-btn>\n <span />\n </template>\n\n </base-modal>\n\n <!-- End Modal to edit sharing -->\n\n <v-card flat class=\"pa-0 no-shadow\">\n <base-tabs>\n <template v-slot:content>\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-experiments-tab\"\n >\n Experiments\n <v-btn\n fab\n x-small\n elevation=\"0\"\n class=\"ml-2\"\n color=\"transparent\"\n @click=\"toggleExperimentsView\"\n >\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n color=\"primary\"\n class=\"white--text\"\n small\n v-on=\"on\"\n >\n {{ showExperimentTables ? 'equalizer' : 'view_list' }}\n </v-icon>\n </template>\n <span>{{ showExperimentTables ? 'View graphic data' : 'View tabulated data' }}</span>\n </v-tooltip>\n </v-btn>\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <div v-show=\"showExperimentTables\">\n <DataTable\n :params=\"params\"\n model=\"experiments\"\n data-test=\"project-experiments-datatable\"\n />\n\n <DataTable\n :params=\"params\"\n model=\"samples\"\n data-test=\"project-samples-datatable\"\n />\n\n <DataTable\n :params=\"params\"\n model=\"individuals\"\n data-test=\"project-individuals-datatable\"\n />\n </div>\n\n <base-dashboard\n v-if=\"!showExperimentTables\"\n :figures=\"experimentFigures\"\n :params=\"{ projects__pk__icontains: projectId }\"\n :required-fields=\"['system_id']\"\n model=\"experiments\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-analyses-tab\"\n >\n <v-tooltip v-if=\"failedAnalyses > 0\" top>\n <template v-slot:activator=\"{ on }\">\n <v-badge\n dot\n color=\"error\"\n >\n <span v-on=\"on\">Analyses</span>\n </v-badge>\n </template>\n <span>This project has {{ failedAnalyses }} failed analyses.</span>\n </v-tooltip>\n <span v-else>Analyses</span>\n\n <v-btn\n fab\n x-small\n elevation=\"0\"\n class=\"ml-2\"\n color=\"transparent\"\n @click=\"toggleAnalysesView\"\n >\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n color=\"primary\"\n class=\"white--text\"\n small\n v-on=\"on\"\n >\n {{ showAnalysesTables ? 'equalizer' : 'view_list' }}\n </v-icon>\n </template>\n <span>{{ showAnalysesTables ? 'View graphic data' : 'View tabulated data' }}</span>\n </v-tooltip>\n </v-btn>\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <div v-show=\"showAnalysesTables\">\n <DataTable\n :params=\"params\"\n model=\"analyses\"\n class=\"py-0\"\n />\n\n <DataTable\n :params=\"paramsProjectLevelAnalyses\"\n :skip-columns=\"[\n 'Target Experiments',\n 'Reference Experiments',\n 'Projects',\n 'Linked Analyses'\n ]\"\n model=\"analyses\"\n title=\"Project Analyses\"\n />\n </div>\n\n <base-dashboard\n v-if=\"!showAnalysesTables\"\n :figures=\"analysisFigures\"\n :params=\"{ targets__projects__pk__icontains: projectId }\"\n model=\"analyses\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-submissions-tab\"\n >\n Submissions\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <DataTable\n :params=\"paramsSubmissions\"\n model=\"submissions\"\n data-test=\"project-submissions-datatable\"\n class=\"py-0\"\n />\n </v-tab-item>\n\n <v-tab data-test=\"project-details-tab\">\n Metadata\n </v-tab>\n <v-tab-item>\n <model-fields\n :fields=\"projectFields\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"isJiraActive\"\n data-test=\"project-jira-tab\"\n @click=\"onJiraSelected\"\n >Jira</v-tab>\n <v-tab-item v-if=\"isJiraActive\">\n <jira-integration :project=\"projectId\" />\n </v-tab-item>\n </template>\n </base-tabs>\n </v-card>\n </template>\n </base-panel>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nimport BasePanel from '@/components/base/BasePanel.vue'\nimport BaseTabs from '@/components/base/BaseTabs.vue'\nimport BaseModal from '@/components/base/BaseModal.vue'\nimport BaseSectionTitle from '@/components/base/BaseSectionTitle'\nimport BaseDashboard from '@/components/dashboard/BaseDashboard'\nimport DataTable from '@/components/table/DataTable.vue'\nimport JiraIntegration from '@/components/projects/JiraIntegration.vue'\nimport ModelField from '@/components/fields/ModelField'\nimport ModelFields from '@/components/fields/ModelFields'\nimport ParticipantsField from '@/components/fields/ParticipantsField'\nimport TagsField from '@/components/fields/TagsField'\nimport SharingSettings from '@/components/projects/SharingSettings'\n\nimport rules from '@/utils/rules'\nimport { ADD_NEW_SUBMISSION, UPDATE_PROJECT } from '@/store/actions/modals'\nimport { projectFields, projectBasicFields } from '@/utils/fields'\nimport { getRecordsCount } from '@/utils/api'\nimport { experimentFigures, analysisFigures } from '@/utils/graphs'\nimport { camelifyKeys, snakifyKeys } from '@/utils/helpers'\nimport { updateRecord } from '@/utils/api'\nimport { SHOW_ALERT } from '@/store/actions/alert'\n\nexport default {\n name: 'ProjectPanel',\n components: {\n BasePanel,\n BaseModal,\n BaseSectionTitle,\n DataTable,\n BaseDashboard,\n ModelField,\n ModelFields,\n JiraIntegration,\n ParticipantsField,\n TagsField,\n BaseTabs,\n SharingSettings,\n },\n data() {\n return {\n experimentsCount: null,\n editingTitle: false,\n failedAnalyses: 0,\n fields: [projectBasicFields, projectFields],\n fieldLoading: false,\n isJiraActive: this.$settings.jira,\n loading: false,\n project: {},\n showDetails: false,\n projectBasicFields,\n projectFields,\n rules,\n experimentFigures: experimentFigures(),\n analysisFigures: analysisFigures(),\n showExperimentTables: true,\n showAnalysesTables: true,\n showSharingModal: false,\n camelifyKeys,\n }\n },\n computed: {\n ...mapGetters({\n projectId: 'projectId',\n user: 'getProfile'\n }),\n params() {\n return { projects__pk: this.projectId }\n },\n paramsSubmissions() {\n return { projects__pk: this.projectId, processed__isnull: 'False' }\n },\n paramsProjectLevelAnalyses() {\n return { project_level_analysis: this.projectId }\n },\n projectSummary() {\n let { project } = this\n let result = []\n const keys = ['species', 'source_types', 'analytes', 'methods']\n keys.forEach((key) => {\n if ('data' in project && key in project.data) {\n Object.keys(project.data[key]).forEach((field) => {\n result.push(`${field} ` + project.data[key][field])\n })\n }\n })\n return result.join(' - ')\n },\n executiveSummary() {\n return this.$get(this.project, 'data.executive_summary', '')\n },\n showTab() {\n return this.experimentsCount !== 0\n },\n favoriteInfo() {\n return {\n key: this.project.pk,\n model: 'project',\n panel: 'project',\n title: 'Project',\n }\n },\n },\n watch: {\n projectId() {\n this.fetchProject()\n },\n project(value) {\n this.$store.dispatch(UPDATE_PROJECT, {\n value,\n })\n this.updateMetrics()\n },\n },\n created() {\n this.fetchProject()\n },\n methods: {\n async updateMetrics() {\n this.experimentsCount = await getRecordsCount('experiments', {\n projects: this.projectId,\n })\n this.failedAnalyses = await getRecordsCount('analyses', {\n projects: this.projectId,\n status: 'FAILED',\n distinct: true,\n })\n },\n fetchProject() {\n this.$fetchModel('project')\n },\n updateValue(data) {\n this.$updateField('project', data)\n this.editingTitle = false\n },\n openDrive(driveId) {\n window.open(`https://drive.google.com/drive/folders/${driveId}`)\n },\n addNewSubmission() {\n this.$store.dispatch(ADD_NEW_SUBMISSION)\n },\n toggleExperimentsView() {\n this.showExperimentTables = !this.showExperimentTables\n\n // Track preferences in visualizing models in analytics\n window.analytics.track(\n this.showExperimentTables\n ? 'Viewed models from tables'\n : 'Viewed models from graphs',\n { dashboard: 'experiments', panel: 'project' }\n )\n },\n toggleAnalysesView() {\n this.showAnalysesTables = !this.showAnalysesTables\n\n // Track preferences in visualizing models in analytics\n window.analytics.track(\n this.showAnalysesTables\n ? 'Viewed models from tables'\n : 'Viewed models from graphs',\n { dashboard: 'analyses', panel: 'project' }\n )\n },\n onJiraSelected() {\n // Track analytics of when user uses the Jira Project Details\n window.analytics.track('Opened Jira Tab', {\n project: this.projectId,\n })\n },\n async updateSharing(data) {\n if (Object.keys(data).length) {\n const sharing = {\n ...this.project.sharing,\n ...snakifyKeys(data)\n }\n\n updateRecord('projects', this.projectId, { sharing })\n .then(response => {\n this.project = response\n })\n .catch((error) => {\n this.$store.dispatch(SHOW_ALERT, {\n error: this.$get(error, 'response.data.detail')\n })\n })\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.group-tag {\n background-color: #efe9ff !important;\n color: #3a74a3 !important;\n}\nbutton.v-btn--floating.very-small {\n height: 30px;\n width: 30px;\n}\n</style>\n"]
300165
+ sourcesContent: ["<template>\n <base-panel\n :favorite-info=\"favoriteInfo\"\n :loading=\"loading\"\n panel-type=\"project\"\n data-test=\"project-panel\"\n >\n <!-- Project and Summary -->\n <template v-slot:title>\n <v-icon class=\"title-icon white--text\">\n {{ $settings.modelIcons.project }}\n </v-icon>\n <b data-test=\"project-title\">Project&nbsp;</b>\n <span data-test=\"project-id\">{{ projectId }}</span>\n </template>\n\n <!-- Project Actions -->\n <template v-slot:actions=\"{ hover }\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n v-if=\"$isAuthorized('add_submission')\"\n :color=\"hover ? 'white' : 'transparent'\"\n data-test=\"add-samples-btn\"\n small\n @click=\"addNewSubmission\"\n v-on=\"on\"\n >\n library_add\n </v-icon>\n </template>\n <span>Add batch of samples</span>\n </v-tooltip>\n </template>\n\n <!-- Title and Info -->\n <template v-slot:content>\n <v-card flat class=\"isabl-base-card px-8 py-6\">\n <v-row v-if=\"editingTitle\" class=\"text-left\" >\n <v-text-field\n ref=\"title\"\n v-model=\"projectTitle\"\n :rules=\"[rules.required]\"\n outlined\n label=\"Project Title\"\n autofocus\n @blur=\"editingTitle = false\"\n @keydown.enter=\"updateValue({ title: projectTitle })\"\n />\n </v-row>\n <v-row v-if=\"!editingTitle\" class=\"justify-space-between\">\n <h2\n style=\"cursor: pointer\"\n data-test=\"project-title\"\n @click=\"\n editingTitle = true\n projectTitle = project.title\n \"\n >\n {{ $get(project, 'title') }}\n </h2>\n\n <!-- Share Settings Icon Button -->\n <v-btn\n v-show=\"\n $get(project, 'sharing', false) && (\n !$get(project, 'sharing.is_public', false) || $canShareProject(project)\n )\n \"\n :disabled=\"!$canShareProject(project)\"\n icon\n small\n color=\"primary\"\n @click=\"showSharingModal = $canShareProject(project)\"\n >\n <v-icon small>\n {{ $get(project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock' }}\n </v-icon>\n </v-btn>\n </v-row>\n\n <v-divider\n v-if=\"!editingTitle\"\n class=\"my-4 mx-n4\"\n />\n\n <!-- Project Details Section -->\n <v-row>\n <!-- Basic Details: Title, Short Title and Description -->\n <v-col\n v-for=\"(field, index) in Object.values(projectBasicFields)\"\n :key=\"index\"\n cols=\"12\"\n class=\"py-1\"\n >\n <model-field\n v-bind=\"field\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n <v-row>\n <!-- Participants -->\n <v-col\n v-if=\"project\"\n cols=\"12\"\n class=\"px-0 py-1\"\n sm=\"12\"\n >\n <participants-field\n :project=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-col>\n </v-row>\n\n <!-- tags -->\n <v-row class=\"tags-layout\">\n <div class=\"mr-0 mt-4\">\n <tags-field\n :model=\"project\"\n :field=\"'tags'\"\n :loading=\"fieldLoading\"\n :has-permission=\"$isAuthorized('change_project')\"\n add-tags-message=\"Add project tags!\"\n @update-value=\"updateValue\"\n />\n </div>\n\n <div\n v-if=\"project.group\"\n class=\"mr-0 mt-4\"\n >\n <tags-field\n v-if=\"project.group\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n :field=\"'group.tags'\"\n :has-permission=\"$isAuthorized('change_group')\"\n add-tags-message=\"Add group tags!\"\n tag-class=\"group-tag\"\n @update-value=\"updateValue\"\n />\n </div>\n </v-row>\n\n <v-row>\n <v-alert\n :value=\"experimentsCount === 0 && $isAuthorized('add_submission')\"\n color=\"info\"\n class=\"mt-2\"\n outlined\n style=\"width: 100%; cursor: pointer\"\n @click=\"addNewSubmission\"\n >\n Your project has no samples yet, click here to register new metadata!\n </v-alert>\n </v-row>\n </v-card>\n\n <!-- Modal to edit sharing -->\n <base-modal\n :show-modal=\"showSharingModal\"\n :loading=\"loading\"\n max-width=\"800px\"\n @close-modal=\"showSharingModal = false\"\n >\n <template v-slot:title>\n Sharing Settings\n <v-icon\n color=\"primary\"\n dense\n >\n {{ $get(project, 'sharing.is_public', false) ? 'mdi-share-variant' : 'mdi-lock' }}\n </v-icon>\n </template>\n\n <template v-slot:content>\n <sharing-settings\n :sharing=\"camelifyKeys($get(project, 'sharing', {}))\"\n no-title\n @update-sharing=\"updateSharing\"\n />\n </template>\n\n <template v-slot:cancel-btn>\n <span />\n </template>\n\n </base-modal>\n\n <!-- End Modal to edit sharing -->\n\n <v-card flat class=\"pa-0 no-shadow\">\n <base-tabs>\n <template v-slot:content>\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-experiments-tab\"\n >\n Experiments\n <v-btn\n fab\n x-small\n elevation=\"0\"\n class=\"ml-2\"\n color=\"transparent\"\n @click=\"toggleExperimentsView\"\n >\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n color=\"primary\"\n class=\"white--text\"\n small\n v-on=\"on\"\n >\n {{ showExperimentTables ? 'equalizer' : 'view_list' }}\n </v-icon>\n </template>\n <span>{{ showExperimentTables ? 'View graphic data' : 'View tabulated data' }}</span>\n </v-tooltip>\n </v-btn>\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <div v-show=\"showExperimentTables\">\n <DataTable\n :params=\"params\"\n model=\"experiments\"\n data-test=\"project-experiments-datatable\"\n />\n\n <DataTable\n :params=\"params\"\n model=\"samples\"\n data-test=\"project-samples-datatable\"\n />\n\n <DataTable\n :params=\"params\"\n model=\"individuals\"\n data-test=\"project-individuals-datatable\"\n />\n </div>\n\n <base-dashboard\n v-if=\"!showExperimentTables\"\n :figures=\"experimentFigures\"\n :params=\"{ projects__pk__icontains: projectId }\"\n :required-fields=\"['system_id']\"\n model=\"experiments\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-analyses-tab\"\n >\n <v-tooltip v-if=\"failedAnalyses > 0\" top>\n <template v-slot:activator=\"{ on }\">\n <v-badge\n dot\n color=\"error\"\n >\n <span v-on=\"on\">Analyses</span>\n </v-badge>\n </template>\n <span>This project has {{ failedAnalyses }} failed analyses.</span>\n </v-tooltip>\n <span v-else>Analyses</span>\n\n <v-btn\n fab\n x-small\n elevation=\"0\"\n class=\"ml-2\"\n color=\"transparent\"\n @click=\"toggleAnalysesView\"\n >\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n color=\"primary\"\n class=\"white--text\"\n small\n v-on=\"on\"\n >\n {{ showAnalysesTables ? 'equalizer' : 'view_list' }}\n </v-icon>\n </template>\n <span>{{ showAnalysesTables ? 'View graphic data' : 'View tabulated data' }}</span>\n </v-tooltip>\n </v-btn>\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <div v-show=\"showAnalysesTables\">\n <DataTable\n :params=\"params\"\n model=\"analyses\"\n class=\"py-0\"\n />\n\n <DataTable\n :params=\"paramsProjectLevelAnalyses\"\n :skip-columns=\"[\n 'Target Experiments',\n 'Reference Experiments',\n 'Projects',\n 'Linked Analyses'\n ]\"\n model=\"analyses\"\n title=\"Project Analyses\"\n />\n </div>\n\n <base-dashboard\n v-if=\"!showAnalysesTables\"\n :figures=\"analysisFigures\"\n :params=\"{ targets__projects__pk__icontains: projectId }\"\n model=\"analyses\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"showTab\"\n data-test=\"project-submissions-tab\"\n >\n Submissions\n </v-tab>\n <v-tab-item v-if=\"showTab\">\n <DataTable\n :params=\"paramsSubmissions\"\n model=\"submissions\"\n data-test=\"project-submissions-datatable\"\n class=\"py-0\"\n />\n </v-tab-item>\n\n <v-tab data-test=\"project-details-tab\">\n Metadata\n </v-tab>\n <v-tab-item>\n <model-fields\n :fields=\"projectFields\"\n :model=\"project\"\n :loading=\"fieldLoading\"\n @update-value=\"updateValue\"\n />\n </v-tab-item>\n\n <v-tab\n v-if=\"isJiraActive\"\n data-test=\"project-jira-tab\"\n @click=\"onJiraSelected\"\n >Jira</v-tab>\n <v-tab-item v-if=\"isJiraActive\">\n <jira-integration :project=\"projectId\" />\n </v-tab-item>\n </template>\n </base-tabs>\n </v-card>\n </template>\n </base-panel>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nimport BasePanel from '@/components/base/BasePanel.vue'\nimport BaseTabs from '@/components/base/BaseTabs.vue'\nimport BaseModal from '@/components/base/BaseModal.vue'\nimport BaseSectionTitle from '@/components/base/BaseSectionTitle'\nimport BaseDashboard from '@/components/dashboard/BaseDashboard'\nimport DataTable from '@/components/table/DataTable.vue'\nimport JiraIntegration from '@/components/projects/JiraIntegration.vue'\nimport ModelField from '@/components/fields/ModelField'\nimport ModelFields from '@/components/fields/ModelFields'\nimport ParticipantsField from '@/components/fields/ParticipantsField'\nimport TagsField from '@/components/fields/TagsField'\nimport SharingSettings from '@/components/projects/SharingSettings'\n\nimport rules from '@/utils/rules'\nimport { ADD_NEW_SUBMISSION, UPDATE_PROJECT } from '@/store/actions/modals'\nimport { projectFields, projectBasicFields } from '@/utils/fields'\nimport { getRecordsCount } from '@/utils/api'\nimport { experimentFigures, analysisFigures } from '@/utils/graphs'\nimport { camelifyKeys, snakifyKeys } from '@/utils/helpers'\nimport { updateRecord } from '@/utils/api'\nimport { SHOW_ALERT } from '@/store/actions/alert'\n\nexport default {\n name: 'ProjectPanel',\n components: {\n BasePanel,\n BaseModal,\n BaseSectionTitle,\n DataTable,\n BaseDashboard,\n ModelField,\n ModelFields,\n JiraIntegration,\n ParticipantsField,\n TagsField,\n BaseTabs,\n SharingSettings,\n },\n data() {\n return {\n experimentsCount: null,\n editingTitle: false,\n failedAnalyses: 0,\n fields: [projectBasicFields, projectFields],\n fieldLoading: false,\n isJiraActive: this.$settings.jira,\n loading: false,\n project: {},\n showDetails: false,\n projectBasicFields,\n projectFields,\n rules,\n experimentFigures: experimentFigures(),\n analysisFigures: analysisFigures(),\n showExperimentTables: true,\n showAnalysesTables: true,\n showSharingModal: false,\n camelifyKeys,\n }\n },\n computed: {\n ...mapGetters({\n projectId: 'projectId',\n user: 'getProfile'\n }),\n params() {\n return { projects__pk: this.projectId }\n },\n paramsSubmissions() {\n return { projects__pk: this.projectId, processed__isnull: 'False' }\n },\n paramsProjectLevelAnalyses() {\n return { project_level_analysis: this.projectId }\n },\n projectSummary() {\n let { project } = this\n let result = []\n const keys = ['species', 'source_types', 'analytes', 'methods']\n keys.forEach((key) => {\n if ('data' in project && key in project.data) {\n Object.keys(project.data[key]).forEach((field) => {\n result.push(`${field} ` + project.data[key][field])\n })\n }\n })\n return result.join(' - ')\n },\n executiveSummary() {\n return this.$get(this.project, 'data.executive_summary', '')\n },\n showTab() {\n return this.experimentsCount !== 0\n },\n favoriteInfo() {\n return {\n key: this.project.pk,\n model: 'project',\n panel: 'project',\n title: 'Project',\n }\n },\n },\n watch: {\n projectId() {\n this.fetchProject()\n },\n project(value) {\n this.$store.dispatch(UPDATE_PROJECT, {\n value,\n })\n this.updateMetrics()\n },\n },\n created() {\n this.fetchProject()\n },\n methods: {\n async updateMetrics() {\n this.experimentsCount = await getRecordsCount('experiments', {\n projects: this.projectId,\n })\n this.failedAnalyses = await getRecordsCount('analyses', {\n projects: this.projectId,\n status: 'FAILED',\n distinct: true,\n })\n },\n fetchProject() {\n this.$fetchModel('project')\n },\n updateValue(data) {\n this.$updateField('project', data)\n this.editingTitle = false\n },\n openDrive(driveId) {\n window.open(`https://drive.google.com/drive/folders/${driveId}`)\n },\n addNewSubmission() {\n this.$store.dispatch(ADD_NEW_SUBMISSION)\n },\n toggleExperimentsView() {\n this.showExperimentTables = !this.showExperimentTables\n\n // Track preferences in visualizing models in analytics\n window.analytics.track(\n this.showExperimentTables\n ? 'Viewed models from tables'\n : 'Viewed models from graphs',\n { dashboard: 'experiments', panel: 'project' }\n )\n },\n toggleAnalysesView() {\n this.showAnalysesTables = !this.showAnalysesTables\n\n // Track preferences in visualizing models in analytics\n window.analytics.track(\n this.showAnalysesTables\n ? 'Viewed models from tables'\n : 'Viewed models from graphs',\n { dashboard: 'analyses', panel: 'project' }\n )\n },\n onJiraSelected() {\n // Track analytics of when user uses the Jira Project Details\n window.analytics.track('Opened Jira Tab', {\n project: this.projectId,\n })\n },\n async updateSharing(data) {\n if (Object.keys(data).length) {\n const sharing = {\n ...this.project.sharing,\n ...snakifyKeys(data)\n }\n\n updateRecord('projects', this.projectId, { sharing })\n .then(response => {\n this.project = response\n })\n .catch((error) => {\n this.$store.dispatch(SHOW_ALERT, {\n error: this.$get(error, 'response.data.detail')\n })\n })\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.group-tag {\n background-color: #efe9ff !important;\n color: #3a74a3 !important;\n}\nbutton.v-btn--floating.very-small {\n height: 30px;\n width: 30px;\n}\n</style>\n"]
300175
300166
  },
300176
300167
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
300177
- hash: "1e22e790071acd7bfbdf163062b392d0ac39bb05"
300168
+ hash: "6089d7320d2d7d63cef3b1d2121845b4a705585f"
300178
300169
  };
300179
300170
  var coverage = global[gcv] || (global[gcv] = {});
300180
300171
 
@@ -300561,6 +300552,10 @@ function ProjectPanelvue_type_script_lang_js_defineProperty(obj, key, value) { i
300561
300552
  //
300562
300553
  //
300563
300554
  //
300555
+ //
300556
+ //
300557
+ //
300558
+ //
300564
300559
 
300565
300560
 
300566
300561
 
@@ -300877,8 +300872,8 @@ var ProjectPanelvue_type_style_index_0_lang_scss_ = __webpack_require__("e84f");
300877
300872
 
300878
300873
  var ProjectPanel_component = normalizeComponent(
300879
300874
  projects_ProjectPanelvue_type_script_lang_js_,
300880
- ProjectPanelvue_type_template_id_037ff296_render,
300881
- ProjectPanelvue_type_template_id_037ff296_staticRenderFns,
300875
+ ProjectPanelvue_type_template_id_c79ead1c_render,
300876
+ ProjectPanelvue_type_template_id_c79ead1c_staticRenderFns,
300882
300877
  false,
300883
300878
  null,
300884
300879
  null,