Merge branch 'develop' of http://git.trustie.net/jasder/forgeplus-react into develop

# Conflicts:
#	src/forge/Activity/Activity.js
This commit is contained in:
caicai8 2020-03-27 18:30:17 +08:00
commit 636d2ee36b
10 changed files with 481 additions and 323 deletions

View File

@ -3,7 +3,7 @@
<component name="ChangeListManager">
<list default="true" id="9830c5da-176a-4c72-a301-9f6ce98c82fe" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/forge/Merge/MessageCount.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/forge/Merge/MessageCount.js" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@ -14,19 +14,10 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.gitignore">
<entry file="file://$PROJECT_DIR$/src/forge/Merge/merge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1275">
<caret line="75" column="14" selection-start-line="75" selection-start-column="14" selection-end-line="75" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Settings/Setting.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1309">
<caret line="80" column="27" selection-start-line="80" selection-start-column="27" selection-end-line="80" selection-end-column="27" />
<state relative-caret-position="381">
<caret line="296" selection-start-line="296" selection-end-line="296" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
@ -35,33 +26,76 @@
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Newfile/Index.js">
<entry file="file://$PROJECT_DIR$/src/forge/Order/Detail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="54" column="12" selection-start-line="54" selection-start-column="12" selection-end-line="54" selection-end-column="12" />
<state relative-caret-position="268">
<caret line="114" column="13" selection-start-line="114" selection-start-column="13" selection-end-line="114" selection-end-column="13" />
<folding>
<element signature="e#0#42#0" expanded="true" />
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MergeDetail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="249" column="13" selection-start-line="249" selection-start-column="13" selection-end-line="253" selection-end-column="15" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js">
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MessageCount.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1541">
<caret line="91" column="54" selection-start-line="91" selection-start-column="54" selection-end-line="91" selection-end-column="54" />
<state relative-caret-position="63">
<caret line="538" column="27" selection-start-line="538" selection-start-column="27" selection-end-line="538" selection-end-column="27" />
<folding>
<element signature="e#0#38#0" expanded="true" />
<element signature="e#0#40#0" expanded="true" />
<element signature="e#16273#18539#0" />
<element signature="e#17250#18162#0" />
<element signature="e#18177#18487#0" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Settings/Index.js">
<entry file="file://$PROJECT_DIR$/src/forge/Version/version.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<state relative-caret-position="112">
<caret line="94" column="34" selection-start-line="94" selection-start-column="34" selection-end-line="94" selection-end-column="34" />
<folding>
<element signature="e#0#42#0" expanded="true" />
<element signature="e#2843#3359#0" />
<element signature="e#3376#4117#0" />
<element signature="e#4134#4538#0" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Order/order.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="344" column="8" selection-start-line="344" selection-start-column="8" selection-end-line="352" selection-end-column="14" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/forge/Order/OrderItem.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-33">
<caret line="19" column="25" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
@ -73,10 +107,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>versions</find>
<find>缺陷</find>
<find>contents/file</find>
<find>新建翻转课堂</find>
<find>nHeader</find>
<find>点赞</find>
<find>fork</find>
@ -93,11 +123,26 @@
<find>subFileType</find>
<find>.ide</find>
<find>.idea</find>
<find>deleteUser</find>
<find>axios.delete</find>
<find>style=</find>
<find>width75f</find>
<find>max-width</find>
<find>请输入合并</find>
<find>journal-list-item</find>
<find>issue-tag-show</find>
<find>创建工单</find>
<find>创建</find>
<find>.map((item,key)=&gt;{</find>
<find>.map((item,key)</find>
<find>评论成</find>
<find>该合并请求可以进行自动合并操作</find>
</findStrings>
<dirStrings>
<dir>$PROJECT_DIR$/src/forge</dir>
<dir>$PROJECT_DIR$</dir>
<dir>$PROJECT_DIR$/src</dir>
<dir>$PROJECT_DIR$/src/forge</dir>
<dir>$PROJECT_DIR$/src/forge/Merge</dir>
</dirStrings>
</component>
<component name="Git.Settings">
@ -112,21 +157,27 @@
<option value="$PROJECT_DIR$/src/forge/Index.js" />
<option value="$PROJECT_DIR$/src/forge/Main/CoderRootFileDetail.js" />
<option value="$PROJECT_DIR$/src/forge/Order/Tags.js" />
<option value="$PROJECT_DIR$/src/forge/Order/Milepost.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/merge.js" />
<option value="$PROJECT_DIR$/src/modules/tpm/NewHeader.js" />
<option value="$PROJECT_DIR$/src/forge/Order/New.js" />
<option value="$PROJECT_DIR$/src/forge/Order/Detail.js" />
<option value="$PROJECT_DIR$/src/forge/Order/UpdateDetail.js" />
<option value="$PROJECT_DIR$/src/forge/Order/CopyDetail.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/NewMerge.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/MessageCount.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/MergeSubmit.js" />
<option value="$PROJECT_DIR$/src/forge/Main/Detail.js" />
<option value="$PROJECT_DIR$/src/forge/Main/CoderRootDirectory.js" />
<option value="$PROJECT_DIR$/src/forge/Settings/Setting.js" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js" />
<option value="$PROJECT_DIR$/src/forge/Settings/Collaborator.js" />
<option value="$PROJECT_DIR$/src/forge/Order/Milepost.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/merge.js" />
<option value="$PROJECT_DIR$/src/forge/Activity/Activity.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/merge.css" />
<option value="$PROJECT_DIR$/src/forge/Order/order.css" />
<option value="$PROJECT_DIR$/src/forge/Merge/MergeDetail.js" />
<option value="$PROJECT_DIR$/src/forge/Version/version.js" />
<option value="$PROJECT_DIR$/src/forge/Order/Detail.js" />
<option value="$PROJECT_DIR$/src/forge/Merge/MessageCount.js" />
</list>
</option>
</component>
@ -163,14 +214,14 @@
<item name="forgeplus-react" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="forge" type="462c0819:PsiDirectoryNode" />
<item name="Newfile" type="462c0819:PsiDirectoryNode" />
<item name="Merge" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="forgeplus-react" type="b2602c69:ProjectViewProjectNode" />
<item name="forgeplus-react" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="forge" type="462c0819:PsiDirectoryNode" />
<item name="Settings" type="462c0819:PsiDirectoryNode" />
<item name="Version" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
@ -220,18 +271,21 @@
<workItem from="1584692401543" duration="6228000" />
<workItem from="1585015135223" duration="21118000" />
<workItem from="1585194891947" duration="1630000" />
<workItem from="1585210651078" duration="259000" />
<workItem from="1585210651078" duration="1600000" />
<workItem from="1585217705353" duration="104000" />
<workItem from="1585217834609" duration="4000" />
<workItem from="1585217980103" duration="3406000" />
<workItem from="1585288258489" duration="7670000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="30186000" />
<option name="totallyTimeSpent" value="42711000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="1440" height="900" extended-state="0" />
<editor active="true" />
<layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25679544" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.16881259" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
@ -244,7 +298,7 @@
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Database Changes" order="8" />
<window_info anchor="bottom" id="Version Control" order="9" weight="0.24096386" />
<window_info active="true" anchor="bottom" id="Terminal" order="10" visible="true" weight="0.4807229" />
<window_info active="true" anchor="bottom" id="Terminal" order="10" visible="true" weight="0.713253" />
<window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
@ -340,18 +394,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/merge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="276" column="20" selection-start-line="276" selection-start-column="20" selection-end-line="276" selection-end-column="20" />
<folding>
<element signature="e#0#42#0" expanded="true" />
<element signature="e#6583#7400#0" />
<element signature="e#7409#9273#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
@ -370,18 +412,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/Milepost.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="172">
<caret line="280" column="38" selection-start-line="280" selection-start-column="38" selection-end-line="280" selection-end-column="38" />
<folding>
<element signature="e#0#40#0" expanded="true" />
<element signature="e#4332#4367#0" />
<element signature="e#4350#5226#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/quillForEditor/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="125">
@ -389,16 +419,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/NewMerge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="101">
<caret line="202" column="40" selection-start-line="202" selection-start-column="40" selection-end-line="202" selection-end-column="40" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/CopyDetail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="360">
@ -486,36 +506,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MessageCount.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="32">
<caret line="428" column="11" selection-start-line="428" selection-start-column="11" selection-end-line="428" selection-end-column="238" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/Detail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2872">
<caret line="327" lean-forward="true" selection-start-line="327" selection-end-line="327" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/OrderItem.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="19" column="25" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Main/DetailTop.js">
<provider selected="true" editor-type-id="text-editor">
<state>
@ -534,16 +524,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/order.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-5010">
<caret line="23" column="19" selection-start-line="23" selection-start-column="19" selection-end-line="23" selection-end-column="19" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Main/CoderRootFileDetail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1049">
@ -576,16 +556,9 @@
<state relative-caret-position="-9766" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1275">
<caret line="75" column="14" selection-start-line="75" selection-start-column="14" selection-end-line="75" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Settings/Setting.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1309">
<state relative-caret-position="1360">
<caret line="80" column="27" selection-start-line="80" selection-start-column="27" selection-end-line="80" selection-end-column="27" />
<folding>
<element signature="e#0#42#0" expanded="true" />
@ -595,14 +568,41 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Newfile/Index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="54" column="12" selection-start-line="54" selection-start-column="12" selection-end-line="54" selection-end-column="12" />
<state relative-caret-position="884">
<caret line="52" column="31" selection-start-line="52" selection-start-column="31" selection-end-line="52" selection-end-column="31" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272">
<caret line="16" column="25" selection-start-line="16" selection-start-column="25" selection-end-line="16" selection-end-column="25" />
<folding>
<element signature="e#0#38#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Settings/Collaborator.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="237">
<caret line="137" column="24" lean-forward="true" selection-start-line="137" selection-start-column="24" selection-end-line="137" selection-end-column="24" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="444">
<caret line="75" column="14" selection-start-line="75" selection-start-column="14" selection-end-line="75" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Settings/Index.js">
<provider selected="true" editor-type-id="text-editor">
<state>
@ -612,12 +612,143 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Newfile/UserSubmitComponent.js">
<entry file="file://$PROJECT_DIR$/src/forge/Order/Milepost.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1541">
<caret line="91" column="54" selection-start-line="91" selection-start-column="54" selection-end-line="91" selection-end-column="54" />
<state relative-caret-position="2822">
<caret line="171" column="10" selection-start-line="171" selection-start-column="10" selection-end-line="171" selection-end-column="10" />
<folding>
<element signature="e#0#38#0" expanded="true" />
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Activity/Activity.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="354">
<caret line="166" column="11" selection-start-line="166" selection-start-column="11" selection-end-line="166" selection-end-column="11" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MergeItem.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-12">
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/NewMerge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1216">
<caret line="202" column="10" selection-start-line="202" selection-start-column="10" selection-end-line="202" selection-end-column="10" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/UpdateMerge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-3457">
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/index.css">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/merge.css">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="454">
<caret line="31" column="23" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/order.css">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="464" column="1" lean-forward="true" selection-start-line="464" selection-start-column="1" selection-end-line="464" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/OrderItem.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-33">
<caret line="19" column="25" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/order.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="344" column="8" selection-start-line="344" selection-start-column="8" selection-end-line="352" selection-end-column="14" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Version/version.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="112">
<caret line="94" column="34" selection-start-line="94" selection-start-column="34" selection-end-line="94" selection-end-column="34" />
<folding>
<element signature="e#0#42#0" expanded="true" />
<element signature="e#2843#3359#0" />
<element signature="e#3376#4117#0" />
<element signature="e#4134#4538#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Order/Detail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="268">
<caret line="114" column="13" selection-start-line="114" selection-start-column="13" selection-end-line="114" selection-end-column="13" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/merge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="381">
<caret line="296" selection-start-line="296" selection-end-line="296" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MergeDetail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="249" column="13" selection-start-line="249" selection-start-column="13" selection-end-line="253" selection-end-column="15" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/forge/Merge/MessageCount.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="63">
<caret line="538" column="27" selection-start-line="538" selection-start-column="27" selection-end-line="538" selection-end-column="27" />
<folding>
<element signature="e#0#40#0" expanded="true" />
<element signature="e#16273#18539#0" />
<element signature="e#17250#18162#0" />
<element signature="e#18177#18487#0" />
</folding>
</state>
</provider>

View File

@ -139,30 +139,16 @@ class Detail extends Component{
watchers_count:undefined ,
praises_count:undefined ,
forked_count:undefined,
watched: false,
praised: false,
http_url: undefined,
author:undefined,
// current_user:undefined,
branchs:undefined,
branchList:undefined,
branchLastCommit:undefined,
}
}
getUserInfo=()=>{
const url = `/users/me.json`;
axios.get(url).then(result=>{
if(result && result.data.login){
this.setState({
current_user:result.data
})
}
}).catch(error=>{
console.log(error)
})
}
componentDidMount=()=>{
this.getDetail();
}
@ -187,7 +173,8 @@ class Detail extends Component{
isDeveloper:result.data.permission && result.data.permission === "Developer",
http_url: result.data.clone_url,
author:result.data.author,
praised: result.data.praised,
watched: result.data.watched,
watchers_count:result.data.watchers_count,
praises_count:result.data.praises_count,
forked_count:result.data.forked_count,
@ -202,51 +189,51 @@ class Detail extends Component{
// 关注和取消关注
focusFunc =(flag)=>{
const { project_id } = this.state;
if(!flag){
const url = `/projects/${project_id}/watchers/follow.json`;
axios.post(url).then(result=>{
if(result && result.data.status === 0){
this.getDetail();
}
}).catch(error=>{
console.log(error);
})
}else{
const url = `/projects/${project_id}/watchers/unfollow.json`;
axios.delete(url).then(result=>{
if(result && result.data.status === 0){
this.getDetail();
}
}).catch(error=>{
console.log(error);
})
}
axios({
method: flag? 'delete' : 'post',
url: `/projects/${project_id}/watchers/${flag? 'unfollow' : 'follow'}.json`
})
.then(result => {
if(result && result.data.status === 0){
this.setWatchersCount(result.data.watchers_count, result.data.watched);
}
})
.catch(error => {
console.log(error);
});
}
// 点赞和取消点赞
pariseFunc=(flag)=>{
const { project_id } = this.state;
if(!flag){
const url = `/projects/${project_id}/praise_tread/like.json`;
axios.post(url).then(result=>{
if(result && result.data.status === 0){
this.getDetail();
}
}).catch(error=>{
console.log(error);
})
}else{
const url = `/projects/${project_id}/praise_tread/unlike.json`;
axios.delete(url).then(result=>{
if(result && result.data.status === 0){
this.getDetail();
}
}).catch(error=>{
console.log(error);
})
}
axios({
method: flag? 'delete' : 'post',
url: `/projects/${project_id}/praise_tread/${flag? 'unlike' : 'like'}.json`
})
.then(result => {
if(result && result.data.status === 0){
this.setPraisesCount(result.data.praises_count, result.data.praised)
}
})
.catch(error => {
console.log(error);
});
}
setWatchersCount = (count, is_watched) => {
this.setState({
watched: is_watched,
watchers_count: count
})
}
setPraisesCount = (count, is_praised) => {
this.setState({
praised: is_praised,
praises_count: count
})
}
// fork项目
forkFunc=()=>{
this.setState({
@ -290,8 +277,7 @@ class Detail extends Component{
}
render(){
const { projectDetail , watchers_count , praises_count , forked_count , isSpin , isManager } = this.state;
const { projectDetail , watchers_count , praises_count , forked_count , isSpin , isManager, watched, praised } = this.state;
const url = this.props.history.location.pathname;
const urlArr= url.split("/");
const urlFlag = (urlArr.length === 3);
@ -328,16 +314,16 @@ class Detail extends Component{
</ul>
<span className="df">
<span className="detail_tag_btn">
<a className="detail_tag_btn_name" onClick={()=>this.focusFunc(projectDetail && projectDetail.watched)}>
<img src={projectDetail && projectDetail.watched ? img_focused : img_focus} alt="" width="14px"/>
{projectDetail && projectDetail.watched ? '取消关注':'关注'}
<a className="detail_tag_btn_name" onClick={()=>this.focusFunc(watched)}>
<img src={watched ? img_focused : img_focus} alt="" width="14px"/>
{watched ? '取消关注':'关注'}
</a>
<span className="detail_tag_btn_count">{watchers_count}</span>
</span>
<span className="detail_tag_btn">
<a className="detail_tag_btn_name" onClick={()=>this.pariseFunc(projectDetail && projectDetail.praised)}>
<img src={projectDetail && projectDetail.praised ? img_parised : img_parise} width="13px" alt=""/>
{projectDetail && projectDetail.praised ? '取消点赞':'点赞'}
<a className="detail_tag_btn_name" onClick={()=>this.pariseFunc(praised)}>
<img src={praised ? img_parised : img_parise} width="13px" alt=""/>
{praised ? '取消点赞':'点赞'}
</a>
<span className="detail_tag_btn_count">{praises_count}</span>
</span>

View File

@ -235,14 +235,23 @@ class MergeDetail extends Component{
<div className="main">
<div className="topWrapper">
<Nav {...this.props} {...this.state}/>
<Link to={`/projects/${projectsId}/merge/new`} className="topWrapper_btn">创建合并请求</Link>
{
data && data.issue.user_permission ?
<Link to={`/projects/${projectsId}/merge/new`} className="topWrapper_btn">创建合并请求</Link>
: ''
}
</div>
<div>
<div className="detailContent">
<p>
<span className="font-16" > { data && data.issue.subject}</span>
<div>
<Link to={`/projects/${projectsId}/merge/${mergeid}/updatemerge`} className="color-blue fr">编辑</Link>
<div>
{
data && data.issue.user_permission ?
<Link to={`/projects/${projectsId}/merge/${mergeid}/updatemerge`} className="color-blue fr">编辑</Link>
: ''
}
</div>
</p>
<p className="mt15">{ data && data.issue.description}</p>

View File

@ -479,7 +479,11 @@ class MessageCount extends Component{
<div className="main">
<div className="topWrapper">
<Nav {...this.props} {...this.state}/>
<Link to={`/projects/${projectsId}/merge/new`} className="topWrapper_btn">创建合并请求</Link>
{
data && data.issue.user_permission ?
<Link to={`/projects/${projectsId}/merge/new`} className="topWrapper_btn">创建合并请求</Link>
: ''
}
</div>
<div>
<div className="detailContent">
@ -499,7 +503,11 @@ class MessageCount extends Component{
{ data && data.issue.author_name} { data && data.issue.created_at }创建{ data && data.issue.journals_count && data.issue.journals_count > 0 ?` · ${data.issue.journals_count} 条评论`:""}
</span>
<span className="pull-right lineH32">
<Link to={`/projects/${projectsId}/merge/${mergeId}/UpdateMerge`} className="color-blue fr">编辑</Link>
{
data && data.issue.user_permission ?
<Link to={`/projects/${projectsId}/merge/${mergeId}/UpdateMerge`} className="color-blue fr">编辑</Link>
: ''
}
</span>
</p>
<div className="df mt20">
@ -529,45 +537,51 @@ class MessageCount extends Component{
</Spin>
{ Paginations }
<div className="df" style={{display:this.state.data&&this.state.data.pull_request.status===1?'none':'flex'}}>
<img className="user_img" src={getImageUrl(`images/${current_user && current_user.image_url}`)} alt=""/>
<div className="new_context" >
<p>该合并请求可以进行自动合并操作</p>
<p style={{marginTop:15,display:this.state.mergekey==='rebase'?this.state.buttonshow==='none'?"block":"none":this.state.ismesrge==='none'?"block":"none"}}>
{/* <button className="topmerge_btn" onClick={this.submitmerge} >{this.state.mergename}</button> */}
{/* <Dropdown style={{marginBottom:5}} overlay={menu} trigger={['click']} > */}
<Dropdown.Button overlay={menu} type="primary" onClick={this.submitmerge} icon={<Icon type="caret-down"/>}>
{this.state.mergename}
</Dropdown.Button>
{/* </Dropdown> */}
</p>
<div style={{display:this.state.ismesrge,marginTop:15}}>
<Input placeholder="标题" value={this.state.title} onChange={this.changtitlepr}/>
<div className="quillContent" style={{marginTop:"20px"}}>
<QuillForEditor
value = {this.state.body}
wrapStyle={{
height: '220px',
opacity:1,
}}
// autoFocus={true}
style={{ height: '170px' }}
placeholder="评论内容..."
options={options}
onContentChange={this.changbodypr}
/>
{
data && data.issue.user_permission ?
<div className="df" style={{display:this.state.data&&this.state.data.pull_request.status===1?'none':'flex'}}>
<img className="user_img" src={getImageUrl(`images/${current_user && current_user.image_url}`)} alt=""/>
<div className="new_context" >
<p>该合并请求可以进行自动合并操作</p>
<p style={{marginTop:15,display:this.state.mergekey==='rebase'?this.state.buttonshow==='none'?"block":"none":this.state.ismesrge==='none'?"block":"none"}}>
{/* <button className="topmerge_btn" onClick={this.submitmerge} >{this.state.mergename}</button> */}
{/* <Dropdown style={{marginBottom:5}} overlay={menu} trigger={['click']} > */}
<Dropdown.Button overlay={menu} type="primary" onClick={this.submitmerge} icon={<Icon type="caret-down"/>}>
{this.state.mergename}
</Dropdown.Button>
{/* </Dropdown> */}
</p>
<div style={{display:this.state.ismesrge,marginTop:15}}>
<Input placeholder="标题" value={this.state.title} onChange={this.changtitlepr}/>
<div className="quillContent" style={{marginTop:"20px"}}>
<QuillForEditor
value = {this.state.body}
wrapStyle={{
height: '220px',
opacity:1,
}}
// autoFocus={true}
style={{ height: '170px' }}
placeholder="请输入合并请求描述..."
options={options}
onContentChange={this.changbodypr}
/>
</div>
{/* <TextArea placeholder="请输入合并描述..." style={{height:"300px",marginTop:15}} value={this.state.body} onChange={this.changbodypr} /> */}
</div>
<p className="clearfix mt15" style={{display:this.state.buttonshow}}>
<a className="topWrapper_btn " type="submit" onClick={()=>this.prmerge()}>合并请求</a>
<a className="a_btn cancel_btn " type="submit" style={{marginLeft:15}} onClick={this.nonemerge}>取消</a>
</p>
</div>
{/* <TextArea placeholder="请输入合并描述..." style={{height:"300px",marginTop:15}} value={this.state.body} onChange={this.changbodypr} /> */}
</div>
<p className="clearfix mt15" style={{display:this.state.buttonshow}}>
<a className="topWrapper_btn " type="submit" onClick={()=>this.prmerge()}>合并请求</a>
<a className="a_btn cancel_btn " type="submit" style={{marginLeft:15}} onClick={this.nonemerge}>取消</a>
</p>
</div>
</div>
</div>
: ''
}
<div className="order_line" style={{marginLeft:80}}></div>
<div className="df">
<img className="user_img" src={getImageUrl(`images/${current_user && current_user.image_url}`)} alt=""/>
@ -590,7 +604,7 @@ class MessageCount extends Component{
}}
// autoFocus={true}
style={{ height: '170px' }}
placeholder="请输入合并描述..."
placeholder="请输入评论内容..."
options={options}
onContentChange={this.changeComments}
/>

View File

@ -254,25 +254,25 @@ class merge extends Component{
: ''
}
</div>
<div className="topWrapper" style={{borderBottom:"none"}}>
<p className="topWrapper_type">
<li className={openselect ? "active":""} onClick={()=>this.openorder(1)}>{data && data.open_count ? data.open_count : 0}个开启中</li>
<li className={closeselect ? "active":""} onClick={()=>this.openorder(2)}>{data && data.close_count ? data.close_count : 0}个已关闭</li>
{/* <span onClick={this.openorder} className={author_id ? "active":""}>{data && data.open_count}</span>
<span onClick={this.closeorder} className={author_id ? "active":""}>{data && data.close_count}个已关闭</span> */}
</p>
<div>
<Search
placeholder="搜索"
enterButton
onSearch={this.searchFunc}
style={{ width: 300 }}
/>
</div>
</div>
{
data && data.search_count && data.search_count > 0 ?
<div>
<div className="topWrapper" style={{borderBottom:"none"}}>
<p className="topWrapper_type">
<li className={openselect ? "active":""} onClick={()=>this.openorder(1)}>{data && data.open_count}个开启中</li>
<li className={closeselect ? "active":""} onClick={()=>this.openorder(2)}>{data && data.close_count}个已关闭</li>
{/* <span onClick={this.openorder} className={author_id ? "active":""}>{data && data.open_count}</span>
<span onClick={this.closeorder} className={author_id ? "active":""}>{data && data.close_count}个已关闭</span> */}
</p>
<div>
<Search
placeholder="搜索"
enterButton
onSearch={this.searchFunc}
style={{ width: 300 }}
/>
</div>
</div>
<Spin spinning={isSpin}>
<div className="f-wrap-between mb20">
<ul >

View File

@ -101,7 +101,7 @@ class Detail extends Component{
issue_id:data.id,
attachment_ids:fileList
}).then(result=>{
if(result){
if(result && result.journals_count > 0){
this.props.form.setFieldsValue({
content: ""
});
@ -452,10 +452,15 @@ class Detail extends Component{
return(
<div className="main">
<div className="topWrapper">
<Nav {...this.props} {...this.state}/>
<Link to={`/projects/${projectsId}/orders/new`} className="topWrapper_btn">创建工单</Link>
</div>
<div className="topWrapper">
<Nav {...this.props} {...this.state}/>
{
data && data.user_permission ?
<Link to={`/projects/${projectsId}/orders/new`} className="topWrapper_btn">创建工单</Link>
: ''
}
</div>
<div>
<div className="detailContent">
<p>

View File

@ -173,21 +173,7 @@ class Milepost extends Component{
if(data && data.versions && data.versions.length>0 ){
return(
<div>
<div className="topWrapper">
<div className="topWrapper_type">
<li className={openselect ? "active":""} onClick={()=>this.opneMilelist(1)}>{data && data.open_count}个开启中</li>
<li className={closeselect ? "active":""} onClick={()=>this.opneMilelist(2)}>{data && data.closed_count}个已关闭</li>
{/* <span onClick={this.opneMilelist}>{ data && data.open_count }</span>
<span onClick={this.closeMilelist}>{ data && data.closed_count }已关闭</span> */}
</div>
<ul className="topWrapper_select">
<li>
<Dropdown className="topWrapperSelect" overlay={menu} trigger={['click']} placement="bottomCenter">
<span>排序<Icon type="caret-down" className="ml5" /></span>
</Dropdown>
</li>
</ul>
</div>
<div className="tagList">
{
data.versions.map((item,key)=>{
@ -292,6 +278,21 @@ class Milepost extends Component{
<span>里程碑{ data && data.issue_tags_count }已创建</span>
</div>
</div>
<div className="topWrapper">
<div className="topWrapper_type">
<li className={openselect ? "active":""} onClick={()=>this.opneMilelist(1)}>{data && data.open_count ? data.open_count : 0}个开启中</li>
<li className={closeselect ? "active":""} onClick={()=>this.opneMilelist(2)}>{data && data.closed_count ? data.closed_count : 0}个已关闭</li>
{/* <span onClick={this.opneMilelist}>{ data && data.open_count }</span>
<span onClick={this.closeMilelist}>{ data && data.closed_count }已关闭</span> */}
</div>
<ul className="topWrapper_select">
<li>
<Dropdown className="topWrapperSelect" overlay={menu} trigger={['click']} placement="bottomCenter">
<span>排序<Icon type="caret-down" className="ml5" /></span>
</Dropdown>
</li>
</ul>
</div>
{ renderList()}
{ Paginations }

View File

@ -464,6 +464,7 @@
flex-wrap: wrap;
}
.issue-tag-show{padding: 3px 8px; color: #fff; border-radius: 6px;}
.journal-list-item{padding: 12px 15px}
/*.DetailRight > p >span:nth-child(1){*/
/*min-width: 90px;*/

View File

@ -140,8 +140,9 @@ class Collaborator extends Component{
onOk:()=>{
const { project_id } = this.props;
const url = `/projects/${project_id}/members/remove.json`;
axios.delete(url,{
user_id:id
axios.delete(url,{ data: {
user_id:id
}
}).then(result=>{
if(result){
this.setState({

View File

@ -70,59 +70,69 @@ class version extends Component{
<div>{
data.releases.map((item,key)=>{
return(
<div>
<div style={{display:'flex'}}>
<div className="versionleft">
  <div className="versionrighe"></div><span  className={item&&item.draft===""?"opendversionetail":"closedversionetail"} style={{marginTop:5,margin:'auto',marginRight:15}}>{item.draft} </span>
</div>
<div className="version_line_one">
<p className="versionrectangle"> </p>
</div>
{
data && data.user_permission ?
<div className="versionrighe">
<h1 style={{marginLeft:15,marginTop:5}}>{item.name}<Link to={`/projects/${projectsId}/version/${item.version_id}/upversion`} style={{color:'blue',fontSize:10,marginLeft:5}}>(编辑)</Link> </h1>
</div>
: ''
}
<div key={key}>
{
item && item.id ?
<div>
<div style={{display:'flex'}}>
<div className="versionleft">
<div className="versionrighe"></div><span  className={item&&item.draft===""?"opendversionetail":"closedversionetail"} style={{marginTop:5,margin:'auto',marginRight:15}}>{item.draft} </span>
</div>
<div className="version_line_one">
<p className="versionrectangle"> </p>
</div>
<div className="versionrighe">
<h1 style={{marginLeft:15,marginTop:5}}>{item.name}
{
data && data.user_permission ?
<Link to={`/projects/${projectsId}/version/${item.version_id}/upversion`} style={{color:'blue',fontSize:10,marginLeft:5}}>(编辑)</Link>
: ''
}
</h1>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
 <span style={{marginTop:5,margin:'auto',marginRight:15}}>{item.tag_name} </span>
</div>
<div className="version_line_one">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
<h5 style={{marginLeft:15,marginTop:10}}>{item.body} </h5>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
 <span style={{marginTop:5,marginRight:15}}></span>
</div>
<div className="version_line_tpw">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
<h1 style={{marginLeft:15,marginTop:10}}>下载附件 
</h1>
  <a href={item.zipball_url} download="源代码(ZIP)" style={{color:'blue',marginLeft:15}}>源代码(ZIP)</a>
<a href={item.tarball_url} download="源文件(TAR.GZ)" style={{color:'blue',marginLeft:15}}>源文件(TAR.GZ)</a>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
 <span style={{marginTop:5,marginRight:15}}></span>
</div>
<div className="version_line_tpw">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
</div>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
<span style={{marginTop:5,margin:'auto',marginRight:15}}>{item.tag_name} </span>
</div>
<div className="version_line_one">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
<h5 style={{marginLeft:15,marginTop:10}}>{item.body} </h5>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
<span style={{marginTop:5,marginRight:15}}></span>
</div>
<div className="version_line_tpw">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
<h1 style={{marginLeft:15,marginTop:10}}>下载附件
</h1>
<a href={item.zipball_url} download="源代码(ZIP)" style={{color:'blue',marginLeft:15}}>源代码(ZIP)</a>
<a href={item.tarball_url} download="源文件(TAR.GZ)" style={{color:'blue',marginLeft:15}}>源文件(TAR.GZ)</a>
</div>
</div>
<div style={{display:'flex'}}>
<div className="versionleft">
<span style={{marginTop:5,marginRight:15}}></span>
</div>
<div className="version_line_tpw">
<p style={{width:4}}> </p>
</div>
<div className="versionrighe">
</div>
</div>
</div>
:
""
}
</div>
)
})