Browse Source

init

master
npmrun 5 years ago
parent
commit
3ebe790db9
  1. 2
      .gitignore
  2. 28
      .idea/codeStyles/Project.xml
  3. 6
      .idea/compiler.xml
  4. 458
      .idea/dbnavigator.xml
  5. 6
      .idea/inspectionProfiles/Project_Default.xml
  6. 6
      .idea/vcs.xml
  7. 86
      .idea/workspace.xml
  8. 33
      config-overrides.js
  9. 20
      src/assets/scss/_index.scss
  10. 15
      src/ui/footer/index.js
  11. 75
      src/views/App.js
  12. 8
      src/views/App.scss
  13. 9
      src/views/App.test.js

2
.gitignore

@ -5,6 +5,8 @@
/.pnp
.pnp.js
.idea
# testing
/coverage

28
.idea/codeStyles/Project.xml

@ -0,0 +1,28 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<DBN-PSQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false" />
</DBN-PSQL>
<DBN-SQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false">
<option name="STATEMENT_SPACING" value="one_line" />
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings>
</DBN-SQL>
</code_scheme>
</component>

6
.idea/compiler.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="TypeScriptCompiler">
<option name="showAllErrors" value="true" />
</component>
</project>

458
.idea/dbnavigator.xml

@ -0,0 +1,458 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DBNavigator.Project.DataEditorManager">
<record-view-column-sorting-type value="BY_INDEX" />
<value-preview-text-wrapping value="true" />
<value-preview-pinned value="false" />
</component>
<component name="DBNavigator.Project.DataExportManager">
<export-instructions>
<create-header value="true" />
<quote-values-containing-separator value="true" />
<quote-all-values value="false" />
<value-separator value="" />
<file-name value="" />
<file-location value="" />
<scope value="GLOBAL" />
<destination value="FILE" />
<format value="EXCEL" />
<charset value="GBK" />
</export-instructions>
</component>
<component name="DBNavigator.Project.DatabaseBrowserManager">
<autoscroll-to-editor value="false" />
<autoscroll-from-editor value="true" />
<show-object-properties value="true" />
<loaded-nodes />
</component>
<component name="DBNavigator.Project.DatabaseFileManager">
<open-files />
</component>
<component name="DBNavigator.Project.EditorStateManager">
<last-used-providers />
</component>
<component name="DBNavigator.Project.MethodExecutionManager">
<method-browser />
<execution-history>
<group-entries value="true" />
<execution-inputs />
</execution-history>
<argument-values-cache />
</component>
<component name="DBNavigator.Project.ObjectDependencyManager">
<last-used-dependency-type value="INCOMING" />
</component>
<component name="DBNavigator.Project.ObjectQuickFilterManager">
<last-used-operator value="EQUAL" />
<filters />
</component>
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
<recently-used-interfaces />
</component>
<component name="DBNavigator.Project.Settings">
<connections />
<browser-settings>
<general>
<display-mode value="TABBED" />
<navigation-history-size value="100" />
<show-object-details value="false" />
</general>
<filters>
<object-type-filter>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="true" />
<object-type name="ROLE" enabled="true" />
<object-type name="PRIVILEGE" enabled="true" />
<object-type name="CHARSET" enabled="true" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="MATERIALIZED_VIEW" enabled="true" />
<object-type name="NESTED_TABLE" enabled="true" />
<object-type name="COLUMN" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET_TRIGGER" enabled="true" />
<object-type name="DATABASE_TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="true" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
<object-type name="ARGUMENT" enabled="true" />
<object-type name="DIMENSION" enabled="true" />
<object-type name="CLUSTER" enabled="true" />
<object-type name="DBLINK" enabled="true" />
</object-type-filter>
</filters>
<sorting>
<object-type name="COLUMN" sorting-type="NAME" />
<object-type name="FUNCTION" sorting-type="NAME" />
<object-type name="PROCEDURE" sorting-type="NAME" />
<object-type name="ARGUMENT" sorting-type="POSITION" />
</sorting>
<default-editors>
<object-type name="VIEW" editor-type="SELECTION" />
<object-type name="PACKAGE" editor-type="SELECTION" />
<object-type name="TYPE" editor-type="SELECTION" />
</default-editors>
</browser-settings>
<navigation-settings>
<lookup-filters>
<lookup-objects>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="false" />
<object-type name="ROLE" enabled="false" />
<object-type name="PRIVILEGE" enabled="false" />
<object-type name="CHARSET" enabled="false" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="MATERIALIZED VIEW" enabled="true" />
<object-type name="NESTED TABLE" enabled="false" />
<object-type name="COLUMN" enabled="false" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET TRIGGER" enabled="true" />
<object-type name="DATABASE TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="false" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="TYPE ATTRIBUTE" enabled="false" />
<object-type name="ARGUMENT" enabled="false" />
<object-type name="DIMENSION" enabled="false" />
<object-type name="CLUSTER" enabled="false" />
<object-type name="DBLINK" enabled="true" />
</lookup-objects>
<force-database-load value="false" />
<prompt-connection-selection value="true" />
<prompt-schema-selection value="true" />
</lookup-filters>
</navigation-settings>
<dataset-grid-settings>
<general>
<enable-zooming value="true" />
<enable-column-tooltip value="true" />
</general>
<sorting>
<nulls-first value="true" />
<max-sorting-columns value="4" />
</sorting>
<tracking-columns>
<columnNames value="" />
<visible value="true" />
<editable value="false" />
</tracking-columns>
</dataset-grid-settings>
<dataset-editor-settings>
<text-editor-popup>
<active value="false" />
<active-if-empty value="false" />
<data-length-threshold value="100" />
<popup-delay value="1000" />
</text-editor-popup>
<values-actions-popup>
<show-popup-button value="true" />
<element-count-threshold value="1000" />
<data-length-threshold value="250" />
</values-actions-popup>
<general>
<fetch-block-size value="100" />
<fetch-timeout value="30" />
<trim-whitespaces value="true" />
<convert-empty-strings-to-null value="true" />
<select-content-on-cell-edit value="true" />
<large-value-preview-active value="true" />
</general>
<filters>
<prompt-filter-dialog value="true" />
<default-filter-type value="BASIC" />
</filters>
<qualified-text-editor text-length-threshold="300">
<content-types>
<content-type name="Text" enabled="true" />
<content-type name="XML" enabled="true" />
<content-type name="DTD" enabled="true" />
<content-type name="HTML" enabled="true" />
<content-type name="XHTML" enabled="true" />
<content-type name="CSS" enabled="true" />
<content-type name="SQL" enabled="true" />
<content-type name="PL/SQL" enabled="true" />
<content-type name="JavaScript" enabled="true" />
<content-type name="JSON" enabled="true" />
<content-type name="JSON5" enabled="true" />
<content-type name="JSP" enabled="true" />
<content-type name="JSPx" enabled="true" />
<content-type name="ASP" enabled="true" />
<content-type name="YAML" enabled="true" />
</content-types>
</qualified-text-editor>
<record-navigation>
<navigation-target value="VIEWER" />
</record-navigation>
</dataset-editor-settings>
<code-editor-settings>
<general>
<show-object-navigation-gutter value="false" />
<show-spec-declaration-navigation-gutter value="true" />
<enable-spellchecking value="true" />
<enable-reference-spellchecking value="false" />
</general>
<confirmations>
<save-changes value="false" />
<revert-changes value="true" />
</confirmations>
</code-editor-settings>
<code-completion-settings>
<filters>
<basic-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="false" />
<filter-element type="OBJECT" id="view" selected="false" />
<filter-element type="OBJECT" id="materialized view" selected="false" />
<filter-element type="OBJECT" id="index" selected="false" />
<filter-element type="OBJECT" id="constraint" selected="false" />
<filter-element type="OBJECT" id="trigger" selected="false" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="false" />
<filter-element type="OBJECT" id="procedure" selected="false" />
<filter-element type="OBJECT" id="function" selected="false" />
<filter-element type="OBJECT" id="package" selected="false" />
<filter-element type="OBJECT" id="type" selected="false" />
<filter-element type="OBJECT" id="dimension" selected="false" />
<filter-element type="OBJECT" id="cluster" selected="false" />
<filter-element type="OBJECT" id="dblink" selected="false" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</basic-filter>
<extended-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</extended-filter>
</filters>
<sorting enabled="true">
<sorting-element type="RESERVED_WORD" id="keyword" />
<sorting-element type="RESERVED_WORD" id="datatype" />
<sorting-element type="OBJECT" id="column" />
<sorting-element type="OBJECT" id="table" />
<sorting-element type="OBJECT" id="view" />
<sorting-element type="OBJECT" id="materialized view" />
<sorting-element type="OBJECT" id="index" />
<sorting-element type="OBJECT" id="constraint" />
<sorting-element type="OBJECT" id="trigger" />
<sorting-element type="OBJECT" id="synonym" />
<sorting-element type="OBJECT" id="sequence" />
<sorting-element type="OBJECT" id="procedure" />
<sorting-element type="OBJECT" id="function" />
<sorting-element type="OBJECT" id="package" />
<sorting-element type="OBJECT" id="type" />
<sorting-element type="OBJECT" id="dimension" />
<sorting-element type="OBJECT" id="cluster" />
<sorting-element type="OBJECT" id="dblink" />
<sorting-element type="OBJECT" id="schema" />
<sorting-element type="OBJECT" id="role" />
<sorting-element type="OBJECT" id="user" />
<sorting-element type="RESERVED_WORD" id="function" />
<sorting-element type="RESERVED_WORD" id="parameter" />
</sorting>
<format>
<enforce-code-style-case value="true" />
</format>
</code-completion-settings>
<execution-engine-settings>
<statement-execution>
<fetch-block-size value="100" />
<execution-timeout value="20" />
<debug-execution-timeout value="600" />
<focus-result value="false" />
<prompt-execution value="false" />
</statement-execution>
<script-execution>
<command-line-interfaces />
<execution-timeout value="300" />
</script-execution>
<method-execution>
<execution-timeout value="30" />
<debug-execution-timeout value="600" />
<parameter-history-size value="10" />
</method-execution>
</execution-engine-settings>
<operation-settings>
<transactions>
<uncommitted-changes>
<on-project-close value="ASK" />
<on-disconnect value="ASK" />
<on-autocommit-toggle value="ASK" />
</uncommitted-changes>
<multiple-uncommitted-changes>
<on-commit value="ASK" />
<on-rollback value="ASK" />
</multiple-uncommitted-changes>
</transactions>
<session-browser>
<disconnect-session value="ASK" />
<kill-session value="ASK" />
<reload-on-filter-change value="false" />
</session-browser>
<compiler>
<compile-type value="KEEP" />
<compile-dependencies value="ASK" />
<always-show-controls value="false" />
</compiler>
<debugger>
<debugger-type value="JDBC" />
<use-generic-runners value="true" />
</debugger>
</operation-settings>
<ddl-file-settings>
<extensions>
<mapping file-type-id="VIEW" extensions="vw" />
<mapping file-type-id="TRIGGER" extensions="trg" />
<mapping file-type-id="PROCEDURE" extensions="prc" />
<mapping file-type-id="FUNCTION" extensions="fnc" />
<mapping file-type-id="PACKAGE" extensions="pkg" />
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
<mapping file-type-id="TYPE" extensions="tpe" />
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
</extensions>
<general>
<lookup-ddl-files value="true" />
<create-ddl-files value="false" />
<synchronize-ddl-files value="true" />
<use-qualified-names value="false" />
<make-scripts-rerunnable value="true" />
</general>
</ddl-file-settings>
<general-settings>
<regional-settings>
<date-format value="MEDIUM" />
<number-format value="UNGROUPED" />
<locale value="SYSTEM_DEFAULT" />
<use-custom-formats value="false" />
</regional-settings>
<environment>
<environment-types>
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
</environment-types>
<visibility-settings>
<connection-tabs value="true" />
<dialog-headers value="true" />
<object-editor-tabs value="true" />
<script-editor-tabs value="false" />
<execution-result-tabs value="true" />
</visibility-settings>
</environment>
</general-settings>
</component>
<component name="DBNavigator.Project.StatementExecutionManager">
<execution-variables />
</component>
</project>

6
.idea/inspectionProfiles/Project_Default.xml

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

6
.idea/vcs.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

86
.idea/workspace.xml

@ -1,23 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9b17c4a1-b7df-4634-9e4b-b92fbf098d8e" name="Default Changelist" comment="">
<list default="true" id="9b17c4a1-b7df-4634-9e4b-b92fbf098d8e" name="Default Changelist" comment="init">
<change afterPath="$PROJECT_DIR$/.idea/codeStyles/Project.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/dbnavigator.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/config-overrides.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/assets/scss/_index.scss" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/ui/footer/index.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/views/App.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/views/App.scss" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/views/App.test.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/App.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/App.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/App.test.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/App.test.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/index.css" beforeDir="false" afterPath="$PROJECT_DIR$/src/assets/scss/_index.scss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/logo.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/serviceWorker.js" beforeDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -31,14 +28,13 @@
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$USER_HOME$/Desktop/WOW/x_cloud" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.standard" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
@ -85,6 +81,7 @@
<recent_temporary>
<list>
<item itemvalue="npm.build" />
<item itemvalue="npm.build" />
</list>
</recent_temporary>
</component>
@ -106,57 +103,98 @@
<workItem from="1584683931540" duration="5492000" />
<workItem from="1584707519054" duration="1358000" />
<workItem from="1584709894981" duration="629000" />
<workItem from="1584976443550" duration="374000" />
<workItem from="1587287096480" duration="689000" />
<workItem from="1590551333219" duration="405000" />
<workItem from="1590645453678" duration="200000" />
<workItem from="1590645957967" duration="7000" />
<workItem from="1590645974027" duration="195000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
<option name="version" value="2" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="init" />
<option name="LAST_COMMIT_MESSAGE" value="init" />
</component>
<component name="WindowStateProjectService">
<state x="552" y="186" key="#ESLint" timestamp="1584543157816">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="552" y="186" key="#ESLint/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584543157816" />
<state x="521" y="122" key="CommitChangelistDialog2" timestamp="1584710870649">
<state x="552" y="165" key="#Plugins" timestamp="1590645979124">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="552" y="165" key="#Plugins/0.0.1920.1050@0.0.1920.1050" timestamp="1590645979124" />
<state x="521" y="122" key="CommitChangelistDialog2" timestamp="1590646164307">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="521" y="122" key="CommitChangelistDialog2/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584710870649" />
<state x="740" y="282" key="FileChooserDialogImpl" timestamp="1584708875464">
<state x="521" y="122" key="CommitChangelistDialog2/0.0.1920.1050@0.0.1920.1050" timestamp="1590646164307" />
<state x="92" y="92" width="1736" height="866" key="DiffContextDialog" timestamp="1590646162197">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="92" y="92" width="1736" height="866" key="DiffContextDialog/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584711249157" />
<state x="92" y="92" key="DiffContextDialog/0.0.1920.1050@0.0.1920.1050" timestamp="1590646162197" />
<state x="740" y="282" key="FileChooserDialogImpl" timestamp="1584976805581">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="740" y="282" key="FileChooserDialogImpl/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584708875464" />
<state width="948" height="134" key="GridCell.Tab.0.bottom" timestamp="1584708877870">
<state x="740" y="282" key="FileChooserDialogImpl/0.0.1920.1050@0.0.1920.1050" timestamp="1584976805581" />
<state width="1877" height="134" key="GridCell.Tab.0.bottom" timestamp="1587289546942">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state width="948" height="134" key="GridCell.Tab.0.bottom/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584708877870" />
<state width="1877" height="134" key="GridCell.Tab.0.bottom/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1587289546942" />
<state width="948" height="134" key="GridCell.Tab.0.bottom/0.0.1920.1050/1920.-252.2048.1122@0.0.1920.1050" timestamp="1584699038654" />
<state width="1899" height="134" key="GridCell.Tab.0.bottom/0.0.1920.1050@0.0.1920.1050" timestamp="1584605051750" />
<state width="948" height="134" key="GridCell.Tab.0.center" timestamp="1584708877870">
<state width="1877" height="134" key="GridCell.Tab.0.center" timestamp="1587289546942">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state width="948" height="134" key="GridCell.Tab.0.center/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584708877870" />
<state width="1877" height="134" key="GridCell.Tab.0.center/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1587289546942" />
<state width="948" height="134" key="GridCell.Tab.0.center/0.0.1920.1050/1920.-252.2048.1122@0.0.1920.1050" timestamp="1584699038654" />
<state width="1899" height="134" key="GridCell.Tab.0.center/0.0.1920.1050@0.0.1920.1050" timestamp="1584605051750" />
<state width="948" height="134" key="GridCell.Tab.0.left" timestamp="1584708877870">
<state width="1877" height="134" key="GridCell.Tab.0.left" timestamp="1587289546941">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state width="948" height="134" key="GridCell.Tab.0.left/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584708877870" />
<state width="1877" height="134" key="GridCell.Tab.0.left/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1587289546941" />
<state width="948" height="134" key="GridCell.Tab.0.left/0.0.1920.1050/1920.-252.2048.1122@0.0.1920.1050" timestamp="1584699038654" />
<state width="1899" height="134" key="GridCell.Tab.0.left/0.0.1920.1050@0.0.1920.1050" timestamp="1584605051750" />
<state width="948" height="134" key="GridCell.Tab.0.right" timestamp="1584708877870">
<state width="1877" height="134" key="GridCell.Tab.0.right" timestamp="1587289546942">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state width="948" height="134" key="GridCell.Tab.0.right/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584708877870" />
<state width="1877" height="134" key="GridCell.Tab.0.right/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1587289546942" />
<state width="948" height="134" key="GridCell.Tab.0.right/0.0.1920.1050/1920.-252.2048.1122@0.0.1920.1050" timestamp="1584699038654" />
<state width="1899" height="134" key="GridCell.Tab.0.right/0.0.1920.1050@0.0.1920.1050" timestamp="1584605051750" />
<state x="702" y="231" key="VCS.ChangeListViewerDialog" timestamp="1584710886583">
<state x="702" y="231" key="VCS.ChangeListViewerDialog" timestamp="1584711216863">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="702" y="231" key="VCS.ChangeListViewerDialog/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584710886583" />
<state x="702" y="231" key="VCS.ChangeListViewerDialog/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584711216863" />
<state x="652" y="352" key="com.intellij.ide.util.TipDialog" timestamp="1584683945424">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="652" y="352" key="com.intellij.ide.util.TipDialog/0.0.1920.1050/1920.-252.2048.1122@0.0.1920.1050" timestamp="1584683945424" />
<state x="789" y="403" key="git4idea.rebase.GitRebaseDialog" timestamp="1584711217991">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="789" y="403" key="git4idea.rebase.GitRebaseDialog/0.0.1920.1050/-1025.-2160.2560.1409@0.0.1920.1050" timestamp="1584711217991" />
<state x="761" y="431" key="git4idea.remote.GitConfigureRemotesDialog" timestamp="1590646089823">
<screen x="0" y="0" width="1920" height="1050" />
</state>
<state x="761" y="431" key="git4idea.remote.GitConfigureRemotesDialog/0.0.1920.1050@0.0.1920.1050" timestamp="1590646089823" />
<state x="771" y="430" key="git4idea.ui.GitResetDialog" timestamp="1584710900642">
<screen x="0" y="0" width="1920" height="1050" />
</state>

33
config-overrides.js

@ -0,0 +1,33 @@
const path = require("path")
const {
override,
addWebpackModuleRule,
addWebpackAlias,
// setWebpackPublicPath,
fixBabelImports,
} = require("customize-cra");
const resolve = (rootpath) => {
return path.resolve(rootpath)
}
module.exports = override(
// setWebpackPublicPath('/'),
addWebpackAlias({
["@"]: resolve("src")
}),
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: 'css',
}),
addWebpackModuleRule({
test: /\.scss$/,
loaders: ['style-loader', 'css-loader', 'sass-loader', {
loader: 'sass-resources-loader',
options: {
resources: ['./src/assets/scss/_index.scss']
},
}]
},)
)

20
src/assets/scss/_index.scss

@ -0,0 +1,20 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
#root{
overflow: auto;
max-width: 720px;
margin: 0 auto;
}

15
src/ui/footer/index.js

@ -0,0 +1,15 @@
import React, {Component} from "react"
export default class Footer extends Component {
constructor(props) {
super(props);
console.log("fuck")
}
render() {
return (
<div className="footer" style={{color:"red"}}>gfhfg</div>
);
}
}

75
src/views/App.js

@ -0,0 +1,75 @@
import React, {Fragment} from 'react';
import Footer from "@/ui/footer"
import {Input, List, Popconfirm} from 'antd';
import "./App.scss"
const {Search} = Input;
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
val: "",
list: []
}
// let that = this;
this.onSearch = this.onSearch.bind(this);
}
onSearch(val) {
if (val) {
let list = [...this.state.list, val];
this.setState({
list,
val: ''
})
}
}
onHandleDel=(index)=>{
let list = [...this.state.list];
list.splice(index, 1)
this.setState({
list
})
}
render() {
return (
<Fragment>
<Footer></Footer>
<div className="todolist__input">
<Search
allowClear
placeholder="input search text"
enterButton="ADD"
value={this.state.val}
size="large"
onChange={e => this.setState({val: e.value})}
onSearch={this.onSearch}
/>
</div>
<div className="todolist__item">
<List
itemLayout="horizontal"
dataSource={this.state.list}
renderItem={(item, index) => (
<Popconfirm placement="bottom" title={'删除该条目?' + item}
onConfirm={this.onHandleDel.bind(this,index)}
okText="Yes" cancelText="No">
<List.Item>
<List.Item.Meta
// avatar={<Avatar src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />}
title={<div>{item}</div>}
// description="Ant Design, a design language for background applications, is refined by Ant UED Team"
/>
</List.Item>
</Popconfirm>
)}
/>
</div>
</Fragment>
)
}
};

8
src/views/App.scss

@ -0,0 +1,8 @@
$todo: todolist;
.#{$todo}__input{
margin: 20px;
}
.#{$todo}__item{
margin: 20px;
}

9
src/views/App.test.js

@ -0,0 +1,9 @@
import React from 'react';
import { render } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
const { getByText } = render(<App />);
const linkElement = getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
Loading…
Cancel
Save