Skip to content

Commit

Permalink
Fixed #366
Browse files Browse the repository at this point in the history
  • Loading branch information
wolf4ood committed Jan 9, 2017
1 parent 241f792 commit e79f13d
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 42 deletions.
4 changes: 3 additions & 1 deletion src/controllers/document-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -363,9 +363,11 @@ function BaseEditController($scope, $routeParams, $route, $location, $modal, $q,

$scope.save = function () {
if (!$scope.isNew) {
DocumentApi.updateDocument($scope.database, $scope.rid, $scope.doc, function (data) {
DocumentApi.updateDocument($scope.database, $scope.rid, $scope.doc).then((data) => {
Notification.push({content: JSON.stringify(data)});
$route.reload();
}).catch((err) => {
Notification.push({content: err, error: true});
});
} else {
DocumentApi.createDocument($scope.database, $scope.doc['@rid'], $scope.doc, function (data) {
Expand Down
44 changes: 26 additions & 18 deletions src/controllers/schema-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ schemaModule.controller("SchemaController", ['$scope', '$routeParams', '$locatio
title: 'Warning!',
body: 'You are dropping class ' + nameClass['name'] + '. Are you sure?',
success: function () {
var sql = 'DROP CLASS ' + nameClass['name'];
var sql = 'DROP CLASS `' + nameClass['name'] + "`";

CommandApi.queryText({
database: $routeParams.database,
Expand Down Expand Up @@ -155,7 +155,7 @@ schemaModule.controller("SchemaController", ['$scope', '$routeParams', '$locatio
}
}
$scope.queryAll = function (className) {
$location.path("/database/" + $scope.database.getName() + "/browse/select * from " + className);
$location.path("/database/" + $scope.database.getName() + "/browse/select * from `" + className + "`");
}
$scope.createRecord = function (className) {
$location.path("/database/" + $scope.database.getName() + "/browse/create/" + className);
Expand Down Expand Up @@ -233,7 +233,7 @@ schemaModule.controller("ClassEditController", ['$scope', '$routeParams', '$loca
$location.path("/database/" + $scope.database.getName() + "/browse/create/" + className);
}
$scope.queryAll = function (className) {
$location.path("/database/" + $scope.database.getName() + "/browse/select * from " + className);
$location.path("/database/" + $scope.database.getName() + "/browse/select * from `" + className + "`");
}
$scope.canDrop = function (clazz) {

Expand Down Expand Up @@ -457,7 +457,7 @@ schemaModule.controller("ClassEditController", ['$scope', '$routeParams', '$loca
title: 'Warning!',
body: 'You are dropping index ' + nameIndex.name + '. Are you sure?',
success: function () {
var sql = 'DROP INDEX ' + nameIndex.name;
var sql = 'DROP INDEX `' + nameIndex.name + "`";

CommandApi.queryText({
database: $routeParams.database,
Expand All @@ -478,16 +478,17 @@ schemaModule.controller("ClassEditController", ['$scope', '$routeParams', '$loca
title: 'Warning!',
body: 'You are dropping property ' + elementName + '. Are you sure?',
success: function () {
var sql = 'DROP PROPERTY ' + clazz + '.' + elementName;
var sql = 'DROP PROPERTY `' + clazz + '`.`' + elementName + "`";


CommandApi.queryText({
database: $routeParams.database,
language: 'sql',
text: sql,
limit: $scope.limit
limit: $scope.limit,
verbose: false
}, function (data) {
for (entry in $scope.property) {
for (var entry in $scope.property) {
if ($scope.property[entry]['name'] == elementName) {
// ($scope.property[entry])
var index = $scope.property.indexOf($scope.property[entry])
Expand Down Expand Up @@ -614,7 +615,7 @@ schemaModule.controller("IndexController", ['$scope', '$routeParams', '$route',
}
var nameInddd = proppps;
nameInddd.replace(')', '');
var sql = 'CREATE INDEX ' + $scope.nameIndexToShow + ' ON ' + $scope.classInject + ' ( ' + proppps + ' ) ' + $scope.newIndex['type'];
var sql = 'CREATE INDEX `' + $scope.nameIndexToShow + '` ON `' + $scope.classInject + '` ( `' + proppps + '` ) ' + $scope.newIndex['type'];

if ($scope.newIndex['engine'] == 'LUCENE') {
sql += ' ENGINE LUCENE';
Expand Down Expand Up @@ -679,10 +680,9 @@ schemaModule.controller("PropertyController", ['$scope', '$routeParams', '$locat
if (propName == undefined || propType == undefined)
return;
var linkedType = prop['linkedType'] != null ? prop['linkedType'] : '';
var linkedClass = prop['linkedClass'] != null ? prop['linkedClass'] : '';
var sql = 'CREATE PROPERTY ' + $scope.classInject + '.' + propName + ' ' + propType + ' ' + linkedType + ' ' + linkedClass;
var linkedClass = prop['linkedClass'] != null ? "`" + prop['linkedClass'] + "`" : '';
var sql = 'CREATE PROPERTY `' + $scope.classInject + '`.`' + propName + '` ' + propType + ' ' + linkedType + ' ' + linkedClass;

console.log(sql);
Spinner.startSpinnerPopup();
var allCommand = $q.when();

Expand Down Expand Up @@ -722,16 +722,15 @@ schemaModule.controller("PropertyController", ['$scope', '$routeParams', '$locat
limit: $scope.limit,
verbose: false
}, function (data) {

var len = Object.keys(prop).length;
for (entry in prop) {
for (let entry in prop) {
if (prop[entry] == null) {
len--;
delete prop[entry];
}
}
var i = 1;
for (entry in prop) {
for (let entry in prop) {
var val = prop[entry];
if (propType === "DATE" || propType === "DATETIME") {
if (entry === 'min' || entry === 'max') {
Expand All @@ -741,7 +740,10 @@ schemaModule.controller("PropertyController", ['$scope', '$routeParams', '$locat
if (entry === 'name') {
val = "\"" + val + "\"";
}
var sql = 'ALTER PROPERTY ' + $scope.classInject + '.' + propName + ' ' + entry + ' ' + val;
if (entry === 'linkedClass') {
val = "`" + val + "`";
}
var sql = 'ALTER PROPERTY `' + $scope.classInject + '`.`' + propName + '` ' + entry + ' ' + val;
addCommandToExecute(sql, i, len);
i++;
}
Expand Down Expand Up @@ -810,12 +812,18 @@ schemaModule.controller("NewClassController", ['$scope', '$routeParams', '$locat


$scope.saveNewClass = function () {
var sql = 'CREATE CLASS ' + $scope.property['name'];
var sql = 'CREATE CLASS `' + $scope.property['name'] + "`";
var abstract = $scope.property['abstract'] ? ' ABSTRACT ' : '';
var alias = $scope.property['alias'] == null || $scope.property['alias'] == '' ? null : $scope.property['alias'];
var supercl = $scope.property['superclass'] != null ? ' extends ' + $scope.property['superclass'] : '';
var arrSuper = $scope.property['superClasses'];
var superClasses = (arrSuper != null && arrSuper.length > 0) ? ' extends ' + $filter('formatArray')($scope.property['superClasses']) : ''

var superClasses = '';
if ((arrSuper != null && arrSuper.length > 0)) {
superClasses = ' extends ' + $filter('formatArray')($scope.property['superClasses'].map((c) => {
return "`" + c + "`"
}));
}
sql = sql + superClasses + abstract;


Expand All @@ -827,7 +835,7 @@ schemaModule.controller("NewClassController", ['$scope', '$routeParams', '$locat
verbose: false
}, function (data) {
if (alias != null) {
sql = 'ALTER CLASS ' + $scope.property['name'] + ' SHORTNAME ' + alias;
sql = 'ALTER CLASS ' + $scope.property['name'] + ' SHORTNAME `' + alias + "`";
CommandApi.queryText({
database: $routeParams.database,
language: 'sql',
Expand Down
26 changes: 18 additions & 8 deletions src/directives/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ import angular from 'angular';
var Widget = angular.module('rendering', []);




import '../views/widget/string.html';
import '../views/widget/short.html';
import '../views/widget/embedded.html';
Expand Down Expand Up @@ -33,6 +31,7 @@ Widget.directive('docwidget', ["$compile", "$http", "Database", "CommandApi", "D
formScope.options = new Array;
formScope.types = Database.getSupportedTypes();
formScope.fieldTypes = new Array;
formScope.selectedHeader = {}
formScope.editorOptions = {
lineWrapping: true,
lineNumbers: true,
Expand All @@ -52,8 +51,14 @@ Widget.directive('docwidget', ["$compile", "$http", "Database", "CommandApi", "D
return type == formScope.getType(name);
}
formScope.getTemplate = function (header) {


if (formScope.doc['@class']) {
var type = findType(formScope, header);

let type = formScope.selectedHeader[header];
if (!type) {
type = findType(formScope, header);
}
if (type) {
return 'views/widget/' + type.toLowerCase() + '.html';
}
Expand Down Expand Up @@ -89,7 +94,10 @@ Widget.directive('docwidget', ["$compile", "$http", "Database", "CommandApi", "D
});
}
}
formScope.changeType = function (name, type) {
formScope.changeType = function (name) {


let type = formScope.selectedHeader[name];

var idx = formScope.headers.indexOf(name);
formScope.headers.splice(idx, 1);
Expand All @@ -100,16 +108,15 @@ Widget.directive('docwidget', ["$compile", "$http", "Database", "CommandApi", "D
} else {
types = name + '=' + Database.getMappingFor(type);
}

formScope.doc['@fieldTypes'] = types;
formScope.fieldTypes[name] = formScope.getTemplate(name);
formScope.headers.push(name);


}
formScope.$watch('formID.$valid', function (validity) {
formScope.$parent.$watch('docForm.$valid', function (validity) {
scope.docValid = validity;
});


formScope.handleFile = function (header, files) {

var reader = new FileReader();
Expand All @@ -125,13 +132,16 @@ Widget.directive('docwidget', ["$compile", "$http", "Database", "CommandApi", "D
reader.readAsDataURL(files[0]);
}
scope.$on('fieldAdded', function (event, field) {
formScope.selectedHeader[field] = formScope.getType(field);
formScope.fieldTypes[field] = formScope.getTemplate(field);
});
scope.$parent.$watch("headers", function (data) {
if (data) {
data.forEach(function (elem, idx, array) {
formScope.fieldTypes[elem] = formScope.getTemplate(elem);
formScope.selectedHeader[elem] = formScope.getType(elem);
});

formScope.headers = data;
}

Expand Down
6 changes: 4 additions & 2 deletions src/services/database-services.js
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,9 @@ database.factory('CommandApi', ["$http", "$resource", "Notification", "Spinner",
}

if (data != undefined) {
data.notification = noti;
if (typeof data != "string") {
data.notification = noti;
}
callback(data);
}
else {
Expand Down Expand Up @@ -979,7 +981,7 @@ database.factory('ClassAlterApi', ["$http", "$resource", "$q", function ($http,

var deferred = $q.defer();
var text = API + 'command/' + database + '/sql/-/-1?format=rid,type,version,class,graph';
var query = "alter class {{clazz}} {{name}} {{value}}"
var query = "alter class `{{clazz}}` {{name}} {{value}}"
var queryText = S(query).template(props).s;
$http.post(text, queryText).success(function (data) {
deferred.resolve(data)
Expand Down
28 changes: 19 additions & 9 deletions src/views/database/editclass.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ <h2>{{class2show}}

<div class="card">
<div class="row properties">

<div class="col-md-12">
<div class="page-header">
<h4>Properties
Expand All @@ -68,11 +67,16 @@ <h4>Properties
</a>
</h4>
</div>

<button href="javascript:void(0)" class="btn btn-default btn-sm" ng-click="newProperty()"><i
class="fa fa-plus"></i> New
Property
</button>
</div>
<div class="col-md-12">
<div class="btn-group pull-right">
<button href="javascript:void(0)" class="btn btn-default btn-sm" ng-click="newProperty()"><i
class="fa fa-plus"></i> New
Property
</button>
</div>
</div>
<div class="col-md-12">
<div class="scroll-editclass">
<table class="table table-striped table-bordered table-hover table-condensed pointer"
ng-show="classClickedHeaders">
Expand Down Expand Up @@ -197,9 +201,15 @@ <h4>Indexes
</a>
</h4>
</div>
<button href="javascript:void(0)" class="btn btn-sm btn-default" ng-click="newIndex()"><i
class="fa fa-plus"></i> New Index
</button>
</div>
<div class="col-md-12">
<div class="btn-group pull-right">
<button href="javascript:void(0)" class="btn btn-sm btn-default" ng-click="newIndex()"><i
class="fa fa-plus"></i> New Index
</button>
</div>
</div>
<div class="col-md-12">
<div class="scroll-indexes">
<table class="table table-striped table-bordered table-hover table-condensed pointer"
ng-show="classClickedHeaders">
Expand Down
8 changes: 4 additions & 4 deletions src/views/widget/form.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
<ng-include src="fieldTypes[header]" class='col-md-8 col-xs-7'></ng-include>

<div class="col-md-3 col-xs-3">
<select class='form-control input-sm' ng-disabled='inSchema(header)' ng-model="selectedHeader"
ng-change="changeType('{{ header }}',selectedHeader)">
<option ng-repeat="t in types" ng-selected="isSelected(header,t)">{{ t }}</option>
<select class='form-control input-sm' ng-disabled='inSchema(header)' ng-model="selectedHeader[header]"
ng-change="changeType('{{ header }}')">
<option ng-repeat="t in types" >{{ t }}</option>
</select>
</div>
<div class="del-field col-md-1 col-xs-1">
Expand All @@ -19,4 +19,4 @@
</div>
</div>
</div>
</ng-form>
</ng-form>

0 comments on commit e79f13d

Please sign in to comment.