Merge remote-tracking branch 'origin/v8/feature/mb-embed' into v8/feature/mb-embed
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
function modelsBuilderManagementResource($q, $http, umbRequestHelper) {
|
||||
|
||||
return {
|
||||
getModelsOutOfDateStatus: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
|
||||
"Failed to get models out-of-date status");
|
||||
},
|
||||
|
||||
buildModels: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
"Failed to build models");
|
||||
},
|
||||
|
||||
getDashboard: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
|
||||
"Failed to get dashboard");
|
||||
}
|
||||
};
|
||||
}
|
||||
angular.module("umbraco.resources").factory("modelsBuilderManagementResource", modelsBuilderManagementResource);
|
||||
@@ -27,7 +27,7 @@ function contentTypeHelper(contentTypeResource, dataTypeResource, $filter, $inje
|
||||
|
||||
generateModels: function () {
|
||||
var deferred = $q.defer();
|
||||
var modelsResource = $injector.has("modelsBuilderResource") ? $injector.get("modelsBuilderResource") : null;
|
||||
var modelsResource = $injector.has("modelsBuilderManagementResource") ? $injector.get("modelsBuilderManagementResource") : null;
|
||||
var modelsBuilderEnabled = Umbraco.Sys.ServerVariables.umbracoPlugins.modelsBuilder.enabled;
|
||||
if (modelsBuilderEnabled && modelsResource) {
|
||||
modelsResource.buildModels().then(function(result) {
|
||||
@@ -48,7 +48,7 @@ function contentTypeHelper(contentTypeResource, dataTypeResource, $filter, $inje
|
||||
|
||||
checkModelsBuilderStatus: function () {
|
||||
var deferred = $q.defer();
|
||||
var modelsResource = $injector.has("modelsBuilderResource") ? $injector.get("modelsBuilderResource") : null;
|
||||
var modelsResource = $injector.has("modelsBuilderManagementResource") ? $injector.get("modelsBuilderManagementResource") : null;
|
||||
var modelsBuilderEnabled = (Umbraco && Umbraco.Sys && Umbraco.Sys.ServerVariables && Umbraco.Sys.ServerVariables.umbracoPlugins && Umbraco.Sys.ServerVariables.umbracoPlugins.modelsBuilder && Umbraco.Sys.ServerVariables.umbracoPlugins.modelsBuilder.enabled === true);
|
||||
|
||||
if (modelsBuilderEnabled && modelsResource) {
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
function modelsBuilderManagementController($scope, $http, umbRequestHelper, modelsBuilderManagementResource) {
|
||||
|
||||
var vm = this;
|
||||
|
||||
vm.reload = reload;
|
||||
vm.generate = generate;
|
||||
vm.dashboard = null;
|
||||
|
||||
function generate() {
|
||||
vm.generating = true;
|
||||
umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
'Failed to generate.')
|
||||
.then(function (result) {
|
||||
vm.generating = false;
|
||||
vm.dashboard = result;
|
||||
});
|
||||
}
|
||||
|
||||
function reload() {
|
||||
vm.loading = true;
|
||||
modelsBuilderManagementResource.getDashboard().then(function (result) {
|
||||
vm.dashboard = result;
|
||||
vm.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
function init() {
|
||||
vm.loading = true;
|
||||
modelsBuilderManagementResource.getDashboard().then(function (result) {
|
||||
vm.dashboard = result;
|
||||
vm.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderManagementController", modelsBuilderManagementController);
|
||||
@@ -0,0 +1,44 @@
|
||||
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderManagementController as vm">
|
||||
|
||||
<umb-box>
|
||||
<umb-box-content>
|
||||
|
||||
<div ng-show="!vm.loading" class="pull-right">
|
||||
<button type="button" class="btn" ng-click="vm.reload()"><span>Reload</span></button>
|
||||
</div>
|
||||
|
||||
<h3 class="bold">Models Builder</h3>
|
||||
|
||||
<umb-load-indicator ng-show="vm.loading"></umb-load-indicator>
|
||||
|
||||
<div ng-show="!vm.loading && vm.dashboard">
|
||||
<div ng-bind-html="vm.dashboard.text"></div>
|
||||
|
||||
<div ng-if="vm.dashboard.outOfDateModels">
|
||||
<p>Models are <strong>out-of-date</strong>.</p>
|
||||
</div>
|
||||
|
||||
<div ng-if="vm.dashboard.canGenerate">
|
||||
<div ng-if="vm.dashboard.generateCausesRestart">
|
||||
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
|
||||
</div>
|
||||
<div ng-show="!vm.generating">
|
||||
<button type="button" ng-click="vm.generate()" class="btn btn-danger">
|
||||
<span>Generate models</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="umb-loader-wrapper" ng-show="vm.generating">
|
||||
<div class="umb-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="vm.dashboard.lastError" style="margin-top: 32px;" ng-show="!vm.generating">
|
||||
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
|
||||
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{vm.dashboard.lastError}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</umb-box-content>
|
||||
</umb-box>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user