mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-05 03:52:14 +00:00
Filter Array only once and one time binding - closes #4429
This commit is contained in:
parent
85f4a2884a
commit
a082e88b5d
2 changed files with 21 additions and 3 deletions
|
|
@ -162,5 +162,23 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', '$window', 'User',
|
||||||
$rootScope.selectedQuest = item;
|
$rootScope.selectedQuest = item;
|
||||||
$rootScope.openModal('buyQuest', {controller:'InventoryCtrl'});
|
$rootScope.openModal('buyQuest', {controller:'InventoryCtrl'});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.getSeasonalShopArray = function(set){
|
||||||
|
var flatGearArray = _.toArray(Content.gear.flat);
|
||||||
|
|
||||||
|
var filteredArray = _.where(flatGearArray, {index: set});
|
||||||
|
|
||||||
|
return filteredArray;
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getSeasonalShopQuests = function(set){
|
||||||
|
var questArray = _.toArray(Content.quests);
|
||||||
|
|
||||||
|
var filteredArray = _.filter(questArray, function(q){
|
||||||
|
return q.key == "evilsanta" || q.key == "evilsanta2";
|
||||||
|
});
|
||||||
|
|
||||||
|
return filteredArray;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -31,14 +31,14 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html
|
||||||
.popover-content
|
.popover-content
|
||||||
p!=env.t('seasonalShopText')
|
p!=env.t('seasonalShopText')
|
||||||
li.customize-menu.inventory-gear
|
li.customize-menu.inventory-gear
|
||||||
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in {candycane:env.t("candycaneSet"), ski:env.t("skiSet"), snowflake:env.t("snowflakeSet"), yeti:env.t("yetiSet")}')
|
menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{candycane:env.t("candycaneSet"), ski:env.t("skiSet"), snowflake:env.t("snowflakeSet"), yeti:env.t("yetiSet")}')
|
||||||
div(ng-repeat='item in Content.gear.flat | toArray | where:{index:set}' ng-class="{transparent: user.items.gear.owned[item.key]}")
|
div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key]}")
|
||||||
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}')
|
button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}')
|
||||||
.center
|
.center
|
||||||
| {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}
|
| {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}
|
||||||
span.Pet_Currency_Gem1x.inline-gems
|
span.Pet_Currency_Gem1x.inline-gems
|
||||||
menu.pets-menu(label=env.t('quests'))
|
menu.pets-menu(label=env.t('quests'))
|
||||||
div(ng-repeat='quest in Content.quests', ng-if='(quest.key == "evilsanta") || (quest.key == "evilsanta2")')
|
div(ng-repeat='quest in ::getSeasonalShopQuests()')
|
||||||
button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', class='inventory_quest_scroll', ng-class='::{locked: quest.previous && !user.achievements.quests[quest.previous]}')
|
button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', class='inventory_quest_scroll', ng-class='::{locked: quest.previous && !user.achievements.quests[quest.previous]}')
|
||||||
p
|
p
|
||||||
| {{::quest.value}}
|
| {{::quest.value}}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue