Skip to content

Commit

Permalink
Merge pull request #90 from shehan360/alpha5-changes
Browse files Browse the repository at this point in the history
Remove package concept, builtintypes, keyowords
  • Loading branch information
Shehan Avishka Panditharatne authored Apr 17, 2021
2 parents da1f2bf + c44fdc8 commit 8604001
Show file tree
Hide file tree
Showing 22 changed files with 261 additions and 502 deletions.
53 changes: 10 additions & 43 deletions docerina-ui/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,43 +22,36 @@ import {
Route,
Switch
} from "react-router-dom";
import PackageIndex from "./component/packageindex";
import Builtin from "./component/builtin"
import Keyword from "./component/keyword"
import Package from "./Package";
import ModuleIndex from "./component/moduleindex";
import Module from "./Module";

class App extends React.Component {
constructor(props) {
super(props);
this.state = {
packages: null,
modules: null,
searchData: null,
packageDescription: null,
builtinTypes: null,
keywords: null
packageDescription: null
};
}

componentDidMount() {
this.setState({
packages: this.props.data.docsData.packages,
searchData: this.props.data.searchData,
builtinTypes: this.props.data.docsData.builtinTypes,
keywords: this.props.data.docsData.keywords
modules: this.props.data.docsData.modules,
langLibs: this.props.data.docsData.langLibs,
searchData: this.props.data.searchData
});
}


render() {
return (
<section className="App">
{this.state.packages != null && this.state.searchData != null &&
{this.state.modules != null && this.state.searchData != null &&
<Router>
<Switch>
<Route exact path="/" render={(props) => (<PackageIndex {...props} packages={this.state.packages} searchData={this.state.searchData} releaseDescription={this.props.data.docsData.description} builtinTypes={this.state.builtinTypes} keywords={this.state.keywords} releaseVersion={this.props.data.docsData.releaseVersion} ballerinaShortVersion={this.props.data.docsData.releaseShortVersion} />)} />
<Route exact path="/builtin/:balVersion/:type" render={(props) => (<FindBuiltinType {...props} builtinTypes={this.state.builtinTypes} packages={this.state.packages} searchData={this.state.searchData} ballerinaShortVersion={this.props.data.docsData.releaseShortVersion} />)} />
<Route exact path="/keywords/:balVersion/:type" render={(props) => (<FindKeyword {...props} keywords={this.props.data.docsData.keywords} packages={this.state.packages} searchData={this.state.searchData} />)} />
<Route path="/:orgName/:packageName/:version" render={(props) => (<Package {...props} packages={this.state.packages} searchData={this.state.searchData} />)} />
<Route exact path="/" render={(props) => (<ModuleIndex {...props} modules={this.state.modules} langLibs={this.state.langLibs} searchData={this.state.searchData} releaseDescription={this.props.data.docsData.description} releaseVersion={this.props.data.docsData.releaseVersion} ballerinaShortVersion={this.props.data.docsData.releaseShortVersion} />)} />
<Route path="/:orgName/:moduleName/:version" render={(props) => (<Module {...props} modules={this.state.modules} langLibs={this.state.langLibs} searchData={this.state.searchData} />)} />
</Switch>

</Router>
Expand All @@ -69,30 +62,4 @@ class App extends React.Component {
}
}

const FindBuiltinType = (props) => {
let builtinType = props.builtinTypes.filter((item) => {
return item.name == props.match.params.type;
})[0]

var langlib = null;

if (builtinType.langlib != null) {
langlib = props.packages.filter((item) => {
return item.name == builtinType.langlib.name;
})[0].modules[0]
}

return <Builtin {...props} builtinType={builtinType} langlib={langlib} ballerinaShortVersion={props.ballerinaShortVersion} />

}

const FindKeyword = (props) => {
let builtinType = props.keywords.filter((item) => {
return item.name == props.match.params.type;
})[0]

return <Keyword {...props} builtinType={builtinType}/>

}

export default App;
33 changes: 14 additions & 19 deletions docerina-ui/src/Module.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,34 +34,29 @@ import NotFound from "./component/notfound"

const Module = (parentProps) => {

// If no module name is present, use the default module
if (parentProps.match.params.moduleName == null) {
parentProps.match.params.moduleName = parentProps.match.params.packageName;
}

let module = parentProps.package.modules.filter((item) => {
let modules = parentProps.modules.concat(parentProps.langLibs)
let module = modules.filter((item) => {
return item.id == (parentProps.match.params.moduleName);
})[0];

return (
<>
{module != null &&
<Switch>
<Route exact path="/:orgName/:packageName/:version/" render={(props) => (<ModuleView {...props} package={parentProps.package} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName" render={(props) => (<ModuleView {...props} package={parentProps.package} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/" render={(props) => (<ModuleView {...props} module={module} searchData={parentProps.searchData} />)} />

<Route exact path="/:orgName/:packageName/:version/:moduleName/records/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="records" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/classes/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="classes" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/objectTypes/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="objectTypes" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/clients/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="clients" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/listeners/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="listeners" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/enums/:constructName" render={(props) => (<FindConstruct {...props} package={parentProps.package} module={module} pageType="enums" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/records/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="records" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/classes/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="classes" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/objectTypes/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="objectTypes" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/clients/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="clients" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/listeners/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="listeners" searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/enums/:constructName" render={(props) => (<FindConstruct {...props} module={module} pageType="enums" searchData={parentProps.searchData} />)} />

<Route exact path="/:orgName/:packageName/:version/:moduleName/functions" render={(props) => (<Functions {...props} package={parentProps.package} functions={module.functions} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/types" render={(props) => (<Types {...props} package={parentProps.package} types={module.types} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/errors" render={(props) => (<Errors {...props} package={parentProps.package} errors={module.errors} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/constants" render={(props) => (<Constants {...props} package={parentProps.package} constants={module.constants} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:packageName/:version/:moduleName/annotations" render={(props) => (<Annotations {...props} package={parentProps.package} annotations={module.annotations} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/functions" render={(props) => (<Functions {...props} functions={module.functions} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/types" render={(props) => (<Types {...props} types={module.types} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/errors" render={(props) => (<Errors {...props} errors={module.errors} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/constants" render={(props) => (<Constants {...props} constants={module.constants} module={module} searchData={parentProps.searchData} />)} />
<Route exact path="/:orgName/:moduleName/:version/annotations" render={(props) => (<Annotations {...props} annotations={module.annotations} module={module} searchData={parentProps.searchData} />)} />
<Route render={(props) => (<NotFound {...parentProps} />)} />
</Switch>
}
Expand Down
44 changes: 0 additions & 44 deletions docerina-ui/src/Package.js

This file was deleted.

2 changes: 1 addition & 1 deletion docerina-ui/src/__tests__/api-docs.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docerina-ui/src/__tests__/load_data.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ test('Test data loading for API Docs React App', () => {
render(<App data={docJson}/>, elem);
});

const h1Elem = elem.querySelector('h1'); // <h1>
expect(h1Elem).toHaveTextContent('swan-lake-alpha2');
const h2Elem = elem.querySelector('h2'); // <h1>
expect(h2Elem).toHaveTextContent('Language Libraries');
});
86 changes: 0 additions & 86 deletions docerina-ui/src/component/builtin.js

This file was deleted.

Loading

0 comments on commit 8604001

Please sign in to comment.