Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit52e3481

Browse files
committed
refactor(editor): order_list done
1 parent461b30f commit52e3481

File tree

6 files changed

+79
-5
lines changed

6 files changed

+79
-5
lines changed

‎lib/helper/converter/editor_to_html/class.ex‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ defmodule Helper.Converter.EditorToHTML.Class do
3030
"label__green"=>"list-label__green",
3131
"label__warn"=>"list-label__warn",
3232
"unorder_list_prefix"=>"list__item-unorder-prefix",
33+
"order_list_prefix"=>"list__item-order-prefix",
3334
"list_item"=>"list-item",
3435
"checklist_item"=>"list-checklist__item",
3536
"checklist_checkbox"=>"checklist__item-checkbox",

‎lib/helper/converter/editor_to_html/frags/list.ex‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ defmodule Helper.Converter.EditorToHTML.Frags.List do
99

1010
@classget_in(Class.article(),["list"])
1111

12+
@specget_item(:checklist|:unorder_list|:order_list,map)::T.html()
1213
defget_item(:unorder_list,%{
1314
"hideLabel"=>hide_label,
1415
"indent"=>indent,
@@ -30,6 +31,28 @@ defmodule Helper.Converter.EditorToHTML.Frags.List do
3031
</div>)
3132
end
3233

34+
defget_item(:order_list,%{
35+
"hideLabel"=>hide_label,
36+
"indent"=>indent,
37+
"label"=>label,
38+
"labelType"=>label_type,
39+
"prefixIndex"=>prefix_index,
40+
"text"=>text
41+
})do
42+
prefix_frag=frag(:order_list_prefix,prefix_index)
43+
label_frag=ifhide_label,do:"",else:frag(:label,label_type,indent,label)
44+
text_frag=frag(:text,text)
45+
46+
item_class=@class["list_item"]
47+
indent_class=@class["indent_#{indent}"]
48+
49+
~s(<div class="#{item_class}#{indent_class}">
50+
#{prefix_frag}
51+
#{label_frag}
52+
#{text_frag}
53+
</div>)
54+
end
55+
3356
defget_item(:checklist,%{
3457
"checked"=>checked,
3558
"hideLabel"=>hide_label,
@@ -53,12 +76,20 @@ defmodule Helper.Converter.EditorToHTML.Frags.List do
5376
</div>)
5477
end
5578

79+
@specfrag(:unorder_list_prefix)::T.html()
5680
deffrag(:unorder_list_prefix)do
5781
unorder_list_prefix_class=@class["unorder_list_prefix"]
5882

5983
~s(<div class="#{unorder_list_prefix_class}"></div>)
6084
end
6185

86+
@specfrag(:order_list_prefix,String.t())::T.html()
87+
deffrag(:order_list_prefix,prefix_index)whenis_binary(prefix_index)do
88+
order_list_prefix_class=@class["order_list_prefix"]
89+
90+
~s(<div class="#{order_list_prefix_class}">#{prefix_index}</div>)
91+
end
92+
6293
deffrag(:label,label_type,indent,label)do
6394
label_class=@class["label"]
6495
label_type_class=@class["label__#{label_type}"]

‎lib/helper/converter/editor_to_html/frontend_test/script.js‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎lib/helper/converter/editor_to_html/frontend_test/styles.css‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,11 @@ body {
3535
width:100%;
3636
}
3737

38-
.article-viewer-wrapper .list-wrapper .list-item .list__item-unorder-prefix {
38+
.article-viewer-wrapper .list-wrapper .list-item .list__item-order-prefix,
39+
.list__item-unorder-prefix {
3940
position: relative;
4041
margin-right:26px;
42+
color:#09aac1;
4143
}
4244

4345
.article-viewer-wrapper

‎lib/helper/converter/editor_to_html/validator/editor_schema.ex‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ defmodule Helper.Converter.EditorToHTML.Validator.EditorSchema do
3636
"hideLabel"=>[:boolean],
3737
"label"=>[:string],
3838
"labelType"=>[enum:@valid_list_label_type],
39+
"prefixIndex"=>[:string,required:false],
3940
"indent"=>[enum:@valid_list_indent],
4041
"text"=>[:string]
4142
}

‎test/helper/converter/editor_to_html_test/list_test.exs‎

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,49 @@ defmodule GroupherServer.Test.Helper.Converter.EditorToHTML.List do
6161
{:ok,editor_string}=Jason.encode(editor_json)
6262
{:ok,converted}=Parser.to_html(editor_string)
6363

64-
IO.inspect(converted,label:">> ")
64+
unorder_list_prefix_class=@class["unorder_list_prefix"]
65+
assertUtils.str_occurence(converted,unorder_list_prefix_class)==3
66+
end
67+
68+
@tag:wip2
69+
test"basic order list parse should work"do
70+
editor_json=
71+
set_items("order_list",[
72+
%{
73+
"checked"=>true,
74+
"hideLabel"=>false,
75+
"indent"=>0,
76+
"label"=>"label",
77+
"labelType"=>"default",
78+
"prefixIndex"=>"1.",
79+
"text"=>
80+
"一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。一个带着中文的很长的句子。"
81+
},
82+
%{
83+
"checked"=>false,
84+
"hideLabel"=>false,
85+
"indent"=>0,
86+
"label"=>"label",
87+
"labelType"=>"default",
88+
"prefixIndex"=>"2.",
89+
"text"=>"list item"
90+
},
91+
%{
92+
"checked"=>false,
93+
"hideLabel"=>false,
94+
"indent"=>1,
95+
"label"=>"green",
96+
"labelType"=>"green",
97+
"prefixIndex"=>"2.1",
98+
"text"=>"list item"
99+
}
100+
])
101+
102+
{:ok,editor_string}=Jason.encode(editor_json)
103+
{:ok,converted}=Parser.to_html(editor_string)
65104

66-
# checked_class= @class["checklist_checkbox_checked"]
67-
#assert Utils.str_occurence(converted,checked_class) ==1
105+
order_list_prefix_class=@class["order_list_prefix"]
106+
assertUtils.str_occurence(converted,order_list_prefix_class)==3
68107
end
69108

70109
@tag:wip

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp