Merge branch 'joanneong-facet-by-null-and-empty-string'

This commit is contained in:
Antonin Delpeuch 2018-04-04 17:47:45 +02:00
commit 1af7e380d2
15 changed files with 106 additions and 12 deletions

View File

@ -142,6 +142,7 @@ import com.google.refine.grel.controls.ForRange;
import com.google.refine.grel.controls.If; import com.google.refine.grel.controls.If;
import com.google.refine.grel.controls.IsBlank; import com.google.refine.grel.controls.IsBlank;
import com.google.refine.grel.controls.IsError; import com.google.refine.grel.controls.IsError;
import com.google.refine.grel.controls.IsEmptyString;
import com.google.refine.grel.controls.IsNonBlank; import com.google.refine.grel.controls.IsNonBlank;
import com.google.refine.grel.controls.IsNotNull; import com.google.refine.grel.controls.IsNotNull;
import com.google.refine.grel.controls.IsNull; import com.google.refine.grel.controls.IsNull;
@ -307,6 +308,7 @@ public class ControlFunctionRegistry {
registerControl("isNull", new IsNull()); registerControl("isNull", new IsNull());
registerControl("isNotNull", new IsNotNull()); registerControl("isNotNull", new IsNotNull());
registerControl("isEmptyString", new IsEmptyString());
registerControl("isBlank", new IsBlank()); registerControl("isBlank", new IsBlank());
registerControl("isNonBlank", new IsNonBlank()); registerControl("isNonBlank", new IsNonBlank());
registerControl("isNumeric", new IsNumeric()); registerControl("isNumeric", new IsNumeric());

View File

@ -0,0 +1,14 @@
package com.google.refine.grel.controls;
public class IsEmptyString extends IsTest {
@Override
protected String getDescription() {
return "Returns whether o is an empty string";
}
@Override
protected boolean test(Object o) {
return o != null && o.getClass().equals(String.class)
&& o.equals("");
}
}

View File

@ -514,7 +514,9 @@
"transpose": "Pagbalhin", "transpose": "Pagbalhin",
"columnize": "Kolumnays pinaagi sa Key/ Bili sa mga Kolum", "columnize": "Kolumnays pinaagi sa Key/ Bili sa mga Kolum",
"add-col-fetch": "Pun-i ang kolum sa pagkuha sa URLs basi sa kolum", "add-col-fetch": "Pun-i ang kolum sa pagkuha sa URLs basi sa kolum",
"facet-blank": "Bahin sa blangko", "facet-blank": "Bahin sa blangko (null o walay sulod nga pisi)",
"facet-null": "Bahin sa null",
"facet-empty-string": "Bahin sa walay sulod nga pisi",
"best-cand-edit-dist": "labing maayong ngalan sa kandidata nga usbon", "best-cand-edit-dist": "labing maayong ngalan sa kandidata nga usbon",
"spec-separator": "Palihug hinganli ang separator sa tunga sa orihinal nga ngalan sa mga kolum ug bili sa cells.", "spec-separator": "Palihug hinganli ang separator sa tunga sa orihinal nga ngalan sa mga kolum ug bili sa cells.",
"milli": "millisegundo", "milli": "millisegundo",

View File

@ -522,7 +522,9 @@
"log-length-facet": "Log of text length facet", "log-length-facet": "Log of text length facet",
"unicode-facet": "Unicode char-code facet", "unicode-facet": "Unicode char-code facet",
"facet-error": "Facet by error", "facet-error": "Facet by error",
"facet-blank": "Facet by blank", "facet-blank": "Facet by blank (null or empty string)",
"facet-null": "Facet by null",
"facet-empty-string": "Facet by empty string",
"text-filter": "Text filter", "text-filter": "Text filter",
"add-col-col": "Add column based on column", "add-col-col": "Add column based on column",
"new-col-name": "New column name", "new-col-name": "New column name",

View File

@ -490,7 +490,9 @@
"log-length-facet": "Faceta por longitud log. de texto", "log-length-facet": "Faceta por longitud log. de texto",
"unicode-facet": "Faceta por caracteres Unicode", "unicode-facet": "Faceta por caracteres Unicode",
"facet-error": "Faceta por error", "facet-error": "Faceta por error",
"facet-blank": "Faceta por blanco", "facet-blank": "Faceta por blanco (nulo o cuerda vacía)",
"facet-null": "Faceta por nulo",
"facet-empty-string": "Faceta por cuerda vacía",
"text-filter": "Filtro de texto", "text-filter": "Filtro de texto",
"add-col-col": "Agregar columna basada en la columna", "add-col-col": "Agregar columna basada en la columna",
"new-col-name": "Nuevo nombre de la columna", "new-col-name": "Nuevo nombre de la columna",

View File

@ -517,7 +517,9 @@
"transpose": "I-transpose", "transpose": "I-transpose",
"columnize": "Columnize ayon sa Key / Value Columns", "columnize": "Columnize ayon sa Key / Value Columns",
"add-col-fetch": "Magdagdag ng haligi sa pamamagitan ng pagkuha ng mga URL batay sa haligi", "add-col-fetch": "Magdagdag ng haligi sa pamamagitan ng pagkuha ng mga URL batay sa haligi",
"facet-blank": "Blangko ang facet", "facet-blank": "Blangko ang facet (wala o walang laman na string)",
"facet-null": "Wala ang facet",
"facet-empty-string": "walang laman na string ang facet",
"best-cand-edit-dist": "Ang distansya ng pag-edit ng pangalan ng pinakamahusay na kandidato", "best-cand-edit-dist": "Ang distansya ng pag-edit ng pangalan ng pinakamahusay na kandidato",
"spec-separator": "Mangyaring tukuyin ang separator sa pagitan ng mga orihinal na pangalan ng haligi at mga halaga ng cell.", "spec-separator": "Mangyaring tukuyin ang separator sa pagitan ng mga orihinal na pangalan ng haligi at mga halaga ng cell.",
"split-into": "Na hati sa", "split-into": "Na hati sa",

View File

@ -515,7 +515,9 @@
"transpose": "Transposer", "transpose": "Transposer",
"columnize": "Convertir en liste les colonnes de clé/valeur", "columnize": "Convertir en liste les colonnes de clé/valeur",
"add-col-fetch": "Ajouter une colonne en moissonnant les données depuis les URL dune colonne", "add-col-fetch": "Ajouter une colonne en moissonnant les données depuis les URL dune colonne",
"facet-blank": "Facette par valeur vide", "facet-blank": "Facette par valeur vide (nul ou chaîne vide)",
"facet-null": "Facette par nul",
"facet-empty-string": "Facette par chaîne vide",
"best-cand-edit-dist": "meilleure distance dédition du nom des candidats", "best-cand-edit-dist": "meilleure distance dédition du nom des candidats",
"spec-separator": "Merci dindiquer le séparateur entre les noms de colonnes originales et les valeurs des cellules.", "spec-separator": "Merci dindiquer le séparateur entre les noms de colonnes originales et les valeurs des cellules.",
"cluster-edit": "Grouper et éditer", "cluster-edit": "Grouper et éditer",

View File

@ -500,7 +500,9 @@
"log-length-facet": "Log of text length facet", "log-length-facet": "Log of text length facet",
"unicode-facet": "Unicode char-code facet", "unicode-facet": "Unicode char-code facet",
"facet-error": "Facet by error", "facet-error": "Facet by error",
"facet-blank": "Facet by blank", "facet-blank": "Facet by blank (null or empty string)",
"facet-null": "Facet by null",
"facet-empty-string": "Facet by empty string",
"text-filter": "Text filter", "text-filter": "Text filter",
"add-col-col": "Add column based on column", "add-col-col": "Add column based on column",
"new-col-name": "New column name", "new-col-name": "New column name",

View File

@ -515,7 +515,9 @@
"transpose": "Trasponi", "transpose": "Trasponi",
"columnize": "Colonnizza per colonne Chiave/Valore", "columnize": "Colonnizza per colonne Chiave/Valore",
"add-col-fetch": "Aggiungi colonna con URL, basandoti su", "add-col-fetch": "Aggiungi colonna con URL, basandoti su",
"facet-blank": "Per blank", "facet-blank": "Per blank (nullo o stringa vuota)",
"facet-null": "Per nullo",
"facet-empty-string": "Per stringa vuota",
"best-cand-edit-dist": "migliore 'edit distance' del nome candidati", "best-cand-edit-dist": "migliore 'edit distance' del nome candidati",
"spec-separator": "Per favore, specifica il separatore tra il nome della colonna originale ed il valore delle celle.", "spec-separator": "Per favore, specifica il separatore tra il nome della colonna originale ed il valore delle celle.",
"split-into": "Dividi in", "split-into": "Dividi in",

View File

@ -516,7 +516,9 @@
"transpose": "行列転置", "transpose": "行列転置",
"columnize": "行をカラムに転置する", "columnize": "行をカラムに転置する",
"add-col-fetch": "URLフェッチでカラムを作る", "add-col-fetch": "URLフェッチでカラムを作る",
"facet-blank": "空白ファセット", "facet-blank": "空白ファセット (ヌルまたは空の文字列)",
"facet-null": "ヌルファセット",
"facet-empty-string": "空の文字列ファセット",
"best-cand-edit-dist": "最良候補の名前の編集距離", "best-cand-edit-dist": "最良候補の名前の編集距離",
"spec-separator": "カラム名とセル値の区切り文字を指定してください。", "spec-separator": "カラム名とセル値の区切り文字を指定してください。",
"by": "基準", "by": "基準",

View File

@ -507,7 +507,9 @@
"transpose": "Transpor", "transpose": "Transpor",
"columnize": "Criar colunas a partir de colunas chave/valor", "columnize": "Criar colunas a partir de colunas chave/valor",
"add-col-fetch": "Add column by fetching URLs based on column", "add-col-fetch": "Add column by fetching URLs based on column",
"facet-blank": "Faceta por valores em branco", "facet-blank": "Faceta por valores em branco (nulo ou cadeia vazia)",
"facet-null": "Faceta por nulo",
"facet-empty-string": "Faceta por cadeia vazia",
"best-cand-edit-dist": "best candidate's name edit distance", "best-cand-edit-dist": "best candidate's name edit distance",
"spec-separator": "Por favor, especifique o separador entre os nomes das colunas e os valores das células.", "spec-separator": "Por favor, especifique o separador entre os nomes das colunas e os valores das células.",
"milli": "milissegundos", "milli": "milissegundos",

View File

@ -553,7 +553,8 @@
"transpose": "Преобразование", "transpose": "Преобразование",
"columnize": "Сгенерировать колонки Ключ/Значение", "columnize": "Сгенерировать колонки Ключ/Значение",
"add-col-fetch": "Добавить колонку посредством загрузки URL-ссылок исходной колонки", "add-col-fetch": "Добавить колонку посредством загрузки URL-ссылок исходной колонки",
"facet-blank": "Фасет по пустым полям", "facet-blank": "Фасет по пустым полям (ноль или пустая строка)",
"facet-null": "Фасет по ноль",
"best-cand-edit-dist": "расстояние Левенштейна названия лучшего кандидата", "best-cand-edit-dist": "расстояние Левенштейна названия лучшего кандидата",
"spec-separator": "Пожалуйста, укажите разделитель между наименованиями исходной колонки и значениями ячеек.", "spec-separator": "Пожалуйста, укажите разделитель между наименованиями исходной колонки и значениями ячеек.",
"milli": "милисекунд", "milli": "милисекунд",
@ -562,6 +563,33 @@
"move-to-end": "Переместить колонку в конец", "move-to-end": "Переместить колонку в конец",
"before-val": "перед значением ячейки", "before-val": "перед значением ячейки",
"dates": "даты", "dates": "даты",
"custom-facets": "Другие фасеты",
"word-facet": "Фасет по словам",
"duplicates-facet": "Фасет дубликатов",
"numeric-log-facet": "Логарифмический числовой фасет",
"bounded-log-facet": "Логарифмический фасет чисел >= 1",
"text-length-facet": "Фасет по длине текста",
"log-length-facet": "Логарифмический фасет по длине текста",
"unicode-facet": "Фасет по уникоду символов",
"facet-error": "Фасет по ошибкам",
"facet-empty-string": "Фасет по пустая строка",
"text-filter": "Текстовый фильтр",
"add-col-col": "Добавить колонку основываясь на текущей",
"new-col-name": "Наименование новой колонки",
"on-error": "В случае ошибки",
"set-blank": "оставить пустым",
"store-err": "сохранить ошибку",
"cache-responses": "Кешировать ответы",
"copy-val": "скопировать значение исходной колонки",
"warning-col-name": "Нужно ввести наименование колонки.",
"add-col-recon-val": "Добавить колонки из значений сверки",
"add-col-recon-col": "Добавить колонки из сверенной колонки",
"warning-no-property": "Пожалуйста, сначала выберите свойство.",
"configure-col": "Настроить эту колонку",
"remove-prop": "удалить",
"configure-prop": "настроить",
"no-settings": "У этого свойства настройки недоступны.",
"extend-not-reconciled": "Эта операция доступна только для сверенных колонок.",
"extend-not-supported": "Эта служба сверки не поддерживает Data Extension API. Попробуйте удалит и опять добавить службу. Если проблема останется, обратитесь к поставщику службы.", "extend-not-supported": "Эта служба сверки не поддерживает Data Extension API. Попробуйте удалит и опять добавить службу. Если проблема останется, обратитесь к поставщику службы.",
"last": "последняя", "last": "последняя",
"reverse": "В обратном порядке", "reverse": "В обратном порядке",

View File

@ -517,7 +517,9 @@
"transpose": "I-transpose", "transpose": "I-transpose",
"columnize": "I-columnize sa pamamagitan ng Key/Value ng mga kolum", "columnize": "I-columnize sa pamamagitan ng Key/Value ng mga kolum",
"add-col-fetch": "Magdagdag ng kolum sa pamamagitang ng pag-fetch ng mga URL basi sa kolum", "add-col-fetch": "Magdagdag ng kolum sa pamamagitang ng pag-fetch ng mga URL basi sa kolum",
"facet-blank": "Ang facet ayon sa blangko", "facet-blank": "Ang facet ayon sa blangko (wala ou walang laman na string)",
"facet-null": "Ang facet ayon sa wala",
"facet-empty-string": "Ang facet ayon sa walang laman na string",
"best-cand-edit-dist": "ang pag-edit sa distansya ng pangalang ng pinakamagaling na kandidato", "best-cand-edit-dist": "ang pag-edit sa distansya ng pangalang ng pinakamagaling na kandidato",
"spec-separator": "Pakiusap i-specify ang tagapaghiwalay sa pagitan ng orihinal na pangalan ng kolum at mga balyu ng cell.", "spec-separator": "Pakiusap i-specify ang tagapaghiwalay sa pagitan ng orihinal na pangalan ng kolum at mga balyu ng cell.",
"split-into": "Ihiwalay sa", "split-into": "Ihiwalay sa",

View File

@ -490,7 +490,9 @@
"log-length-facet": "文本长度的对数值归类", "log-length-facet": "文本长度的对数值归类",
"unicode-facet": "Unicode字符归类", "unicode-facet": "Unicode字符归类",
"facet-error": "按错误归类", "facet-error": "按错误归类",
"facet-blank": "按空白归类", "facet-blank": "按空白归类 (null或空字符串)",
"facet-null": "按null归类",
"facet-empty-string": "按空字符串归类",
"text-filter": "文本过滤器", "text-filter": "文本过滤器",
"add-col-col": "基于当前列添加列", "add-col-col": "基于当前列添加列",
"new-col-name": "新列名称", "new-col-name": "新列名称",

View File

@ -245,6 +245,34 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
); );
} }
}, },
{
id: "core/null-facet",
label: $.i18n._('core-views')["facet-null"],
click: function() {
ui.browsingEngine.addFacet(
"list",
{
"name": column.name,
"columnName": column.name,
"expression": "isNull(value)"
}
);
}
},
{
id: "core/empty-string-facet",
label: $.i18n._('core-views')["facet-empty-string"],
click: function() {
ui.browsingEngine.addFacet(
"list",
{
"name": column.name,
"columnName": column.name,
"expression": "isEmptyString(value)"
}
);
}
},
{ {
id: "core/blank-facet", id: "core/blank-facet",
label: $.i18n._('core-views')["facet-blank"], label: $.i18n._('core-views')["facet-blank"],