fix dialog.delete: deleteDialog doesn't have to say the filename, for now.

docs README: updated README
This commit is contained in:
Mahdi Dibaiee
2015-09-03 15:57:48 +04:30
parent 79ae4c1a47
commit 8f37f52bec
8 changed files with 113 additions and 17 deletions

View File

@ -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;

View File

@ -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() {

View File

@ -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}

View File

@ -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>
);
}

View File

@ -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',

View File

@ -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;
}