Skip to content

Commit

Permalink
Merge pull request #231 from gyselroth/v3.2.x
Browse files Browse the repository at this point in the history
v3.2.x
  • Loading branch information
raffis authored Jun 25, 2019
2 parents 2032ff0 + 127875d commit 78a3233
Show file tree
Hide file tree
Showing 91 changed files with 6,078 additions and 1,773 deletions.
92 changes: 92 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,95 @@
## 3.2.0
**Maintainer**: balloon-team <[email protected]>\
**Date**: Tue Jun 25 07:41:04 CEST 2019

* [FIX] Reset view bar when menu is changed #224
* [FIX] Avoid doubled text in file handler chooser #225
* [FIX] menu swipe upwards opens the menu #229
* [FIX] Remove fs-fullscreen-window-open on icon close click #230


## 3.2.0-beta3
**Maintainer**: balloon-team <[email protected]>\
**Date**: Mon Jun 17 17:02:02 CEST 2019

* [CHANGE] Use real input[type="checkbox"] + label for webauthn setup wizard #182
* [CHANGE] Use real input[type="checkbox"] + label for remember handler #149
* [CHANGE] Changed translations for in-built file handler apps
* [CHANGE] removed preview file handler
* [CHANGE] Desktop download popup should contain more information about proper installation way on linux #77


## 3.2.0-beta2
**Maintainer**: balloon-team <[email protected]>\
**Date**: Fri Jun 14 15:17:02 CEST 2019

* [FIX] Allow scrolling in kendo autocompletes #207
* [FIX] Balloon file editor can only be opened once #200
* [FIX] Allow application/x-sql to be edited in text editor
* [CHANGE] Change Icons for shared links
* [FIX] Ignore deleted nodes when adding new nodes #121
* [CHANGE] Only show webauthn dialog on touch devices #182
* [FEATURE] Allow to activate/deactivate webauthn from user settings #182
* [FIX] move/clone should prompt user to merge if conflict=19 #118
* [FIX] Fix getting index of nodes in multiselect array #44
* [FIX] Fix this.balloon is undefined in burl handler #149
* [CHANGE] Switch position of login button and webauthn #182
* [CHANGE] Change event search query to $regex #143
* [FIX] Avoid displaying event results from an old search #143
* [FIX] Clearing event search input should display all events #143
* [FIX] Avoid stacking of multiple infinite scroll requests #143
* [CHANGE] Only activate change password if user.has_password === true
* [CHANGE] Added translations for in-built default balloon file handler apps


## 3.2.0-beta1
**Maintainer**: balloon-team <[email protected]>\
**Date**: Wed Jun 05 14:47:01 CEST 2019

* [FEATURE] Display mount information #73
* [CHANGE] Implement paged node listing #133
* [FEATURE] Undo move/clone via snackbar #42
* [FIX] Undo event "addCollectionShare" #157
* [FEATURE] Support for multiple office clients #149
* [FEATURE] Various snackbar undo actions #62
* [FIX] prompt user to save unsaved changes in text file #159
* [FIX] Not visible if a resource is a user or group in share dropdown #168
* [FIX] Share link from search context, no ui response #144
* [FIX] App aborts if received a server error #108
* [FEATURE] Implement webauthn authentification #182
* [FEATURE] Support for progressive web app (pwa) #82
* [FIX] Various actions reload the tree, without respecting search results #78
* [FIX] FOLDERUP in a search result ends in parent menu #177
* [FIX] Search does not get correctly initialized #176
* [FIX] reloadTree should work in search mode as well #173
* [FEATURE] Refresh tree with scrolling down #162
* [FEATURE] swipe left menu from right to left to open #82
* [FIX] Adding new node reloads root instead of current collection #158
* [FEATURE] Full WOPI support and support for multiple file handler apps #149
* [FEATURE] Implement recaptcha v2 ui #148
* [CHANGE] NTH: Own app for elastic search #129
* [FIX] Searching by tag resets search filter #126
* [FEATURE] Implement all features from the desktop version into the mobile version #81
* [FIX] Rename node: mouse usage on input field #63
* [FEATURE] New KendoBalloonFullscreenWindow #179
* [FIX] File view close should be top right #170
* [FIX] Filename with `&` gets cut off #194
* [FIX] selectAll should not trigger multiselect when only one node is present #201
* [CHANGE] Increase snackbar timeout #199
* [CHANGE] Use slideout.js for the menu #209
* [FIX] open a file on iPad landscape does not work #211
* [FIX] Restoring a version results in status 422 #212
* [FEATURE] Search over event log #143
* [CHANGE] Only display search result after a search occured #198
* [FIX] Use fake password field for external storage to avoid autocomplete #76
* [CHANGE] alternative tipps icon #70
* [FIX] Infinite scroll on event log is truly infinite #214
* [FIX] add burl form url input on new line #216
* [FIX] Typo in search menu #208
* [CHANGE] Prompt user for certain actions when file is open #206
* [FEATURE] Drag and Drop upload of images into md files #205


## 3.1.3
**Maintainer**: balloon-team <[email protected]>\
**Date**: Tue May 14 16:37:12 CEST 2019
Expand Down
9 changes: 5 additions & 4 deletions config.example.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"localScript": "/path/to/local_script.js",
"default_lang": "en",
"defaultLang": "en",
"recaptchaKey": null,
"apps": {
"Balloon.App.Office": {""enabled": true, "config": {{},
"Balloon.App.Convert": {""enabled": true, "config": {}},
"Balloon.App.Notification": {""enabled": true, "config": {}},
"Balloon.App.Office": {"enabled": true, "config": {}},
"Balloon.App.Convert": {"enabled": true, "config": {}},
"Balloon.App.Notification": {"enabled": true, "config": {}},
"Balloon.App.ClamAv": {"enabled": true, "config": {}},
"Balloon.App.DesktopClient": {"enabled": true, "config": {}},
"Balloon.App.Burl": {"enabled": true, "config": {}},
Expand Down
38 changes: 25 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,45 @@
"title": "balloon",
"scripts": {
"start": "webpack-dev-server --open --config webpack.dev.js",
"start-any": "webpack-dev-server --open --config webpack.dev.js --https --host 0.0.0.0",
"build": "NODE_ENV=production webpack --config webpack.prod.js",
"install": "napa StefH/bower-kendo-ui-web:kendo-ui-web",
"postinstall": "echo > node_modules/kendo-ui-web/scripts/kendo.data.min.js; echo > node_modules/kendo-ui-web/scripts/kendo.draganddrop.min.js"
},
"dependencies": {
"@gyselroth/icon-collection": "^1.0.9",
"@openid/appauth": "^0.2.2",
"@babel/polyfill": "^7.4.4",
"@gyselroth/icon-collection": "^1.0.12",
"@openid/appauth": "^1.2.4",
"bundle-loader": "^0.5.6",
"i18next": "3.x",
"i18next-browser-languagedetector": "^2.2.4",
"i18next-localstorage-cache": "*",
"i18next-sprintf-postprocessor": "*",
"i18next-xhr-backend": "^1.5.1",
"jquery-i18next": "*",
"js-base64": "^2.5.1",
"kendo-ui-core": "^2018.3.1219",
"merge-jsons-webpack-plugin": "^1.0.18",
"merge-jsons-webpack-plugin": "^1.0.19",
"mobile-pull-to-refresh": "^0.2.1",
"qrcode.es": "^1.0.0",
"showdown": "^1.9.0",
"showdown-highlight": "^2.1.3",
"simplemde": "^1.11.2",
"slideout": "https://github.com/raffis/slideout/tarball/direction_fix",
"sw-precache-webpack-plugin": "^0.11.5",
"ubuntu-fontface": "^0.1.13",
"uglifyjs-webpack-plugin": "^2.1.1"
"uglifyjs-webpack-plugin": "^2.1.3",
"webpack-pwa-manifest": "^4.0.0",
"workbox-webpack-plugin": "^4.3.1"
},
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.3.1",
"babel-loader": "^8.0.5",
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"babel-loader": "^8.0.6",
"babel-plugin-transform-async-to-generator": "^6.24.1",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.7.0",
"css-loader": "^1.0.1",
"eslint": "^4.19.1",
"eslint": "^5.16.0",
"eslint-loader": "1.7.1",
"extract-text-webpack-plugin": "^3.0.2",
"favicons-webpack-plugin": "0.0.9",
Expand All @@ -39,15 +51,15 @@
"html-webpack-plugin": "^3.2.0",
"mini-css-extract-plugin": "^0.4.5",
"napa": "^3.0.0",
"node-sass": "^4.11.0",
"node-sass": "^4.12.0",
"sass-loader": "^7.1.0",
"source-map-loader": "^0.2.4",
"style-loader": "^0.23.1",
"svgxuse": "^1.2.6",
"url-loader": "^1.1.2",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14",
"webpack": "^4.35.0",
"webpack-cli": "^3.3.4",
"webpack-dev-server": "^3.7.2",
"webpack-merge": "^4.2.1"
},
"main": "index.html",
Expand Down
62 changes: 25 additions & 37 deletions src/app/Balloon.App.Burl/lib/lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,40 +25,18 @@ var app = {

preInit: function(core) {
this.balloon = core;
this.balloon.addNew(app.BURL_EXTENSION, 'app.burl.tree.burl_file', 'hyperlink', this.addBurl.bind(this));
this.balloon.addNew(app.BURL_EXTENSION, 'app.burl.tree.burl_file', 'file-burl', this.addBurl.bind(this));

this.balloon.fileExtIconMap[app.BURL_EXTENSION] = 'gr-i-language';
this.balloon.fileExtIconMap[app.BURL_EXTENSION] = 'gr-i-file-burl';
this.balloon.mimeFileExtMap['application/vnd.balloon.burl'] = app.BURL_EXTENSION;

this.balloon.addPreviewHandler('burl', this._handlePreview);
},

/**
* Checks if "preview" for a given node can be handled by this app.
* If it can handle it, return a handler to preview the file
*
* @param string mime
* @return void|function
*/
_handlePreview: function(node) {
if (app.isBurlFile(node)) {
return function(node) {
app.handleBurl(node);
}
}
},

/**
* Check if file is .burl
*
* @param object node
* @return bool
*/
isBurlFile: function(node) {
return this.BURL_EXTENSION === this.balloon.getFileExtension(node);
app.balloon.addFileHandler({
app: 'balloon burl',
ext: 'burl',
handler: app.handleBurl
});
},


addBurl: function() {
var $d = $.Deferred();
var $div = $('<div id="fs-burl-window"></div>');
Expand All @@ -67,8 +45,8 @@ var app = {
$div.html(
'<div class="error-message"></div>'+
'<div class="fs-window-form">'+
'<label>'+i18next.t('new_node.name')+'</label><input name="name" type="text"/>'+
'<label>'+i18next.t('app.burl.url')+'</label><input placeholder="http://www.example.org" name="url" type="text"/>'+
'<div class="fs-window-form-row"><label>'+i18next.t('new_node.name')+'</label><input name="name" type="text"/></div>'+
'<div class="fs-window-form-row"><label>'+i18next.t('app.burl.url')+'</label><input placeholder="http://www.example.org" name="url" type="text"/></div>'+
'</div>'+
'<div class="fs-window-secondary-actions">'+
'<input name="cancel" value='+i18next.t('button.cancel')+' type="submit" tabindex="2"/>'+
Expand Down Expand Up @@ -115,7 +93,7 @@ var app = {
return;
}

if(app.balloon.nodeExists(name+'.'+app.BURL_EXTENSION) || name === '') {
if(app.balloon.nodeExists(name+'.'+app.BURL_EXTENSION, true) || name === '') {
$input_name.addClass('error-input');
fieldsValid.name = false;
} else {
Expand Down Expand Up @@ -183,6 +161,16 @@ var app = {
url: this.balloon.base+'/files?name='+name+'&'+this.balloon.param('collection', this.balloon.getCurrentCollectionId()),
type: 'PUT',
data: url,
snackbar: {
message: 'app.burl.snackbar.file_created',
values: {
name: name
},
icon: 'undo',
iconAction: function(response) {
app.balloon.remove(response, true, true);
}
},
success: function(data) {
this.balloon.refreshTree('/collections/children', {id: this.balloon.getCurrentCollectionId()});
app.balloon.added_rename = data.id;
Expand All @@ -206,20 +194,20 @@ var app = {
* @return void
*/
handleBurl: function(node) {
this.balloon.xmlHttpRequest({
url: this.balloon.base+'/files/content',
app.balloon.xmlHttpRequest({
url: app.balloon.base+'/files/content',
type: 'GET',
data: {
id: this.balloon.id(node),
id: app.balloon.id(node),
},
dataType: 'text',
success: function (data) {
try {
let url = new URL(data);
var msg = i18next.t('app.burl.prompt.open_burl', url.href);
this.balloon.promptConfirm(msg, this._handleBurl, [url]);
app.balloon.promptConfirm(msg, app._handleBurl, [url]);
} catch (error) {
this.balloon.displayError(error);
app.balloon.displayError(error);
}
}.bind(this)
});
Expand Down
3 changes: 3 additions & 0 deletions src/app/Balloon.App.Burl/locale/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
},
"prompt": {
"open_burl": "Willst du %s in einem neuen Tab öffnen?"
},
"snackbar": {
"file_created": "Die URL-Verknüpfung <b>{{name}}</b> wurde erstellt."
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions src/app/Balloon.App.Burl/locale/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
},
"prompt": {
"open_burl": "Do you want to open %s in a new tab?"
},
"snackbar": {
"file_created": "The URL Shortcut <b>{{name}}</b> has been created."
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/app/Balloon.App.DesktopClient/lib/lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ var app = {
+ '<li id="fs-desktop-deb"><div class="icon"></div><span class="title">'+i18next.t('app.desktopclient.debian')+'</span><span class="download">'+i18next.t('app.desktopclient.download')+'</span></li>'
+ '<li id="fs-desktop-rpm"><div class="icon"></div><span class="title">'+i18next.t('app.desktopclient.redhat')+'</span><span class="download">'+i18next.t('app.desktopclient.download')+'</span></li>'
+ '</ul>'
+ '<div>'+i18next.t('app.desktopclient.documentation')+'</div>'
+'</div>');

$div.off('click').on('click', 'li', this.download);
Expand Down
3 changes: 2 additions & 1 deletion src/app/Balloon.App.DesktopClient/locale/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"debian": "DEB based (.deb)",
"redhat": "RPM based (.rpm)",
"download": "Download",
"hint": "Es gibt eine App, welche deine ganze Cloud auf deinen Desktop bringt. Die App gibt es für Windows, Mac OS X und Linux. Du kannst diese herunterladen, indem du auf {icon-app-download} klickst unten links."
"hint": "Es gibt eine App, welche deine ganze Cloud auf deinen Desktop bringt. Die App gibt es für Windows, Mac OS X und Linux. Du kannst diese herunterladen, indem du auf {icon-app-download} klickst unten links.",
"documentation": "In der <a target='_blank' href='https://balloons.readthedocs.io/en/latest/desktop-client'>Dokumentation (EN)</a> sind weitere Instruktionen wie der Desktop-Client unter Linux von Paketquellen installiert werden kann."
}
}
}
3 changes: 2 additions & 1 deletion src/app/Balloon.App.DesktopClient/locale/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"debian": "DEB based (.deb)",
"redhat": "RPM based (.rpm)",
"download": "Download",
"hint": "There is full featured desktop client app which brings your cloud to your desktop. The desktop client is available for Windows, Mac OS X and Linux. You can get if you hit the icon {icon-app-download} on the bottom left."
"hint": "There is full featured desktop client app which brings your cloud to your desktop. The desktop client is available for Windows, Mac OS X and Linux. You can get if you hit the icon {icon-app-download} on the bottom left.",
"documentation": "Also see the desktop client installation <a target='_blank' href='https://balloons.readthedocs.io/en/latest/desktop-client'>documentation</a> if you want further information or instructions how to install the desktop client on Linux via package sources."
}
}
}
Loading

0 comments on commit 78a3233

Please sign in to comment.