From 76187277ddc7756b333674099beeb506a28c1ebd Mon Sep 17 00:00:00 2001 From: Cyrus Hiatt Date: Fri, 21 Dec 2018 18:03:42 -0800 Subject: [PATCH] Removes resourceList and addresses some errors in survey section of the user profile page. re #4357 --- .../app/media/js/viewmodels/mobile-survey.js | 6 +- .../mobile-survey-manager/resource-list.js | 125 ------------------ .../media/js/views/user-profile-manager.js | 3 +- .../mobile-survey-manager/resource-list.htm | 31 ----- 4 files changed, 4 insertions(+), 161 deletions(-) delete mode 100644 arches/app/media/js/views/mobile-survey-manager/resource-list.js delete mode 100644 arches/app/templates/views/mobile-survey-manager/resource-list.htm diff --git a/arches/app/media/js/viewmodels/mobile-survey.js b/arches/app/media/js/viewmodels/mobile-survey.js index 1a07b98772b..47e98cb4588 100644 --- a/arches/app/media/js/viewmodels/mobile-survey.js +++ b/arches/app/media/js/viewmodels/mobile-survey.js @@ -4,11 +4,10 @@ define([ 'underscore', 'knockout', 'views/mobile-survey-manager/identity-list', - 'views/mobile-survey-manager/resource-list', 'models/mobile-survey', 'views/components/widgets/map', 'bindings/sortable' -], function($, arches, _, ko, IdentityList, ResourceList, MobileSurveyModel) { +], function($, arches, _, ko, IdentityList, MobileSurveyModel) { /** * A base viewmodel for mobile survey management * @@ -106,7 +105,6 @@ define([ }); }; - this.resetCards = function(cards){ _.each(self.allResources, function(r){ _.each(r.cards(), function(c){ @@ -114,7 +112,7 @@ define([ }); r.hasApprovedCards() ? r.added(true) : r.added(false); }); - } + }; _.each(this.allResources, this.initializeResource); diff --git a/arches/app/media/js/views/mobile-survey-manager/resource-list.js b/arches/app/media/js/views/mobile-survey-manager/resource-list.js deleted file mode 100644 index 198d30f757e..00000000000 --- a/arches/app/media/js/views/mobile-survey-manager/resource-list.js +++ /dev/null @@ -1,125 +0,0 @@ -define([ - 'knockout', - 'arches', - 'views/list' -], function(ko, arches, ListView) { - var ResourceList = ListView.extend({ - /** - * A backbone view to manage a list of graph nodes - * @augments ListView - * @constructor - * @name ResourceList - */ - - singleSelect: true, - - /** - * initializes the view with optional parameters - * @memberof ResourceList.prototype - * @param {object} options - * @param {boolean} options.permissions - a list of allowable permissions - * @param {boolean} options.card - a reference to the selected {@link CardModel} - */ - initialize: function(options) { - ListView.prototype.initialize.apply(this, arguments); - var self = this; - this.items = options.items; - this.cardFilter = ko.observable(''); - this.selectedIndex = ko.observable(0); - this.hideResourceList = ko.observable(false); - - this.initCards = function(cards){ - _.each(cards, function(card){ - card.approved = ko.observable(false); - card.filtered = ko.observable(false); - card.approved.subscribe(function(val){ - var item = item; - }, self) - card.expanded = ko.observable(false); - card.widgetlabels = _.map(card.widgets, function(w) { - return w.label - }).join(', '); - if (card.widgetlabels === "") { - card.widgetlabels = card.name; - }; - }, self) - } - - - _.each(this.items(), function(item){ - item.cards = item.cardsflat; - self.initCards(item.cards()) - - item.added = ko.computed(function(){ - return _.filter(item.cards(), function(card){return card.approved()}).length > 0; - }); - - item.cardcount = ko.computed(function(){ - return _.filter(item.cards(), function(card){return card.approved()}).length; - }); - - self.cardFilter.subscribe(function (val) { - if (item.selected()) { - _.each(item.cards(), function(card) { - if (val === '') { - card.filtered(false) - } else { - if (card.name.toLowerCase().indexOf(val.toLowerCase()) >= 0) { - card.filtered(false); - } else { - card.filtered(true); - }; - }; - }); - } - }); - - }); - - this.hasCards = ko.computed(function() { - return _.filter(self.items(), - function(item){ - if (item.added){ - return item.added() - } - }).length > 0; - }) - - this.resetCards = function(cards){ - _.each(this.items(), function(item){ - item.cards.sort(function(a,b){ - var inMobileSurveyCards = _.contains(cards, a.cardid) || _.contains(cards, b.cardid); - if (inMobileSurveyCards) { - res = cards.indexOf(a.cardid) < cards.indexOf(b.cardid) ? -1 : 1 - } else { - res = a.name < b.name ? -1 : 1; - } - return res; - }); - _.each(item.cards(), function(card){ - if (_.contains(cards, card.cardid)) { - card.approved(true); - } else { - card.approved(false); - } - }); - }) - - } - - this.selected = ko.computed(function(){ - var res = self.selectedItems().length > 0 ? self.selectedItems()[0] : ''; - return res; - }) - - this.filteredItems = ko.computed(function(){ - var filtered = _.filter(self.items(), function(item){return !item.filtered()}); - self.selectedIndex(_.indexOf(filtered, self.selected())); - self.hideResourceList(!_.contains(filtered, self.selected())) //If the selected item is filtered out, we need to hide its cards - return filtered; - }) - } - - }); - return ResourceList; -}); diff --git a/arches/app/media/js/views/user-profile-manager.js b/arches/app/media/js/views/user-profile-manager.js index c05b02384e5..d43f73c956b 100644 --- a/arches/app/media/js/views/user-profile-manager.js +++ b/arches/app/media/js/views/user-profile-manager.js @@ -43,6 +43,7 @@ define([ this.viewModel.mobilesurveys = data.mobilesurveys.map(function(mobilesurvey) { return new MobileSurveyViewModel({ + resources: data.resources, mobilesurvey: mobilesurvey, identities: data.identities }); @@ -65,7 +66,7 @@ define([ mobilesurvey.resources = ko.computed(function() { var resources = []; var resourceLookup = {}; - _.each(mobilesurvey.resourceList.items(), function(resource) { + _.each(mobilesurvey.allResources, function(resource) { _.each(resource.cards(), function(card) { if (_.contains(mobilesurvey.mobilesurvey.cards(), card.cardid)) { if (resourceLookup[resource.id]) { diff --git a/arches/app/templates/views/mobile-survey-manager/resource-list.htm b/arches/app/templates/views/mobile-survey-manager/resource-list.htm deleted file mode 100644 index 380412540a7..00000000000 --- a/arches/app/templates/views/mobile-survey-manager/resource-list.htm +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "views/list.htm" %} -{% load staticfiles %} -{% load i18n %} - -{% block header %} - - - -

{% block title %}{% trans "Click on the Resources you want to add to your mobile survey" %}{% endblock %}

-{% endblock %} - -{% block search_placeholder %}{% trans "Find resource" %}{% endblock %} - -{% block listitem %} -
-
-
- - - -
-
-
-
-
-
-
-
-
-
-{% endblock %}