@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.
@@ -91398,7 +91398,7 @@ module.exports = overArg;
91398
91398
  /***/ "9224":
91399
91399
  /***/ (function(module) {
91400
91400
 
91401
- 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\"}");
91401
+ 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\"}");
91402
91402
 
91403
91403
  /***/ }),
91404
91404
 
@@ -222923,12 +222923,12 @@ var EditProfileModal_component = normalizeComponent(
222923
222923
  )
222924
222924
 
222925
222925
  /* harmony default export */ var EditProfileModal = (EditProfileModal_component.exports);
222926
- // 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&
222927
- 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}])})}
222928
- var NewProjectModalvue_type_template_id_9dcdd18a_staticRenderFns = []
222926
+ // 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&
222927
+ 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}])})}
222928
+ var NewProjectModalvue_type_template_id_8db07d96_staticRenderFns = []
222929
222929
 
222930
222930
 
222931
- // CONCATENATED MODULE: ./src/components/projects/NewProjectModal.vue?vue&type=template&id=9dcdd18a&
222931
+ // CONCATENATED MODULE: ./src/components/projects/NewProjectModal.vue?vue&type=template&id=8db07d96&
222932
222932
 
222933
222933
  // EXTERNAL MODULE: ./node_modules/lodash/has.js
222934
222934
  var has = __webpack_require__("3852");
@@ -226100,7 +226100,7 @@ var SharingSettings_component = normalizeComponent(
226100
226100
  // 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&
226101
226101
  var cov_2q2n13agp2 = function () {
226102
226102
  var path = "/Users/arangooj/papaemme/isabl_web/src/components/projects/NewProjectModal.vue";
226103
- var hash = "59819bdd4a6ee9b4fa2955075f54f43083d53882";
226103
+ var hash = "9065b65484d9dda2d79190551ed5f04b8da2c2ab";
226104
226104
  var global = new Function("return this")();
226105
226105
  var gcv = "__coverage__";
226106
226106
  var coverageData = {
@@ -226412,38 +226412,38 @@ var cov_2q2n13agp2 = function () {
226412
226412
  column: 6
226413
226413
  },
226414
226414
  end: {
226415
- line: 271,
226416
- column: 23
226415
+ line: 274,
226416
+ column: 7
226417
226417
  }
226418
226418
  },
226419
226419
  "31": {
226420
226420
  start: {
226421
- line: 272,
226421
+ line: 277,
226422
226422
  column: 6
226423
226423
  },
226424
226424
  end: {
226425
- line: 275,
226425
+ line: 280,
226426
226426
  column: 7
226427
226427
  }
226428
226428
  },
226429
226429
  "32": {
226430
226430
  start: {
226431
- line: 278,
226431
+ line: 281,
226432
226432
  column: 6
226433
226433
  },
226434
226434
  end: {
226435
- line: 281,
226435
+ line: 284,
226436
226436
  column: 7
226437
226437
  }
226438
226438
  },
226439
226439
  "33": {
226440
226440
  start: {
226441
- line: 282,
226441
+ line: 287,
226442
226442
  column: 6
226443
226443
  },
226444
226444
  end: {
226445
- line: 285,
226446
- column: 7
226445
+ line: 287,
226446
+ column: 32
226447
226447
  }
226448
226448
  },
226449
226449
  "34": {
@@ -226453,7 +226453,7 @@ var cov_2q2n13agp2 = function () {
226453
226453
  },
226454
226454
  end: {
226455
226455
  line: 288,
226456
- column: 32
226456
+ column: 28
226457
226457
  }
226458
226458
  },
226459
226459
  "35": {
@@ -226463,116 +226463,106 @@ var cov_2q2n13agp2 = function () {
226463
226463
  },
226464
226464
  end: {
226465
226465
  line: 289,
226466
- column: 28
226467
- }
226468
- },
226469
- "36": {
226470
- start: {
226471
- line: 290,
226472
- column: 6
226473
- },
226474
- end: {
226475
- line: 290,
226476
226466
  column: 65
226477
226467
  }
226478
226468
  },
226479
- "37": {
226469
+ "36": {
226480
226470
  start: {
226481
- line: 290,
226471
+ line: 289,
226482
226472
  column: 46
226483
226473
  },
226484
226474
  end: {
226485
- line: 290,
226475
+ line: 289,
226486
226476
  column: 64
226487
226477
  }
226488
226478
  },
226489
- "38": {
226479
+ "37": {
226490
226480
  start: {
226491
- line: 292,
226481
+ line: 291,
226492
226482
  column: 6
226493
226483
  },
226494
226484
  end: {
226495
- line: 313,
226485
+ line: 312,
226496
226486
  column: 7
226497
226487
  }
226498
226488
  },
226499
- "39": {
226489
+ "38": {
226500
226490
  start: {
226501
- line: 293,
226491
+ line: 292,
226502
226492
  column: 8
226503
226493
  },
226504
226494
  end: {
226505
- line: 312,
226495
+ line: 311,
226506
226496
  column: 12
226507
226497
  }
226508
226498
  },
226509
- "40": {
226499
+ "39": {
226510
226500
  start: {
226511
- line: 295,
226501
+ line: 294,
226512
226502
  column: 30
226513
226503
  },
226514
226504
  end: {
226515
- line: 295,
226505
+ line: 294,
226516
226506
  column: 59
226517
226507
  }
226518
226508
  },
226519
- "41": {
226509
+ "40": {
226520
226510
  start: {
226521
- line: 296,
226511
+ line: 295,
226522
226512
  column: 12
226523
226513
  },
226524
226514
  end: {
226525
- line: 298,
226515
+ line: 297,
226526
226516
  column: 14
226527
226517
  }
226528
226518
  },
226529
- "42": {
226519
+ "41": {
226530
226520
  start: {
226531
- line: 300,
226521
+ line: 299,
226532
226522
  column: 12
226533
226523
  },
226534
226524
  end: {
226535
- line: 302,
226525
+ line: 301,
226536
226526
  column: 14
226537
226527
  }
226538
226528
  },
226539
- "43": {
226529
+ "42": {
226540
226530
  start: {
226541
- line: 303,
226531
+ line: 302,
226542
226532
  column: 12
226543
226533
  },
226544
226534
  end: {
226545
- line: 303,
226535
+ line: 302,
226546
226536
  column: 29
226547
226537
  }
226548
226538
  },
226549
- "44": {
226539
+ "43": {
226550
226540
  start: {
226551
- line: 306,
226541
+ line: 305,
226552
226542
  column: 12
226553
226543
  },
226554
226544
  end: {
226555
- line: 311,
226545
+ line: 310,
226556
226546
  column: 13
226557
226547
  }
226558
226548
  },
226559
- "45": {
226549
+ "44": {
226560
226550
  start: {
226561
- line: 307,
226551
+ line: 306,
226562
226552
  column: 14
226563
226553
  },
226564
226554
  end: {
226565
- line: 307,
226555
+ line: 306,
226566
226556
  column: 54
226567
226557
  }
226568
226558
  },
226569
- "46": {
226559
+ "45": {
226570
226560
  start: {
226571
- line: 308,
226561
+ line: 307,
226572
226562
  column: 14
226573
226563
  },
226574
226564
  end: {
226575
- line: 310,
226565
+ line: 309,
226576
226566
  column: 16
226577
226567
  }
226578
226568
  }
@@ -226860,7 +226850,7 @@ var cov_2q2n13agp2 = function () {
226860
226850
  column: 22
226861
226851
  },
226862
226852
  end: {
226863
- line: 276,
226853
+ line: 275,
226864
226854
  column: 5
226865
226855
  }
226866
226856
  },
@@ -226870,121 +226860,121 @@ var cov_2q2n13agp2 = function () {
226870
226860
  name: "(anonymous_12)",
226871
226861
  decl: {
226872
226862
  start: {
226873
- line: 277,
226863
+ line: 276,
226874
226864
  column: 4
226875
226865
  },
226876
226866
  end: {
226877
- line: 277,
226867
+ line: 276,
226878
226868
  column: 5
226879
226869
  }
226880
226870
  },
226881
226871
  loc: {
226882
226872
  start: {
226883
- line: 277,
226873
+ line: 276,
226884
226874
  column: 24
226885
226875
  },
226886
226876
  end: {
226887
- line: 286,
226877
+ line: 285,
226888
226878
  column: 5
226889
226879
  }
226890
226880
  },
226891
- line: 277
226881
+ line: 276
226892
226882
  },
226893
226883
  "13": {
226894
226884
  name: "(anonymous_13)",
226895
226885
  decl: {
226896
226886
  start: {
226897
- line: 287,
226887
+ line: 286,
226898
226888
  column: 4
226899
226889
  },
226900
226890
  end: {
226901
- line: 287,
226891
+ line: 286,
226902
226892
  column: 5
226903
226893
  }
226904
226894
  },
226905
226895
  loc: {
226906
226896
  start: {
226907
- line: 287,
226897
+ line: 286,
226908
226898
  column: 19
226909
226899
  },
226910
226900
  end: {
226911
- line: 314,
226901
+ line: 313,
226912
226902
  column: 5
226913
226903
  }
226914
226904
  },
226915
- line: 287
226905
+ line: 286
226916
226906
  },
226917
226907
  "14": {
226918
226908
  name: "(anonymous_14)",
226919
226909
  decl: {
226920
226910
  start: {
226921
- line: 290,
226911
+ line: 289,
226922
226912
  column: 39
226923
226913
  },
226924
226914
  end: {
226925
- line: 290,
226915
+ line: 289,
226926
226916
  column: 40
226927
226917
  }
226928
226918
  },
226929
226919
  loc: {
226930
226920
  start: {
226931
- line: 290,
226921
+ line: 289,
226932
226922
  column: 46
226933
226923
  },
226934
226924
  end: {
226935
- line: 290,
226925
+ line: 289,
226936
226926
  column: 64
226937
226927
  }
226938
226928
  },
226939
- line: 290
226929
+ line: 289
226940
226930
  },
226941
226931
  "15": {
226942
226932
  name: "(anonymous_15)",
226943
226933
  decl: {
226944
226934
  start: {
226945
- line: 294,
226935
+ line: 293,
226946
226936
  column: 16
226947
226937
  },
226948
226938
  end: {
226949
- line: 294,
226939
+ line: 293,
226950
226940
  column: 17
226951
226941
  }
226952
226942
  },
226953
226943
  loc: {
226954
226944
  start: {
226955
- line: 294,
226945
+ line: 293,
226956
226946
  column: 28
226957
226947
  },
226958
226948
  end: {
226959
- line: 304,
226949
+ line: 303,
226960
226950
  column: 11
226961
226951
  }
226962
226952
  },
226963
- line: 294
226953
+ line: 293
226964
226954
  },
226965
226955
  "16": {
226966
226956
  name: "(anonymous_16)",
226967
226957
  decl: {
226968
226958
  start: {
226969
- line: 305,
226959
+ line: 304,
226970
226960
  column: 17
226971
226961
  },
226972
226962
  end: {
226973
- line: 305,
226963
+ line: 304,
226974
226964
  column: 18
226975
226965
  }
226976
226966
  },
226977
226967
  loc: {
226978
226968
  start: {
226979
- line: 305,
226969
+ line: 304,
226980
226970
  column: 26
226981
226971
  },
226982
226972
  end: {
226983
- line: 312,
226973
+ line: 311,
226984
226974
  column: 11
226985
226975
  }
226986
226976
  },
226987
- line: 305
226977
+ line: 304
226988
226978
  }
226989
226979
  },
226990
226980
  branchMap: {
@@ -227222,68 +227212,68 @@ var cov_2q2n13agp2 = function () {
227222
227212
  "7": {
227223
227213
  loc: {
227224
227214
  start: {
227225
- line: 292,
227215
+ line: 291,
227226
227216
  column: 6
227227
227217
  },
227228
227218
  end: {
227229
- line: 313,
227219
+ line: 312,
227230
227220
  column: 7
227231
227221
  }
227232
227222
  },
227233
227223
  type: "if",
227234
227224
  locations: [{
227235
227225
  start: {
227236
- line: 292,
227226
+ line: 291,
227237
227227
  column: 6
227238
227228
  },
227239
227229
  end: {
227240
- line: 313,
227230
+ line: 312,
227241
227231
  column: 7
227242
227232
  }
227243
227233
  }, {
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
- line: 292
227243
+ line: 291
227254
227244
  },
227255
227245
  "8": {
227256
227246
  loc: {
227257
227247
  start: {
227258
- line: 306,
227248
+ line: 305,
227259
227249
  column: 12
227260
227250
  },
227261
227251
  end: {
227262
- line: 311,
227252
+ line: 310,
227263
227253
  column: 13
227264
227254
  }
227265
227255
  },
227266
227256
  type: "if",
227267
227257
  locations: [{
227268
227258
  start: {
227269
- line: 306,
227259
+ line: 305,
227270
227260
  column: 12
227271
227261
  },
227272
227262
  end: {
227273
- line: 311,
227263
+ line: 310,
227274
227264
  column: 13
227275
227265
  }
227276
227266
  }, {
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
- line: 306
227276
+ line: 305
227287
227277
  }
227288
227278
  },
227289
227279
  s: {
@@ -227332,8 +227322,7 @@ var cov_2q2n13agp2 = function () {
227332
227322
  "42": 0,
227333
227323
  "43": 0,
227334
227324
  "44": 0,
227335
- "45": 0,
227336
- "46": 0
227325
+ "45": 0
227337
227326
  },
227338
227327
  f: {
227339
227328
  "0": 0,
@@ -227369,13 +227358,13 @@ var cov_2q2n13agp2 = function () {
227369
227358
  version: 3,
227370
227359
  sources: ["NewProjectModal.vue"],
227371
227360
  names: [],
227372
- 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",
227361
+ 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",
227373
227362
  file: "NewProjectModal.vue",
227374
227363
  sourceRoot: "src/components/projects",
227375
- 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"]
227364
+ 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"]
227376
227365
  },
227377
227366
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
227378
- hash: "59819bdd4a6ee9b4fa2955075f54f43083d53882"
227367
+ hash: "9065b65484d9dda2d79190551ed5f04b8da2c2ab"
227379
227368
  };
227380
227369
  var coverage = global[gcv] || (global[gcv] = {});
227381
227370
 
@@ -227768,15 +227757,13 @@ function NewProjectModalvue_type_script_lang_js_asyncToGenerator(fn) { return fu
227768
227757
  updateValue: function updateValue(data) {
227769
227758
  cov_2q2n13agp2.f[11]++;
227770
227759
  cov_2q2n13agp2.s[30]++;
227771
- console.log(data);
227772
- cov_2q2n13agp2.s[31]++;
227773
227760
  this.project = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.project), data);
227774
227761
  },
227775
227762
  updateSharing: function updateSharing(data) {
227776
227763
  cov_2q2n13agp2.f[12]++;
227777
- cov_2q2n13agp2.s[32]++;
227764
+ cov_2q2n13agp2.s[31]++;
227778
227765
  this.sharing = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.sharing), data);
227779
- cov_2q2n13agp2.s[33]++;
227766
+ cov_2q2n13agp2.s[32]++;
227780
227767
  this.project = NewProjectModalvue_type_script_lang_js_objectSpread(NewProjectModalvue_type_script_lang_js_objectSpread({}, this.project), {}, {
227781
227768
  sharing: Object(helpers["n" /* snakifyKeys */])(this.sharing)
227782
227769
  });
@@ -227790,48 +227777,48 @@ function NewProjectModalvue_type_script_lang_js_asyncToGenerator(fn) { return fu
227790
227777
  switch (_context2.prev = _context2.next) {
227791
227778
  case 0:
227792
227779
  cov_2q2n13agp2.f[13]++;
227793
- cov_2q2n13agp2.s[34]++;
227780
+ cov_2q2n13agp2.s[33]++;
227794
227781
  this.formHasErrors = false;
227795
- cov_2q2n13agp2.s[35]++;
227782
+ cov_2q2n13agp2.s[34]++;
227796
227783
  this.attachFieldRefs();
227797
- cov_2q2n13agp2.s[36]++;
227784
+ cov_2q2n13agp2.s[35]++;
227798
227785
  Object.values(this.refs).forEach(function (ref) {
227799
227786
  cov_2q2n13agp2.f[14]++;
227800
- cov_2q2n13agp2.s[37]++;
227787
+ cov_2q2n13agp2.s[36]++;
227801
227788
  return ref.validate(true);
227802
227789
  });
227803
- cov_2q2n13agp2.s[38]++;
227790
+ cov_2q2n13agp2.s[37]++;
227804
227791
 
227805
227792
  if (!this.formHasErrors) {
227806
227793
  cov_2q2n13agp2.b[7][0]++;
227807
- cov_2q2n13agp2.s[39]++;
227794
+ cov_2q2n13agp2.s[38]++;
227808
227795
  createRecord('projects', this.project).then(function (response) {
227809
227796
  cov_2q2n13agp2.f[15]++;
227810
- var projectId = (cov_2q2n13agp2.s[40]++, _this2.$get(response, 'pk', ''));
227811
- cov_2q2n13agp2.s[41]++;
227797
+ var projectId = (cov_2q2n13agp2.s[39]++, _this2.$get(response, 'pk', ''));
227798
+ cov_2q2n13agp2.s[40]++;
227812
227799
 
227813
227800
  _this2.$store.dispatch(SHOW_ALERT, {
227814
227801
  message: "Project ".concat(projectId, " was succesfully created.")
227815
227802
  });
227816
227803
 
227817
- cov_2q2n13agp2.s[42]++;
227804
+ cov_2q2n13agp2.s[41]++;
227818
227805
 
227819
227806
  _this2.$store.dispatch(SHOW_PANEL, {
227820
227807
  project: projectId
227821
227808
  });
227822
227809
 
227823
- cov_2q2n13agp2.s[43]++;
227810
+ cov_2q2n13agp2.s[42]++;
227824
227811
 
227825
227812
  _this2.closeModal();
227826
227813
  }).catch(function (error) {
227827
227814
  cov_2q2n13agp2.f[16]++;
227828
- cov_2q2n13agp2.s[44]++;
227815
+ cov_2q2n13agp2.s[43]++;
227829
227816
 
227830
227817
  if (error.response) {
227831
227818
  cov_2q2n13agp2.b[8][0]++;
227832
- cov_2q2n13agp2.s[45]++;
227819
+ cov_2q2n13agp2.s[44]++;
227833
227820
  _this2.errorMessages = error.response.data;
227834
- cov_2q2n13agp2.s[46]++;
227821
+ cov_2q2n13agp2.s[45]++;
227835
227822
 
227836
227823
  _this2.$store.dispatch(SHOW_ALERT, {
227837
227824
  error: 'The project could not be created. Please try again.'
@@ -227876,8 +227863,8 @@ var NewProjectModalvue_type_style_index_0_lang_scss_ = __webpack_require__("9434
227876
227863
 
227877
227864
  var NewProjectModal_component = normalizeComponent(
227878
227865
  projects_NewProjectModalvue_type_script_lang_js_,
227879
- NewProjectModalvue_type_template_id_9dcdd18a_render,
227880
- NewProjectModalvue_type_template_id_9dcdd18a_staticRenderFns,
227866
+ NewProjectModalvue_type_template_id_8db07d96_render,
227867
+ NewProjectModalvue_type_template_id_8db07d96_staticRenderFns,
227881
227868
  false,
227882
227869
  null,
227883
227870
  null,
@@ -266871,28 +266858,32 @@ var HomeSearch_component = normalizeComponent(
266871
266858
  )
266872
266859
 
266873
266860
  /* harmony default export */ var HomeSearch = (HomeSearch_component.exports);
266874
- // 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&
266875
- 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){
266861
+ // 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&
266862
+ 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){
266876
266863
  var hover = ref.hover;
266877
266864
  return [_c('v-tooltip',{attrs:{"top":""},scopedSlots:_vm._u([{key:"activator",fn:function(ref){
266878
266865
  var on = ref.on;
266879
266866
  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
266880
- _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){
266881
- var on = ref.on;
266867
+ _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:(
266868
+ _vm.$get(_vm.project, 'sharing', false) && (
266869
+ !_vm.$get(_vm.project, 'sharing.is_public', false) || _vm.$canShareProject(_vm.project)
266870
+ )
266871
+ ),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){
266872
+ var on = ref.on;
266882
266873
  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){
266883
- var on = ref.on;
266874
+ var on = ref.on;
266884
266875
  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){
266885
- var on = ref.on;
266876
+ var on = ref.on;
266886
266877
  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":[
266887
266878
  'Target Experiments',
266888
266879
  'Reference Experiments',
266889
266880
  'Projects',
266890
266881
  'Linked Analyses'
266891
266882
  ],"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}])})}
266892
- var ProjectPanelvue_type_template_id_037ff296_staticRenderFns = []
266883
+ var ProjectPanelvue_type_template_id_c79ead1c_staticRenderFns = []
266893
266884
 
266894
266885
 
266895
- // CONCATENATED MODULE: ./src/components/projects/ProjectPanel.vue?vue&type=template&id=037ff296&
266886
+ // CONCATENATED MODULE: ./src/components/projects/ProjectPanel.vue?vue&type=template&id=c79ead1c&
266896
266887
 
266897
266888
  // 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&
266898
266889
  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)}
@@ -298972,7 +298963,7 @@ var graphs_experimentFigures = function experimentFigures() {
298972
298963
  // 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&
298973
298964
  var cov_1xfylelwja = function () {
298974
298965
  var path = "/Users/arangooj/papaemme/isabl_web/src/components/projects/ProjectPanel.vue";
298975
- var hash = "1e22e790071acd7bfbdf163062b392d0ac39bb05";
298966
+ var hash = "6089d7320d2d7d63cef3b1d2121845b4a705585f";
298976
298967
  var global = new Function("return this")();
298977
298968
  var gcv = "__coverage__";
298978
298969
  var coverageData = {
@@ -298980,361 +298971,361 @@ var cov_1xfylelwja = function () {
298980
298971
  statementMap: {
298981
298972
  "0": {
298982
298973
  start: {
298983
- line: 407,
298974
+ line: 411,
298984
298975
  column: 4
298985
298976
  },
298986
298977
  end: {
298987
- line: 426,
298978
+ line: 430,
298988
298979
  column: 5
298989
298980
  }
298990
298981
  },
298991
298982
  "1": {
298992
298983
  start: {
298993
- line: 434,
298984
+ line: 438,
298994
298985
  column: 6
298995
298986
  },
298996
298987
  end: {
298997
- line: 434,
298988
+ line: 438,
298998
298989
  column: 45
298999
298990
  }
299000
298991
  },
299001
298992
  "2": {
299002
298993
  start: {
299003
- line: 437,
298994
+ line: 441,
299004
298995
  column: 6
299005
298996
  },
299006
298997
  end: {
299007
- line: 437,
298998
+ line: 441,
299008
298999
  column: 73
299009
299000
  }
299010
299001
  },
299011
299002
  "3": {
299012
299003
  start: {
299013
- line: 440,
299004
+ line: 444,
299014
299005
  column: 6
299015
299006
  },
299016
299007
  end: {
299017
- line: 440,
299008
+ line: 444,
299018
299009
  column: 55
299019
299010
  }
299020
299011
  },
299021
299012
  "4": {
299022
299013
  start: {
299023
- line: 443,
299014
+ line: 447,
299024
299015
  column: 24
299025
299016
  },
299026
299017
  end: {
299027
- line: 443,
299018
+ line: 447,
299028
299019
  column: 28
299029
299020
  }
299030
299021
  },
299031
299022
  "5": {
299032
299023
  start: {
299033
- line: 444,
299024
+ line: 448,
299034
299025
  column: 19
299035
299026
  },
299036
299027
  end: {
299037
- line: 444,
299028
+ line: 448,
299038
299029
  column: 21
299039
299030
  }
299040
299031
  },
299041
299032
  "6": {
299042
299033
  start: {
299043
- line: 445,
299034
+ line: 449,
299044
299035
  column: 19
299045
299036
  },
299046
299037
  end: {
299047
- line: 445,
299038
+ line: 449,
299048
299039
  column: 69
299049
299040
  }
299050
299041
  },
299051
299042
  "7": {
299052
299043
  start: {
299053
- line: 446,
299044
+ line: 450,
299054
299045
  column: 6
299055
299046
  },
299056
299047
  end: {
299057
- line: 452,
299048
+ line: 456,
299058
299049
  column: 8
299059
299050
  }
299060
299051
  },
299061
299052
  "8": {
299062
299053
  start: {
299063
- line: 447,
299054
+ line: 451,
299064
299055
  column: 8
299065
299056
  },
299066
299057
  end: {
299067
- line: 451,
299058
+ line: 455,
299068
299059
  column: 9
299069
299060
  }
299070
299061
  },
299071
299062
  "9": {
299072
299063
  start: {
299073
- line: 448,
299064
+ line: 452,
299074
299065
  column: 10
299075
299066
  },
299076
299067
  end: {
299077
- line: 450,
299068
+ line: 454,
299078
299069
  column: 12
299079
299070
  }
299080
299071
  },
299081
299072
  "10": {
299082
299073
  start: {
299083
- line: 449,
299074
+ line: 453,
299084
299075
  column: 12
299085
299076
  },
299086
299077
  end: {
299087
- line: 449,
299078
+ line: 453,
299088
299079
  column: 63
299089
299080
  }
299090
299081
  },
299091
299082
  "11": {
299092
299083
  start: {
299093
- line: 453,
299084
+ line: 457,
299094
299085
  column: 6
299095
299086
  },
299096
299087
  end: {
299097
- line: 453,
299088
+ line: 457,
299098
299089
  column: 31
299099
299090
  }
299100
299091
  },
299101
299092
  "12": {
299102
299093
  start: {
299103
- line: 456,
299094
+ line: 460,
299104
299095
  column: 6
299105
299096
  },
299106
299097
  end: {
299107
- line: 456,
299098
+ line: 460,
299108
299099
  column: 66
299109
299100
  }
299110
299101
  },
299111
299102
  "13": {
299112
299103
  start: {
299113
- line: 459,
299104
+ line: 463,
299114
299105
  column: 6
299115
299106
  },
299116
299107
  end: {
299117
- line: 459,
299108
+ line: 463,
299118
299109
  column: 40
299119
299110
  }
299120
299111
  },
299121
299112
  "14": {
299122
299113
  start: {
299123
- line: 462,
299114
+ line: 466,
299124
299115
  column: 6
299125
299116
  },
299126
299117
  end: {
299127
- line: 467,
299118
+ line: 471,
299128
299119
  column: 7
299129
299120
  }
299130
299121
  },
299131
299122
  "15": {
299132
299123
  start: {
299133
- line: 472,
299124
+ line: 476,
299134
299125
  column: 6
299135
299126
  },
299136
299127
  end: {
299137
- line: 472,
299128
+ line: 476,
299138
299129
  column: 25
299139
299130
  }
299140
299131
  },
299141
299132
  "16": {
299142
299133
  start: {
299143
- line: 475,
299134
+ line: 479,
299144
299135
  column: 6
299145
299136
  },
299146
299137
  end: {
299147
- line: 477,
299138
+ line: 481,
299148
299139
  column: 8
299149
299140
  }
299150
299141
  },
299151
299142
  "17": {
299152
299143
  start: {
299153
- line: 478,
299144
+ line: 482,
299154
299145
  column: 6
299155
299146
  },
299156
299147
  end: {
299157
- line: 478,
299148
+ line: 482,
299158
299149
  column: 26
299159
299150
  }
299160
299151
  },
299161
299152
  "18": {
299162
299153
  start: {
299163
- line: 482,
299154
+ line: 486,
299164
299155
  column: 4
299165
299156
  },
299166
299157
  end: {
299167
- line: 482,
299158
+ line: 486,
299168
299159
  column: 23
299169
299160
  }
299170
299161
  },
299171
299162
  "19": {
299172
299163
  start: {
299173
- line: 486,
299164
+ line: 490,
299174
299165
  column: 6
299175
299166
  },
299176
299167
  end: {
299177
- line: 488,
299168
+ line: 492,
299178
299169
  column: 8
299179
299170
  }
299180
299171
  },
299181
299172
  "20": {
299182
299173
  start: {
299183
- line: 489,
299174
+ line: 493,
299184
299175
  column: 6
299185
299176
  },
299186
299177
  end: {
299187
- line: 493,
299178
+ line: 497,
299188
299179
  column: 8
299189
299180
  }
299190
299181
  },
299191
299182
  "21": {
299192
299183
  start: {
299193
- line: 496,
299184
+ line: 500,
299194
299185
  column: 6
299195
299186
  },
299196
299187
  end: {
299197
- line: 496,
299188
+ line: 500,
299198
299189
  column: 33
299199
299190
  }
299200
299191
  },
299201
299192
  "22": {
299202
299193
  start: {
299203
- line: 499,
299194
+ line: 503,
299204
299195
  column: 6
299205
299196
  },
299206
299197
  end: {
299207
- line: 499,
299198
+ line: 503,
299208
299199
  column: 40
299209
299200
  }
299210
299201
  },
299211
299202
  "23": {
299212
299203
  start: {
299213
- line: 500,
299204
+ line: 504,
299214
299205
  column: 6
299215
299206
  },
299216
299207
  end: {
299217
- line: 500,
299208
+ line: 504,
299218
299209
  column: 31
299219
299210
  }
299220
299211
  },
299221
299212
  "24": {
299222
299213
  start: {
299223
- line: 503,
299214
+ line: 507,
299224
299215
  column: 6
299225
299216
  },
299226
299217
  end: {
299227
- line: 503,
299218
+ line: 507,
299228
299219
  column: 70
299229
299220
  }
299230
299221
  },
299231
299222
  "25": {
299232
299223
  start: {
299233
- line: 506,
299224
+ line: 510,
299234
299225
  column: 6
299235
299226
  },
299236
299227
  end: {
299237
- line: 506,
299228
+ line: 510,
299238
299229
  column: 46
299239
299230
  }
299240
299231
  },
299241
299232
  "26": {
299242
299233
  start: {
299243
- line: 509,
299234
+ line: 513,
299244
299235
  column: 6
299245
299236
  },
299246
299237
  end: {
299247
- line: 509,
299238
+ line: 513,
299248
299239
  column: 60
299249
299240
  }
299250
299241
  },
299251
299242
  "27": {
299252
299243
  start: {
299253
- line: 512,
299244
+ line: 516,
299254
299245
  column: 6
299255
299246
  },
299256
299247
  end: {
299257
- line: 517,
299248
+ line: 521,
299258
299249
  column: 7
299259
299250
  }
299260
299251
  },
299261
299252
  "28": {
299262
299253
  start: {
299263
- line: 520,
299254
+ line: 524,
299264
299255
  column: 6
299265
299256
  },
299266
299257
  end: {
299267
- line: 520,
299258
+ line: 524,
299268
299259
  column: 56
299269
299260
  }
299270
299261
  },
299271
299262
  "29": {
299272
299263
  start: {
299273
- line: 523,
299264
+ line: 527,
299274
299265
  column: 6
299275
299266
  },
299276
299267
  end: {
299277
- line: 528,
299268
+ line: 532,
299278
299269
  column: 7
299279
299270
  }
299280
299271
  },
299281
299272
  "30": {
299282
299273
  start: {
299283
- line: 532,
299274
+ line: 536,
299284
299275
  column: 6
299285
299276
  },
299286
299277
  end: {
299287
- line: 534,
299278
+ line: 538,
299288
299279
  column: 8
299289
299280
  }
299290
299281
  },
299291
299282
  "31": {
299292
299283
  start: {
299293
- line: 537,
299284
+ line: 541,
299294
299285
  column: 6
299295
299286
  },
299296
299287
  end: {
299297
- line: 552,
299288
+ line: 556,
299298
299289
  column: 9
299299
299290
  }
299300
299291
  },
299301
299292
  "32": {
299302
299293
  start: {
299303
- line: 538,
299294
+ line: 542,
299304
299295
  column: 24
299305
299296
  },
299306
299297
  end: {
299307
- line: 541,
299298
+ line: 545,
299308
299299
  column: 9
299309
299300
  }
299310
299301
  },
299311
299302
  "33": {
299312
299303
  start: {
299313
- line: 543,
299304
+ line: 547,
299314
299305
  column: 8
299315
299306
  },
299316
299307
  end: {
299317
- line: 551,
299308
+ line: 555,
299318
299309
  column: 12
299319
299310
  }
299320
299311
  },
299321
299312
  "34": {
299322
299313
  start: {
299323
- line: 545,
299314
+ line: 549,
299324
299315
  column: 12
299325
299316
  },
299326
299317
  end: {
299327
- line: 545,
299318
+ line: 549,
299328
299319
  column: 35
299329
299320
  }
299330
299321
  },
299331
299322
  "35": {
299332
299323
  start: {
299333
- line: 548,
299324
+ line: 552,
299334
299325
  column: 12
299335
299326
  },
299336
299327
  end: {
299337
- line: 550,
299328
+ line: 554,
299338
299329
  column: 14
299339
299330
  }
299340
299331
  }
@@ -299344,744 +299335,744 @@ var cov_1xfylelwja = function () {
299344
299335
  name: "(anonymous_0)",
299345
299336
  decl: {
299346
299337
  start: {
299347
- line: 406,
299338
+ line: 410,
299348
299339
  column: 2
299349
299340
  },
299350
299341
  end: {
299351
- line: 406,
299342
+ line: 410,
299352
299343
  column: 3
299353
299344
  }
299354
299345
  },
299355
299346
  loc: {
299356
299347
  start: {
299357
- line: 406,
299348
+ line: 410,
299358
299349
  column: 9
299359
299350
  },
299360
299351
  end: {
299361
- line: 427,
299352
+ line: 431,
299362
299353
  column: 3
299363
299354
  }
299364
299355
  },
299365
- line: 406
299356
+ line: 410
299366
299357
  },
299367
299358
  "1": {
299368
299359
  name: "(anonymous_1)",
299369
299360
  decl: {
299370
299361
  start: {
299371
- line: 433,
299362
+ line: 437,
299372
299363
  column: 4
299373
299364
  },
299374
299365
  end: {
299375
- line: 433,
299366
+ line: 437,
299376
299367
  column: 5
299377
299368
  }
299378
299369
  },
299379
299370
  loc: {
299380
299371
  start: {
299381
- line: 433,
299372
+ line: 437,
299382
299373
  column: 13
299383
299374
  },
299384
299375
  end: {
299385
- line: 435,
299376
+ line: 439,
299386
299377
  column: 5
299387
299378
  }
299388
299379
  },
299389
- line: 433
299380
+ line: 437
299390
299381
  },
299391
299382
  "2": {
299392
299383
  name: "(anonymous_2)",
299393
299384
  decl: {
299394
299385
  start: {
299395
- line: 436,
299386
+ line: 440,
299396
299387
  column: 4
299397
299388
  },
299398
299389
  end: {
299399
- line: 436,
299390
+ line: 440,
299400
299391
  column: 5
299401
299392
  }
299402
299393
  },
299403
299394
  loc: {
299404
299395
  start: {
299405
- line: 436,
299396
+ line: 440,
299406
299397
  column: 24
299407
299398
  },
299408
299399
  end: {
299409
- line: 438,
299400
+ line: 442,
299410
299401
  column: 5
299411
299402
  }
299412
299403
  },
299413
- line: 436
299404
+ line: 440
299414
299405
  },
299415
299406
  "3": {
299416
299407
  name: "(anonymous_3)",
299417
299408
  decl: {
299418
299409
  start: {
299419
- line: 439,
299410
+ line: 443,
299420
299411
  column: 4
299421
299412
  },
299422
299413
  end: {
299423
- line: 439,
299414
+ line: 443,
299424
299415
  column: 5
299425
299416
  }
299426
299417
  },
299427
299418
  loc: {
299428
299419
  start: {
299429
- line: 439,
299420
+ line: 443,
299430
299421
  column: 33
299431
299422
  },
299432
299423
  end: {
299433
- line: 441,
299424
+ line: 445,
299434
299425
  column: 5
299435
299426
  }
299436
299427
  },
299437
- line: 439
299428
+ line: 443
299438
299429
  },
299439
299430
  "4": {
299440
299431
  name: "(anonymous_4)",
299441
299432
  decl: {
299442
299433
  start: {
299443
- line: 442,
299434
+ line: 446,
299444
299435
  column: 4
299445
299436
  },
299446
299437
  end: {
299447
- line: 442,
299438
+ line: 446,
299448
299439
  column: 5
299449
299440
  }
299450
299441
  },
299451
299442
  loc: {
299452
299443
  start: {
299453
- line: 442,
299444
+ line: 446,
299454
299445
  column: 21
299455
299446
  },
299456
299447
  end: {
299457
- line: 454,
299448
+ line: 458,
299458
299449
  column: 5
299459
299450
  }
299460
299451
  },
299461
- line: 442
299452
+ line: 446
299462
299453
  },
299463
299454
  "5": {
299464
299455
  name: "(anonymous_5)",
299465
299456
  decl: {
299466
299457
  start: {
299467
- line: 446,
299458
+ line: 450,
299468
299459
  column: 19
299469
299460
  },
299470
299461
  end: {
299471
- line: 446,
299462
+ line: 450,
299472
299463
  column: 20
299473
299464
  }
299474
299465
  },
299475
299466
  loc: {
299476
299467
  start: {
299477
- line: 446,
299468
+ line: 450,
299478
299469
  column: 28
299479
299470
  },
299480
299471
  end: {
299481
- line: 452,
299472
+ line: 456,
299482
299473
  column: 7
299483
299474
  }
299484
299475
  },
299485
- line: 446
299476
+ line: 450
299486
299477
  },
299487
299478
  "6": {
299488
299479
  name: "(anonymous_6)",
299489
299480
  decl: {
299490
299481
  start: {
299491
- line: 448,
299482
+ line: 452,
299492
299483
  column: 49
299493
299484
  },
299494
299485
  end: {
299495
- line: 448,
299486
+ line: 452,
299496
299487
  column: 50
299497
299488
  }
299498
299489
  },
299499
299490
  loc: {
299500
299491
  start: {
299501
- line: 448,
299492
+ line: 452,
299502
299493
  column: 60
299503
299494
  },
299504
299495
  end: {
299505
- line: 450,
299496
+ line: 454,
299506
299497
  column: 11
299507
299498
  }
299508
299499
  },
299509
- line: 448
299500
+ line: 452
299510
299501
  },
299511
299502
  "7": {
299512
299503
  name: "(anonymous_7)",
299513
299504
  decl: {
299514
299505
  start: {
299515
- line: 455,
299506
+ line: 459,
299516
299507
  column: 4
299517
299508
  },
299518
299509
  end: {
299519
- line: 455,
299510
+ line: 459,
299520
299511
  column: 5
299521
299512
  }
299522
299513
  },
299523
299514
  loc: {
299524
299515
  start: {
299525
- line: 455,
299516
+ line: 459,
299526
299517
  column: 23
299527
299518
  },
299528
299519
  end: {
299529
- line: 457,
299520
+ line: 461,
299530
299521
  column: 5
299531
299522
  }
299532
299523
  },
299533
- line: 455
299524
+ line: 459
299534
299525
  },
299535
299526
  "8": {
299536
299527
  name: "(anonymous_8)",
299537
299528
  decl: {
299538
299529
  start: {
299539
- line: 458,
299530
+ line: 462,
299540
299531
  column: 4
299541
299532
  },
299542
299533
  end: {
299543
- line: 458,
299534
+ line: 462,
299544
299535
  column: 5
299545
299536
  }
299546
299537
  },
299547
299538
  loc: {
299548
299539
  start: {
299549
- line: 458,
299540
+ line: 462,
299550
299541
  column: 14
299551
299542
  },
299552
299543
  end: {
299553
- line: 460,
299544
+ line: 464,
299554
299545
  column: 5
299555
299546
  }
299556
299547
  },
299557
- line: 458
299548
+ line: 462
299558
299549
  },
299559
299550
  "9": {
299560
299551
  name: "(anonymous_9)",
299561
299552
  decl: {
299562
299553
  start: {
299563
- line: 461,
299554
+ line: 465,
299564
299555
  column: 4
299565
299556
  },
299566
299557
  end: {
299567
- line: 461,
299558
+ line: 465,
299568
299559
  column: 5
299569
299560
  }
299570
299561
  },
299571
299562
  loc: {
299572
299563
  start: {
299573
- line: 461,
299564
+ line: 465,
299574
299565
  column: 19
299575
299566
  },
299576
299567
  end: {
299577
- line: 468,
299568
+ line: 472,
299578
299569
  column: 5
299579
299570
  }
299580
299571
  },
299581
- line: 461
299572
+ line: 465
299582
299573
  },
299583
299574
  "10": {
299584
299575
  name: "(anonymous_10)",
299585
299576
  decl: {
299586
299577
  start: {
299587
- line: 471,
299578
+ line: 475,
299588
299579
  column: 4
299589
299580
  },
299590
299581
  end: {
299591
- line: 471,
299582
+ line: 475,
299592
299583
  column: 5
299593
299584
  }
299594
299585
  },
299595
299586
  loc: {
299596
299587
  start: {
299597
- line: 471,
299588
+ line: 475,
299598
299589
  column: 16
299599
299590
  },
299600
299591
  end: {
299601
- line: 473,
299592
+ line: 477,
299602
299593
  column: 5
299603
299594
  }
299604
299595
  },
299605
- line: 471
299596
+ line: 475
299606
299597
  },
299607
299598
  "11": {
299608
299599
  name: "(anonymous_11)",
299609
299600
  decl: {
299610
299601
  start: {
299611
- line: 474,
299602
+ line: 478,
299612
299603
  column: 4
299613
299604
  },
299614
299605
  end: {
299615
- line: 474,
299606
+ line: 478,
299616
299607
  column: 5
299617
299608
  }
299618
299609
  },
299619
299610
  loc: {
299620
299611
  start: {
299621
- line: 474,
299612
+ line: 478,
299622
299613
  column: 19
299623
299614
  },
299624
299615
  end: {
299625
- line: 479,
299616
+ line: 483,
299626
299617
  column: 5
299627
299618
  }
299628
299619
  },
299629
- line: 474
299620
+ line: 478
299630
299621
  },
299631
299622
  "12": {
299632
299623
  name: "(anonymous_12)",
299633
299624
  decl: {
299634
299625
  start: {
299635
- line: 481,
299626
+ line: 485,
299636
299627
  column: 2
299637
299628
  },
299638
299629
  end: {
299639
- line: 481,
299630
+ line: 485,
299640
299631
  column: 3
299641
299632
  }
299642
299633
  },
299643
299634
  loc: {
299644
299635
  start: {
299645
- line: 481,
299636
+ line: 485,
299646
299637
  column: 12
299647
299638
  },
299648
299639
  end: {
299649
- line: 483,
299640
+ line: 487,
299650
299641
  column: 3
299651
299642
  }
299652
299643
  },
299653
- line: 481
299644
+ line: 485
299654
299645
  },
299655
299646
  "13": {
299656
299647
  name: "(anonymous_13)",
299657
299648
  decl: {
299658
299649
  start: {
299659
- line: 485,
299650
+ line: 489,
299660
299651
  column: 4
299661
299652
  },
299662
299653
  end: {
299663
- line: 485,
299654
+ line: 489,
299664
299655
  column: 5
299665
299656
  }
299666
299657
  },
299667
299658
  loc: {
299668
299659
  start: {
299669
- line: 485,
299660
+ line: 489,
299670
299661
  column: 26
299671
299662
  },
299672
299663
  end: {
299673
- line: 494,
299664
+ line: 498,
299674
299665
  column: 5
299675
299666
  }
299676
299667
  },
299677
- line: 485
299668
+ line: 489
299678
299669
  },
299679
299670
  "14": {
299680
299671
  name: "(anonymous_14)",
299681
299672
  decl: {
299682
299673
  start: {
299683
- line: 495,
299674
+ line: 499,
299684
299675
  column: 4
299685
299676
  },
299686
299677
  end: {
299687
- line: 495,
299678
+ line: 499,
299688
299679
  column: 5
299689
299680
  }
299690
299681
  },
299691
299682
  loc: {
299692
299683
  start: {
299693
- line: 495,
299684
+ line: 499,
299694
299685
  column: 19
299695
299686
  },
299696
299687
  end: {
299697
- line: 497,
299688
+ line: 501,
299698
299689
  column: 5
299699
299690
  }
299700
299691
  },
299701
- line: 495
299692
+ line: 499
299702
299693
  },
299703
299694
  "15": {
299704
299695
  name: "(anonymous_15)",
299705
299696
  decl: {
299706
299697
  start: {
299707
- line: 498,
299698
+ line: 502,
299708
299699
  column: 4
299709
299700
  },
299710
299701
  end: {
299711
- line: 498,
299702
+ line: 502,
299712
299703
  column: 5
299713
299704
  }
299714
299705
  },
299715
299706
  loc: {
299716
299707
  start: {
299717
- line: 498,
299708
+ line: 502,
299718
299709
  column: 22
299719
299710
  },
299720
299711
  end: {
299721
- line: 501,
299712
+ line: 505,
299722
299713
  column: 5
299723
299714
  }
299724
299715
  },
299725
- line: 498
299716
+ line: 502
299726
299717
  },
299727
299718
  "16": {
299728
299719
  name: "(anonymous_16)",
299729
299720
  decl: {
299730
299721
  start: {
299731
- line: 502,
299722
+ line: 506,
299732
299723
  column: 4
299733
299724
  },
299734
299725
  end: {
299735
- line: 502,
299726
+ line: 506,
299736
299727
  column: 5
299737
299728
  }
299738
299729
  },
299739
299730
  loc: {
299740
299731
  start: {
299741
- line: 502,
299732
+ line: 506,
299742
299733
  column: 23
299743
299734
  },
299744
299735
  end: {
299745
- line: 504,
299736
+ line: 508,
299746
299737
  column: 5
299747
299738
  }
299748
299739
  },
299749
- line: 502
299740
+ line: 506
299750
299741
  },
299751
299742
  "17": {
299752
299743
  name: "(anonymous_17)",
299753
299744
  decl: {
299754
299745
  start: {
299755
- line: 505,
299746
+ line: 509,
299756
299747
  column: 4
299757
299748
  },
299758
299749
  end: {
299759
- line: 505,
299750
+ line: 509,
299760
299751
  column: 5
299761
299752
  }
299762
299753
  },
299763
299754
  loc: {
299764
299755
  start: {
299765
- line: 505,
299756
+ line: 509,
299766
299757
  column: 23
299767
299758
  },
299768
299759
  end: {
299769
- line: 507,
299760
+ line: 511,
299770
299761
  column: 5
299771
299762
  }
299772
299763
  },
299773
- line: 505
299764
+ line: 509
299774
299765
  },
299775
299766
  "18": {
299776
299767
  name: "(anonymous_18)",
299777
299768
  decl: {
299778
299769
  start: {
299779
- line: 508,
299770
+ line: 512,
299780
299771
  column: 4
299781
299772
  },
299782
299773
  end: {
299783
- line: 508,
299774
+ line: 512,
299784
299775
  column: 5
299785
299776
  }
299786
299777
  },
299787
299778
  loc: {
299788
299779
  start: {
299789
- line: 508,
299780
+ line: 512,
299790
299781
  column: 28
299791
299782
  },
299792
299783
  end: {
299793
- line: 518,
299784
+ line: 522,
299794
299785
  column: 5
299795
299786
  }
299796
299787
  },
299797
- line: 508
299788
+ line: 512
299798
299789
  },
299799
299790
  "19": {
299800
299791
  name: "(anonymous_19)",
299801
299792
  decl: {
299802
299793
  start: {
299803
- line: 519,
299794
+ line: 523,
299804
299795
  column: 4
299805
299796
  },
299806
299797
  end: {
299807
- line: 519,
299798
+ line: 523,
299808
299799
  column: 5
299809
299800
  }
299810
299801
  },
299811
299802
  loc: {
299812
299803
  start: {
299813
- line: 519,
299804
+ line: 523,
299814
299805
  column: 25
299815
299806
  },
299816
299807
  end: {
299817
- line: 529,
299808
+ line: 533,
299818
299809
  column: 5
299819
299810
  }
299820
299811
  },
299821
- line: 519
299812
+ line: 523
299822
299813
  },
299823
299814
  "20": {
299824
299815
  name: "(anonymous_20)",
299825
299816
  decl: {
299826
299817
  start: {
299827
- line: 530,
299818
+ line: 534,
299828
299819
  column: 4
299829
299820
  },
299830
299821
  end: {
299831
- line: 530,
299822
+ line: 534,
299832
299823
  column: 5
299833
299824
  }
299834
299825
  },
299835
299826
  loc: {
299836
299827
  start: {
299837
- line: 530,
299828
+ line: 534,
299838
299829
  column: 21
299839
299830
  },
299840
299831
  end: {
299841
- line: 535,
299832
+ line: 539,
299842
299833
  column: 5
299843
299834
  }
299844
299835
  },
299845
- line: 530
299836
+ line: 534
299846
299837
  },
299847
299838
  "21": {
299848
299839
  name: "(anonymous_21)",
299849
299840
  decl: {
299850
299841
  start: {
299851
- line: 536,
299842
+ line: 540,
299852
299843
  column: 4
299853
299844
  },
299854
299845
  end: {
299855
- line: 536,
299846
+ line: 540,
299856
299847
  column: 5
299857
299848
  }
299858
299849
  },
299859
299850
  loc: {
299860
299851
  start: {
299861
- line: 536,
299852
+ line: 540,
299862
299853
  column: 30
299863
299854
  },
299864
299855
  end: {
299865
- line: 553,
299856
+ line: 557,
299866
299857
  column: 5
299867
299858
  }
299868
299859
  },
299869
- line: 536
299860
+ line: 540
299870
299861
  },
299871
299862
  "22": {
299872
299863
  name: "(anonymous_22)",
299873
299864
  decl: {
299874
299865
  start: {
299875
- line: 544,
299866
+ line: 548,
299876
299867
  column: 16
299877
299868
  },
299878
299869
  end: {
299879
- line: 544,
299870
+ line: 548,
299880
299871
  column: 17
299881
299872
  }
299882
299873
  },
299883
299874
  loc: {
299884
299875
  start: {
299885
- line: 544,
299876
+ line: 548,
299886
299877
  column: 28
299887
299878
  },
299888
299879
  end: {
299889
- line: 546,
299880
+ line: 550,
299890
299881
  column: 11
299891
299882
  }
299892
299883
  },
299893
- line: 544
299884
+ line: 548
299894
299885
  },
299895
299886
  "23": {
299896
299887
  name: "(anonymous_23)",
299897
299888
  decl: {
299898
299889
  start: {
299899
- line: 547,
299890
+ line: 551,
299900
299891
  column: 17
299901
299892
  },
299902
299893
  end: {
299903
- line: 547,
299894
+ line: 551,
299904
299895
  column: 18
299905
299896
  }
299906
299897
  },
299907
299898
  loc: {
299908
299899
  start: {
299909
- line: 547,
299900
+ line: 551,
299910
299901
  column: 28
299911
299902
  },
299912
299903
  end: {
299913
- line: 551,
299904
+ line: 555,
299914
299905
  column: 11
299915
299906
  }
299916
299907
  },
299917
- line: 547
299908
+ line: 551
299918
299909
  }
299919
299910
  },
299920
299911
  branchMap: {
299921
299912
  "0": {
299922
299913
  loc: {
299923
299914
  start: {
299924
- line: 447,
299915
+ line: 451,
299925
299916
  column: 8
299926
299917
  },
299927
299918
  end: {
299928
- line: 451,
299919
+ line: 455,
299929
299920
  column: 9
299930
299921
  }
299931
299922
  },
299932
299923
  type: "if",
299933
299924
  locations: [{
299934
299925
  start: {
299935
- line: 447,
299926
+ line: 451,
299936
299927
  column: 8
299937
299928
  },
299938
299929
  end: {
299939
- line: 451,
299930
+ line: 455,
299940
299931
  column: 9
299941
299932
  }
299942
299933
  }, {
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
- line: 447
299943
+ line: 451
299953
299944
  },
299954
299945
  "1": {
299955
299946
  loc: {
299956
299947
  start: {
299957
- line: 447,
299948
+ line: 451,
299958
299949
  column: 12
299959
299950
  },
299960
299951
  end: {
299961
- line: 447,
299952
+ line: 451,
299962
299953
  column: 52
299963
299954
  }
299964
299955
  },
299965
299956
  type: "binary-expr",
299966
299957
  locations: [{
299967
299958
  start: {
299968
- line: 447,
299959
+ line: 451,
299969
299960
  column: 12
299970
299961
  },
299971
299962
  end: {
299972
- line: 447,
299963
+ line: 451,
299973
299964
  column: 29
299974
299965
  }
299975
299966
  }, {
299976
299967
  start: {
299977
- line: 447,
299968
+ line: 451,
299978
299969
  column: 33
299979
299970
  },
299980
299971
  end: {
299981
- line: 447,
299972
+ line: 451,
299982
299973
  column: 52
299983
299974
  }
299984
299975
  }],
299985
- line: 447
299976
+ line: 451
299986
299977
  },
299987
299978
  "2": {
299988
299979
  loc: {
299989
299980
  start: {
299990
- line: 513,
299981
+ line: 517,
299991
299982
  column: 8
299992
299983
  },
299993
299984
  end: {
299994
- line: 515,
299985
+ line: 519,
299995
299986
  column: 39
299996
299987
  }
299997
299988
  },
299998
299989
  type: "cond-expr",
299999
299990
  locations: [{
300000
299991
  start: {
300001
- line: 514,
299992
+ line: 518,
300002
299993
  column: 12
300003
299994
  },
300004
299995
  end: {
300005
- line: 514,
299996
+ line: 518,
300006
299997
  column: 39
300007
299998
  }
300008
299999
  }, {
300009
300000
  start: {
300010
- line: 515,
300001
+ line: 519,
300011
300002
  column: 12
300012
300003
  },
300013
300004
  end: {
300014
- line: 515,
300005
+ line: 519,
300015
300006
  column: 39
300016
300007
  }
300017
300008
  }],
300018
- line: 513
300009
+ line: 517
300019
300010
  },
300020
300011
  "3": {
300021
300012
  loc: {
300022
300013
  start: {
300023
- line: 524,
300014
+ line: 528,
300024
300015
  column: 8
300025
300016
  },
300026
300017
  end: {
300027
- line: 526,
300018
+ line: 530,
300028
300019
  column: 39
300029
300020
  }
300030
300021
  },
300031
300022
  type: "cond-expr",
300032
300023
  locations: [{
300033
300024
  start: {
300034
- line: 525,
300025
+ line: 529,
300035
300026
  column: 12
300036
300027
  },
300037
300028
  end: {
300038
- line: 525,
300029
+ line: 529,
300039
300030
  column: 39
300040
300031
  }
300041
300032
  }, {
300042
300033
  start: {
300043
- line: 526,
300034
+ line: 530,
300044
300035
  column: 12
300045
300036
  },
300046
300037
  end: {
300047
- line: 526,
300038
+ line: 530,
300048
300039
  column: 39
300049
300040
  }
300050
300041
  }],
300051
- line: 524
300042
+ line: 528
300052
300043
  },
300053
300044
  "4": {
300054
300045
  loc: {
300055
300046
  start: {
300056
- line: 537,
300047
+ line: 541,
300057
300048
  column: 6
300058
300049
  },
300059
300050
  end: {
300060
- line: 552,
300051
+ line: 556,
300061
300052
  column: 9
300062
300053
  }
300063
300054
  },
300064
300055
  type: "if",
300065
300056
  locations: [{
300066
300057
  start: {
300067
- line: 537,
300058
+ line: 541,
300068
300059
  column: 6
300069
300060
  },
300070
300061
  end: {
300071
- line: 552,
300062
+ line: 556,
300072
300063
  column: 9
300073
300064
  }
300074
300065
  }, {
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
- line: 537
300075
+ line: 541
300085
300076
  }
300086
300077
  },
300087
300078
  s: {
@@ -300159,13 +300150,13 @@ var cov_1xfylelwja = function () {
300159
300150
  version: 3,
300160
300151
  sources: ["ProjectPanel.vue"],
300161
300152
  names: [],
300162
- 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",
300153
+ 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",
300163
300154
  file: "ProjectPanel.vue",
300164
300155
  sourceRoot: "src/components/projects",
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=\"!$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"]
300156
+ 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"]
300166
300157
  },
300167
300158
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
300168
- hash: "1e22e790071acd7bfbdf163062b392d0ac39bb05"
300159
+ hash: "6089d7320d2d7d63cef3b1d2121845b4a705585f"
300169
300160
  };
300170
300161
  var coverage = global[gcv] || (global[gcv] = {});
300171
300162
 
@@ -300552,6 +300543,10 @@ function ProjectPanelvue_type_script_lang_js_defineProperty(obj, key, value) { i
300552
300543
  //
300553
300544
  //
300554
300545
  //
300546
+ //
300547
+ //
300548
+ //
300549
+ //
300555
300550
 
300556
300551
 
300557
300552
 
@@ -300868,8 +300863,8 @@ var ProjectPanelvue_type_style_index_0_lang_scss_ = __webpack_require__("e84f");
300868
300863
 
300869
300864
  var ProjectPanel_component = normalizeComponent(
300870
300865
  projects_ProjectPanelvue_type_script_lang_js_,
300871
- ProjectPanelvue_type_template_id_037ff296_render,
300872
- ProjectPanelvue_type_template_id_037ff296_staticRenderFns,
300866
+ ProjectPanelvue_type_template_id_c79ead1c_render,
300867
+ ProjectPanelvue_type_template_id_c79ead1c_staticRenderFns,
300873
300868
  false,
300874
300869
  null,
300875
300870
  null,