How to use if condition in ion popup

I created one common pop-up screen that was used in three modules, but the three modules have different names. I did not give if the condition in the header, maybe or not, someone will give me a solution.

here:

function showPopup () {
  $scope.data = {};
  var myPopup = $ionicPopup.show({
    template: '<input focus-me type="text" ng-model="data.expensetype" limit-char limit="15">',
    if (vm.usertype === 'Worker') {
      title: $translate.instant('{{"wtype_message" | translate}}'),
    }
    else if (vm.usertype === 'Buyer') {
      title: $translate.instant('{{"btype_message" | translate}}'),
    }
    else if (vm.usertype === 'Expense') {
      title: $translate.instant('{{"etype_message" | translate}}'),
    }
    scope: $scope,
    buttons: [
     { text: $translate.instant('{{"pcancel_message" | translate}}') },
      {
        text: $translate.instant('{{"psave_message" | translate}}'),
        type: 'button-positive',
        onTap: function (e) {
          if (!$scope.data.expensetype) {
            e.preventDefault();
          } else {
            addExpenseCategory();
            return $scope.data.expensetype;
          }
        }
      },
    ]
  });
  myPopup.then(function (res) {
    $log.log('Tapped!', res);
  });
}
+4
source share
1 answer

Try the following:

var categorytitle = '';
  $log.log('vm.usertype', vm.usertype);
  switch (vm.usertype) {
    case 'Farmer':
      categorytitle = 'Enter coconut type';
      break;
    case 'Worker':
      categorytitle = $translate.instant('{{"venterworktype_message" | translate}}');
      break;
    case 'Buyer':
      categorytitle = $translate.instant('{{"venterproduct_message" | translate}}');
      break;
    case 'Group':
      categorytitle = $translate.instant('{{"wtype_message" | translate}}');
      break;
    case 'Expense':
      categorytitle = $translate.instant('{{"newexpensetype_message" | translate}}');
      break;
  }
  var myPopup = $ionicPopup.show({
    template: '<input focus-me type="text" ng-model="data.expensetype" limit-char limit="15">',
    //title: $translate.instant('{{"penterexpensetype_message" | translate}}'),
    title: categorytitle,
    scope: $scope,
    buttons: [
     { text: $translate.instant('{{"pcancel_message" | translate}}') },
      {
        text: $translate.instant('{{"psave_message" | translate}}'),
        type: 'button-positive',
        onTap: function (e) {
          if (!$scope.data.expensetype) {
            //don't allow the user to close unless he enters producttype
            e.preventDefault();

          } else {
            addExpenseCategory();
            return $scope.data.expensetype;
          }
        }
      },
    ]
  });
  myPopup.then(function (res) {
    $log.log('Tapped!', res);
  });
+1
source

Source: https://habr.com/ru/post/1685574/


All Articles