Ejemplo n.º 1
0
export const getTiddlersWithField = (fieldName, value, options = {}) => {

  const tiddlers = options.tiddlers || $tw.wiki.allTitles();
  const isIncludeDrafts = (options.isIncludeDrafts === true);
  const result = basicUtils.makeHashMap();
  const keys = Object.keys(tiddlers);
  const hasOwnProp = $tw.utils.hop;
  let limit = options.limit || 0;

  for (let i = keys.length; i--;) {

    const tObj = getTiddler(tiddlers[keys[i]]);
    const fields = tObj.fields;
    if (hasOwnProp(fields, fieldName) && (!hasOwnProp(fields, 'draft.of') || isIncludeDrafts)) {
      if (!value || fields[fieldName] === value ) {
        result[fields.title] = tObj;
        if (--limit === 0) {
          break;
        }
      }
    }

  }

  return result;

};
Ejemplo n.º 2
0
export const mv = (oldPrefix, newPrefix, isForce, isDelete) => {

  if (oldPrefix === newPrefix || !oldPrefix || !newPrefix) {
    return;
  }

  isForce = (typeof isForce === 'boolean' ? isForce : false);
  isDelete = (typeof isDelete === 'boolean' ? isDelete : true);

  // prepare
  const targets = getTiddlersByPrefix(oldPrefix);
  const fromToMapper = basicUtils.makeHashMap();

  for (let i = targets.length; i--;) {

    const oldTRef = targets[i];
    const newTRef = oldTRef.replace(oldPrefix, newPrefix);
    if ($tw.wiki.tiddlerExists(newTRef) && !isForce) {
      return; // undefined
    }
    fromToMapper[oldTRef] = newTRef;

  }

  for (let oldTRef in fromToMapper) {

    setField(oldTRef, 'title', fromToMapper[oldTRef]);
    if (isDelete) {
      $tw.wiki.deleteTiddler(oldTRef);
    }
  }

  return fromToMapper;

};