Commit 43dc74df by Rashid Khan

Closes #250

parent 05b15c46
...@@ -716,8 +716,7 @@ angular.module('kibana.services', []) ...@@ -716,8 +716,7 @@ angular.module('kibana.services', [])
dashboard: angular.toJson(save) dashboard: angular.toJson(save)
}); });
request = type === 'temp' ? request.ttl(ttl) : request; request = type === 'temp' && ttl ? request.ttl(ttl) : request;
// TOFIX: Implement error handling here // TOFIX: Implement error handling here
return request.doIndex( return request.doIndex(
......
...@@ -2,28 +2,28 @@ ...@@ -2,28 +2,28 @@
<h5>Allow saving to</h5> <h5>Allow saving to</h5>
<div class="row-fluid"> <div class="row-fluid">
<div class="span2"> <div class="span2">
<label class="small"> Export </label><input type="checkbox" ng-model="panel.save.local" ng-checked="panel.save.local"> <label class="small">Export</label><input type="checkbox" ng-model="panel.save.local" ng-checked="panel.save.local">
</div> </div>
<div class="span2"> <div class="span2">
<label class="small"> Defaults </label><input type="checkbox" ng-model="panel.save.default" ng-checked="panel.save.default"> <label class="small">Defaults</label><input type="checkbox" ng-model="panel.save.default" ng-checked="panel.save.default">
</div> </div>
<div class="span2"> <div class="span2">
<label class="small"> Gist </label><input type="checkbox" ng-model="panel.save.gist" ng-checked="panel.save.gist"> <label class="small">Gist <i class="icon-question-sign" bs-tooltip="'Requires your domain to be OAUTH registered with Github'"></i></label><input type="checkbox" ng-model="panel.save.gist" ng-checked="panel.save.gist">
</div> </div>
<div class="span2"> <div class="span2">
<label class="small"> Elasticsearch </label><input type="checkbox" ng-model="panel.save.elasticsearch" ng-checked="panel.save.elasticsearch"> <label class="small">Elasticsearch</label><input type="checkbox" ng-model="panel.save.elasticsearch" ng-checked="panel.save.elasticsearch">
</div> </div>
</div> </div>
<h5>Allow loading from</h5> <h5>Allow loading from</h5>
<div class="row-fluid"> <div class="row-fluid">
<div class="span2"> <div class="span2">
<label class="small"> Local file </label><input type="checkbox" ng-model="panel.load.local" ng-checked="panel.load.local"> <label class="small">Local file</label><input type="checkbox" ng-model="panel.load.local" ng-checked="panel.load.local">
</div> </div>
<div class="span2"> <div class="span2">
<label class="small"> Gist </label><input type="checkbox" ng-model="panel.load.gist" ng-checked="panel.load.gist"> <label class="small">Gist</label><input type="checkbox" ng-model="panel.load.gist" ng-checked="panel.load.gist">
</div> </div>
<div class="span2"> <div class="span2">
<label class="small"> Elasticsearch </label><input type="checkbox" ng-model="panel.load.elasticsearch" ng-checked="panel.load.elasticsearch"> <label class="small">Elasticsearch</label><input type="checkbox" ng-model="panel.load.elasticsearch" ng-checked="panel.load.elasticsearch">
</div> </div>
<div class="span3" ng-show="panel.load.elasticsearch"> <div class="span3" ng-show="panel.load.elasticsearch">
<label class="small">ES list size</label><input class="input-mini" type="number" ng-model="panel.elasticsearch_size"> <label class="small">ES list size</label><input class="input-mini" type="number" ng-model="panel.elasticsearch_size">
...@@ -31,11 +31,14 @@ ...@@ -31,11 +31,14 @@
</div> </div>
<h5>Sharing</h5> <h5>Sharing</h5>
<div class="row-fluid"> <div class="row-fluid">
<div class="span3" > <div class="span2" >
<label class="small">Allow Sharing</label><input type="checkbox" ng-model="panel.temp" ng-checked="panel.temp"> <label class="small">Allow Sharing</label><input type="checkbox" ng-model="panel.temp" ng-checked="panel.temp">
</div> </div>
<div class="span8" ng-show="panel.temp"> <div class="span2" ng-show="panel.temp">
<label class="small">Shared Link TTL (examples: 1m,1d,1w,30d)</label><input class="input-small" type="text" ng-model="panel.temp_ttl"> <label class="small">TTL</label><input type="checkbox" ng-model="panel.ttl_enable" ng-checked="panel.temp">
</div>
<div class="span5" ng-show="panel.temp && panel.ttl_enable">
<label class="small">TTL Duration <i class="icon-question-sign" bs-tooltip="'Elasticsearch date math, eg: 1m,1d,1w,30d'"></i></label><input class="input-small" type="text" ng-model="panel.temp_ttl">
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
* hide_control :: Upon save, hide this panel * hide_control :: Upon save, hide this panel
* elasticsearch_size :: show this many dashboards under the ES section in the load drop down * elasticsearch_size :: show this many dashboards under the ES section in the load drop down
* temp :: Allow saving of temp dashboards * temp :: Allow saving of temp dashboards
* ttl :: Enable setting ttl.
* temp_ttl :: How long should temp dashboards persist * temp_ttl :: How long should temp dashboards persist
*/ */
...@@ -48,6 +49,7 @@ angular.module('kibana.dashcontrol', []) ...@@ -48,6 +49,7 @@ angular.module('kibana.dashcontrol', [])
hide_control: false, hide_control: false,
elasticsearch_size: 20, elasticsearch_size: 20,
temp: true, temp: true,
ttl_enable: true,
temp_ttl: '30d' temp_ttl: '30d'
}; };
_.defaults($scope.panel,_d); _.defaults($scope.panel,_d);
...@@ -83,7 +85,11 @@ angular.module('kibana.dashcontrol', []) ...@@ -83,7 +85,11 @@ angular.module('kibana.dashcontrol', [])
}; };
$scope.elasticsearch_save = function(type,ttl) { $scope.elasticsearch_save = function(type,ttl) {
dashboard.elasticsearch_save(type,($scope.elasticsearch.title || dashboard.current.title),ttl).then( dashboard.elasticsearch_save(
type,
($scope.elasticsearch.title || dashboard.current.title),
($scope.panel.ttl_enable ? ttl : false)
).then(
function(result) { function(result) {
if(!_.isUndefined(result._id)) { if(!_.isUndefined(result._id)) {
$scope.alert('Dashboard Saved','This dashboard has been saved to Elasticsearch as "' + $scope.alert('Dashboard Saved','This dashboard has been saved to Elasticsearch as "' +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment