Userpicker propertyeditor

This commit is contained in:
perploug
2013-09-16 16:06:11 +02:00
parent 0a2fa12b58
commit bb641c937c
5 changed files with 97 additions and 1 deletions

View File

@@ -263,6 +263,38 @@ function entityResource($q, $http, umbRequestHelper) {
'Failed to retreive document data for ids ' + idQuery);
},
/**
* @ngdoc method
* @name umbraco.resources.entityResource#searchDocuments
* @methodOf umbraco.resources.entityResource
*
* @description
* Gets an array of content entities, given a query
*
* ##usage
* <pre>
* entityResource.searchDocuments("news")
* .then(function(contentArray) {
* var myDoc = contentArray;
* alert('they are here!');
* });
* </pre>
*
* @param {String} Query search query
* @returns {Promise} resourcePromise object containing the entity array.
*
*/
searchDocuments: function (query) {
return umbRequestHelper.resourcePromise(
$http.get(
umbRequestHelper.getApiUrl(
"entityApiBaseUrl",
"SearchDocuments",
query)),
'Failed to retreive document data for query ' + query);
},
/**
* @ngdoc method
* @name umbraco.resources.entityResource#getMediaById
@@ -329,8 +361,40 @@ function entityResource($q, $http, umbRequestHelper) {
"GetMediaByIds",
idQuery)),
'Failed to retreive media data for ids ' + idQuery);
},
/**
* @ngdoc method
* @name umbraco.resources.entityResource#searchMedia
* @methodOf umbraco.resources.entityResource
*
* @description
* Gets an array of medoa entities, given a query
*
* ##usage
* <pre>
* entityResource.searchMedia("news")
* .then(function(mediaArray) {
* var myDoc = mediaArray;
* alert('they are here!');
* });
* </pre>
*
* @param {String} Query search query
* @returns {Promise} resourcePromise object containing the entity array.
*
*/
searchMedia: function (query) {
return umbRequestHelper.resourcePromise(
$http.get(
umbRequestHelper.getApiUrl(
"entityApiBaseUrl",
"SearchMedia",
query)),
'Failed to retreive media data for query ' + query);
}
};
}

View File

@@ -0,0 +1,11 @@
angular.module('umbraco').controller("Umbraco.Editors.UserPickerController",
function($rootScope, $scope, $log, userResource){
userResource.getAll().then(function (userArray) {
$scope.users = userArray;
});
if ($scope.model.value === null || $scope.model.value === undefined) {
$scope.model.value = "";
}
});

View File

@@ -0,0 +1,7 @@
<select
ng-controller="Umbraco.Editors.UserPickerController"
name="{{ model.alias }}"
ng-model=" model.value"
ng-options="user.id as user.name for user in users">
<option value="">Select User</option>
</select>

View File

@@ -0,0 +1,13 @@
using System.ComponentModel;
using System.Web.Mvc;
using Umbraco.Core;
using Umbraco.Core.PropertyEditors;
namespace Umbraco.Web.PropertyEditors
{
[PropertyEditor("e66af4a0-e8b4-11de-8a39-0800200c9a66", "User picker", "INT", "userpicker")]
public class UserPickerPropertyEditor : PropertyEditor
{
}
}

View File

@@ -336,6 +336,7 @@
<Compile Include="PropertyEditors\MultipleTextStringPropertyEditor.cs" />
<Compile Include="PropertyEditors\PublishValuesMultipleValueEditor.cs" />
<Compile Include="PropertyEditors\DropDownMultipleWithKeysPropertyEditor.cs" />
<Compile Include="PropertyEditors\UserPickerPropertyEditor.cs" />
<Compile Include="PropertyEditors\ValueListPreValueEditor.cs" />
<Compile Include="PropertyEditors\DropDownPropertyEditor.cs" />
<Compile Include="PropertyEditors\PublishValueValueEditor.cs" />