mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-08-03 12:40:00 +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.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
|
||||
p!=env.t('seasonalShopText')
|
||||
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")}')
|
||||
div(ng-repeat='item in Content.gear.flat | toArray | where:{index:set}' ng-class="{transparent: user.items.gear.owned[item.key]}")
|
||||
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 ::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}}')
|
||||
.center
|
||||
| {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}
|
||||
span.Pet_Currency_Gem1x.inline-gems
|
||||
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]}')
|
||||
p
|
||||
| {{::quest.value}}
|
||||
|
|
|
|||
Loading…
Reference in a new issue