fix dialog.delete: deleteDialog doesn't have to say the filename, for now.
docs README: updated README
This commit is contained in:
@ -57,7 +57,6 @@ export async function createDirectory(...args) {
|
||||
}
|
||||
|
||||
export async function rename(file, newName) {
|
||||
console.log(file);
|
||||
let path = (file.path || '').slice(1); // remove starting slash
|
||||
let oldPath = (path + file.name);
|
||||
let newPath = path + newName;
|
||||
|
@ -3,6 +3,7 @@ import { connect } from 'react-redux';
|
||||
import changedir from 'actions/changedir';
|
||||
import { bind } from 'store';
|
||||
|
||||
// TODO: Fix history not working when clicking on sdcard
|
||||
@connect(props)
|
||||
export default class Breadcrumb extends Component {
|
||||
render() {
|
||||
|
@ -1,8 +1,11 @@
|
||||
import React, { Component } from 'react';
|
||||
import { template } from 'utils';
|
||||
|
||||
export default class Dialog extends Component {
|
||||
render() {
|
||||
let conditionalInput = this.props.input ? <input ref='input' /> : '';
|
||||
let { input, title, description, active } = this.props;
|
||||
let conditionalInput = input ? <input ref='input' /> : '';
|
||||
|
||||
let buttons = this.props.buttons.map((button, i) => {
|
||||
return <button className={button.className + ' btn'} key={i}
|
||||
onClick={button.action.bind(this)}>
|
||||
@ -10,12 +13,12 @@ export default class Dialog extends Component {
|
||||
</button>;
|
||||
});
|
||||
|
||||
let className = this.props.active ? 'dialog active' : 'dialog';
|
||||
let className = active ? 'dialog active' : 'dialog';
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<p className='regular-medium'>{this.props.title}</p>
|
||||
<p className='light-medium'>{this.props.description}</p>
|
||||
<p className='regular-medium'>{title}</p>
|
||||
<p className='light-medium'>{description}</p>
|
||||
|
||||
{conditionalInput}
|
||||
|
||||
|
@ -19,6 +19,7 @@ let FileMenu = connect(state => state.get('fileMenu'))(Menu);
|
||||
let DirectoryMenu = connect(state => state.get('directoryMenu'))(Menu);
|
||||
|
||||
let RenameDialog = connect(state => state.get('renameDialog'))(Dialog);
|
||||
let DeleteDialog = connect(state => state.get('deleteDialog'))(Dialog);
|
||||
|
||||
export default class Root extends Component {
|
||||
render() {
|
||||
@ -34,6 +35,7 @@ export default class Root extends Component {
|
||||
<DirectoryMenu />
|
||||
|
||||
<RenameDialog />
|
||||
<DeleteDialog />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ export default {
|
||||
},
|
||||
deleteDialog: {
|
||||
title: 'Delete',
|
||||
description: 'Are you sure you want to remove @activeFile.name?',
|
||||
description: 'Are you sure you want to remove this file?',
|
||||
buttons: [
|
||||
{
|
||||
text: 'No',
|
||||
|
@ -1,3 +1,25 @@
|
||||
import store from 'store';
|
||||
|
||||
export function type(obj) {
|
||||
return Object.prototype.toString.call(obj).slice(8, -1);
|
||||
}
|
||||
|
||||
export function template(string, props) {
|
||||
return string.replace(/@(\S+)/g, (all, match) => {
|
||||
return getKey(props, match);
|
||||
});
|
||||
}
|
||||
|
||||
export function getKey(object = store.getState().toJS(), key) {
|
||||
let parent = object;
|
||||
|
||||
do {
|
||||
let dot = key.indexOf('.');
|
||||
if (dot === -1) dot = key.length;
|
||||
parent = parent[key.slice(0, dot)];
|
||||
|
||||
key = key.slice(dot + 1);
|
||||
} while (key)
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
Reference in New Issue
Block a user