Skip to content

Instantly share code, notes, and snippets.

SF_11.0, SF_11.1, SF_11.2, SF_12.0, SF_12.1, SF_12.2, SF_13.0, SF_13.1, SF_13.2, SF_13.3, SF_14.0, SF_14.1, SF_14.2, SF_14.3 - https://docs.sitefinity.com/feather-use-content-item-selectors
(function () {
angular.module('designer').requires.push('sfSelectors');
angular.module('designer').controller('SimpleSelectorCtrl', ['$scope', 'propertyService', function ($scope, propertyService) {
var emptyGuid = '00000000-0000-0000-0000-000000000000';
$scope.feedback.showLoadingIndicator = true;
$scope.newsSelector = {
selectedItemsIds: [],
selectedItems: []
};
$scope.$watch(
'newsSelector.selectedItemsIds',
function (newSelectedItemsIds, oldSelectedItemsIds) {
if (newSelectedItemsIds !== oldSelectedItemsIds) {
if (newSelectedItemsIds) {
$scope.properties.SerializedSelectedItemsIds.PropertyValue = JSON.stringify(newSelectedItemsIds);
}
}
},
true
);
$scope.$watch(
'newsSelector.selectedItems',
function (newSelectedItems, oldSelectedItems) {
if (newSelectedItems !== oldSelectedItems) {
if (newSelectedItems) {
$scope.properties.SerializedSelectedItems.PropertyValue = JSON.stringify(newSelectedItems);
}
}
},
true
);
propertyService.get()
.then(function (data) {
if (data) {
$scope.properties = propertyService.toAssociativeArray(data.Items);
var selectedItemsIds = $.parseJSON($scope.properties.SerializedSelectedItemsIds.PropertyValue || null);
if (selectedItemsIds) {
$scope.newsSelector.selectedItemsIds = selectedItemsIds;
}
}
},
function (data) {
$scope.feedback.showError = true;
if (data)
$scope.feedback.errorMessage = data.Detail;
})
.finally(function () {
$scope.feedback.showLoadingIndicator = false;
});
}]);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment